com.sun.slamd.protocol
Class ClassTransferRequest

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

public class ClassTransferRequest
extends SLAMDMessage

This class defines a SLAMD message that will be sent from the client to the server whenever the client receives a request to process a job using a class that has not been defined on the client. It can include multiple classes.

Author:
Neil A. Wilson

Constructor Summary
ClassTransferRequest()
          Creates a new instance of this class transfer request message which is intended for use in decoding a message transmitted between the server and the client.
ClassTransferRequest(int messageID, java.util.HashMap extraProperties, java.lang.String[] classNames, boolean includeDependencies)
          Creates a new instance of this class transfer request 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[] getClassNames()
          Retrieves the names of the classes that have been requested by the client.
 boolean getIncludeDependencies()
          Indicates whether the server should include any dependencies associated with the requested classes.
 void payloadToString(java.lang.StringBuffer buffer, int indent)
          Appends a string representation of the payload for this SLAMD message to the provided buffer.
 void setClassNames(java.lang.String[] classNames)
          Specifies the names of the classes that have been requested by the client.
 void setIncludeDependencies(boolean includeDependencies)
          Specifies whether the server should include any dependencies associated with the requested classes.
 
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

ClassTransferRequest

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


ClassTransferRequest

public ClassTransferRequest(int messageID,
                            java.util.HashMap extraProperties,
                            java.lang.String[] classNames,
                            boolean includeDependencies)
Creates a new instance of this class transfer request 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.
classNames - The names of the classes that have been requested by the client.
includeDependencies - Indicates whether the server should also include any dependencies associated with the requested classes.
Method Detail

getClassNames

public java.lang.String[] getClassNames()
Retrieves the names of the classes that have been requested by the client.

Returns:
The names of the classes that have been requested by the client.

setClassNames

public void setClassNames(java.lang.String[] classNames)
Specifies the names of the classes that have been requested by the client.

Parameters:
classNames - The names of the classes that have been requested by the client.

getIncludeDependencies

public boolean getIncludeDependencies()
Indicates whether the server should include any dependencies associated with the requested classes.

Returns:
true if the server should include any dependencies associated with the requested classes, or false if not.

setIncludeDependencies

public void setIncludeDependencies(boolean includeDependencies)
Specifies whether the server should include any dependencies associated with the requested classes.

Parameters:
includeDependencies - Specifies whether the server should include any dependencies with the requested classes.

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.