com.sun.slamd.protocol
Class ClientDisconnect

java.lang.Object
  extended by com.sun.slamd.protocol.SLAMDMessage
      extended by com.sun.slamd.protocol.ClientDisconnect

public class ClientDisconnect
extends SLAMDMessage

The class defines a SLAMD message that may be sent from a client to the server immediately before the client closes the connection. It can include a disconnect reason.

Author:
Neil A. Wilson

Constructor Summary
ClientDisconnect()
          Creates a new instance of this client disconnect message which is intended for use in decoding a message transmitted between the server and the client.
ClientDisconnect(int messageID, java.util.HashMap extraProperties, java.lang.String disconnectReason)
          Creates a new instance of this client disconnect message with the provided information.
 
Method Summary
 void decodeMessagePayload(ASN1Element payloadElement)
          Decodes the provided ASN.1 element and uses it as the payload for this SLAMD message.
 ASN1Element encodeMessagePayload()
          Encodes the payload component of this SLAMD message to an ASN.1 element for inclusion in the message envelope.
 java.lang.String getDisconnectReason()
          Retrieves the reason that the client has initiated the disconnect process.
 void payloadToString(java.lang.StringBuffer buffer, int indent)
          Appends a string representation of the payload for this SLAMD message to the provided buffer.
 void setDisconnectReason(java.lang.String disconnectReason)
          Specifies the reason that the client has initiated the disconnect process.
 
Methods inherited from class com.sun.slamd.protocol.SLAMDMessage
decode, decodeNameValuePair, decodeNameValuePairSequence, encode, encodeNameValuePair, getExtraProperties, getExtraProperty, getMessageID, toString, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ClientDisconnect

public ClientDisconnect()
Creates a new instance of this client disconnect message which is intended for use in decoding a message transmitted between the server and the client. It is not intended for general use.


ClientDisconnect

public ClientDisconnect(int messageID,
                        java.util.HashMap extraProperties,
                        java.lang.String disconnectReason)
Creates a new instance of this client disconnect message with the provided information.

Parameters:
messageID - The message ID for this SLAMD message.
extraProperties - The "extra" properties for this SLAMD message. Both the names and values for the properties must be strings.
disconnectReason - The reason that the client has initiated the disconnect process.
Method Detail

getDisconnectReason

public java.lang.String getDisconnectReason()
Retrieves the reason that the client has initiated the disconnect process.

Returns:
The reason that the client has initiated the disconnect process, or null if none was provided.

setDisconnectReason

public void setDisconnectReason(java.lang.String disconnectReason)
Specifies the reason that the client has initiated the disconnect process.

Parameters:
disconnectReason - The reason that the client has initiated the disconnect process.

encodeMessagePayload

public ASN1Element encodeMessagePayload()
Encodes the payload component of this SLAMD message to an ASN.1 element for inclusion in the message envelope.

Specified by:
encodeMessagePayload in class SLAMDMessage
Returns:
The ASN.1 element containing the encoded message payload.

decodeMessagePayload

public void decodeMessagePayload(ASN1Element payloadElement)
                          throws SLAMDException
Decodes the provided ASN.1 element and uses it as the payload for this SLAMD message.

Specified by:
decodeMessagePayload in class SLAMDMessage
Parameters:
payloadElement - The ASN.1 element to decode as the payload for this SLAMD message.
Throws:
SLAMDException - If a problem occurs while attempting to decode the provided ASN.1 element as the payload for this SLAMD message.

payloadToString

public void payloadToString(java.lang.StringBuffer buffer,
                            int indent)
Appends a string representation of the payload for this SLAMD message to the provided buffer. The string representation may contain multiple lines, but the last line should not end with an end-of-line marker.

Specified by:
payloadToString in class SLAMDMessage
Parameters:
buffer - The buffer to which the string representation is to be appended.
indent - The number of spaces to indent the payload content.