com.sun.slamd.message
Class ClassTransferResponseMessage

java.lang.Object
  extended by com.sun.slamd.message.Message
      extended by com.sun.slamd.message.ClassTransferResponseMessage

public class ClassTransferResponseMessage
extends Message

This class defines a class transfer response message that the SLAMD server uses to send Java class files to clients that do not have them. The class will be saved locally on the client system so that it is will not be necessary to request it again.

Author:
Neil A. Wilson

Field Summary
 
Fields inherited from class com.sun.slamd.message.Message
ASN1_TYPE_CLASS_TRANSFER_REQUEST, ASN1_TYPE_CLASS_TRANSFER_RESPONSE, ASN1_TYPE_CLIENT_HELLO, ASN1_TYPE_CLIENT_MANAGER_HELLO, ASN1_TYPE_HELLO_RESPONSE, ASN1_TYPE_JOB_COMPLETED, ASN1_TYPE_JOB_CONTROL_REQUEST, ASN1_TYPE_JOB_CONTROL_RESPONSE, ASN1_TYPE_JOB_REQUEST, ASN1_TYPE_JOB_RESPONSE, ASN1_TYPE_KEEPALIVE, ASN1_TYPE_REGISTER_STAT, ASN1_TYPE_REPORT_STAT, ASN1_TYPE_SERVER_HELLO, ASN1_TYPE_SERVER_SHUTDOWN, ASN1_TYPE_START_CLIENT_REQUEST, ASN1_TYPE_START_CLIENT_RESPONSE, ASN1_TYPE_STATUS_REQUEST, ASN1_TYPE_STATUS_RESPONSE, ASN1_TYPE_STOP_CLIENT_REQUEST, ASN1_TYPE_STOP_CLIENT_RESPONSE, messageID
 
Constructor Summary
ClassTransferResponseMessage(int messageID, int responseCode, java.lang.String className, byte[] classData)
          Creates a new class transfer response message with the specified information.
 
Method Summary
static ClassTransferResponseMessage decodeTransferResponse(int messageID, ASN1Element element)
          Decodes the provided ASN.1 element as a class transfer request message.
 ASN1Element encode()
          Encodes this message into an ASN.1 element.
 byte[] getClassData()
          Retrieves the encoded class data associated with this class transfer response.
 java.lang.String getClassName()
          Retrieves the Java class name associated with this class transfer response message.
 int getResponseCode()
          Retrieves the response code associated with this message.
 java.lang.String toString()
          Retrieves a string representation of this message.
 
Methods inherited from class com.sun.slamd.message.Message
decode, getMessageID, getMessageType, send
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ClassTransferResponseMessage

public ClassTransferResponseMessage(int messageID,
                                    int responseCode,
                                    java.lang.String className,
                                    byte[] classData)
Creates a new class transfer response message with the specified information.

Parameters:
messageID - The message ID for this message.
responseCode - The response code that indicates whether the class information has been provided.
className - The name of the class file associated with this class transfer response message.
classData - The encoded class data.
Method Detail

getResponseCode

public int getResponseCode()
Retrieves the response code associated with this message. The value will be that of one of the MESSAGE_RESPONSE_* constants.

Returns:
The response code associated with this response message.

getClassName

public java.lang.String getClassName()
Retrieves the Java class name associated with this class transfer response message.

Returns:
The Java class name associated with this class transfer response message.

getClassData

public byte[] getClassData()
Retrieves the encoded class data associated with this class transfer response.

Returns:
The encoded class data associated with this class transfer response.

toString

public java.lang.String toString()
Retrieves a string representation of this message.

Overrides:
toString in class Message
Returns:
A string representation of this message.

decodeTransferResponse

public static ClassTransferResponseMessage decodeTransferResponse(int messageID,
                                                                  ASN1Element element)
                                                           throws SLAMDException
Decodes the provided ASN.1 element as a class transfer request message.

Parameters:
messageID - The message ID to use for this message.
element - The ASN.1 element containing the encoded class name.
Returns:
The class transfer request message decoded from the ASN.1 element.
Throws:
SLAMDException - If the provided ASN.1 element cannot be decoded as a class transfer request message.

encode

public ASN1Element encode()
Encodes this message into an ASN.1 element. A file transfer response message has the following ASN.1 syntax:

ClassTransferResponse ::= [APPLICATION 13] SEQUENCE { responseCode INTEGER, className OCTET STRING, classData OCTET STRING }

Specified by:
encode in class Message
Returns:
An ASN.1 encoded representation of this message.