net.handle.hdllib
Class AbstractResponse

java.lang.Object
  extended by net.handle.hdllib.AbstractMessage
      extended by net.handle.hdllib.AbstractResponse
All Implemented Interfaces:
java.lang.Cloneable
Direct Known Subclasses:
ChallengeResponse, CreateHandleResponse, DumpHandlesResponse, ErrorResponse, GenericResponse, GetSiteInfoResponse, ListHandlesResponse, ListNAsResponse, NextTxnIdResponse, ResolutionResponse, RetrieveTxnResponse, ServiceReferralResponse, SessionSetupResponse, VerifyAuthResponse

public abstract class AbstractResponse
extends AbstractMessage


Field Summary
 boolean secureStream
           
 java.net.Socket socket
           
 java.io.InputStream stream
           
 boolean streaming
           
 
Fields inherited from class net.handle.hdllib.AbstractMessage
authoritative, cacheCertify, certify, continuous, doNotRefer, encodedMessage, encrypt, expiration, ignoreRestrictedValues, keepAlive, majorProtocolVersion, messageBody, minorProtocolVersion, mintNewSuffix, OC_ADD_VALUE, OC_BACKUP_SERVER, OC_CREATE_HANDLE, OC_DELETE_HANDLE, OC_DUMP_HANDLES, OC_GET_NEXT_TXN_ID, OC_GET_SITE_INFO, OC_HOME_NA, OC_LIST_HANDLES, OC_LIST_HOMED_NAS, OC_MODIFY_VALUE, OC_REMOVE_VALUE, OC_RESERVED, OC_RESOLUTION, OC_RESPONSE_TO_CHALLENGE, OC_RETRIEVE_TXN_LOG, OC_SESSION_EXCHANGEKEY, OC_SESSION_SETUP, OC_SESSION_TERMINATE, OC_UNHOME_NA, OC_VERIFY_CHALLENGE, opCode, overwriteWhenExists, RC_AUTHEN_ERROR, RC_AUTHEN_TIMEOUT, RC_AUTHENTICATION_FAILED, RC_AUTHENTICATION_NEEDED, RC_ERROR, RC_HANDLE_ALREADY_EXISTS, RC_HANDLE_NOT_FOUND, RC_INSUFFICIENT_PERMISSIONS, RC_INVALID_ADMIN, RC_INVALID_CREDENTIAL, RC_INVALID_HANDLE, RC_INVALID_SESSION_KEY, RC_INVALID_SESSIONSETUP_REQUEST, RC_INVALID_VALUE, RC_NEED_RSAKEY_FOR_SESSIONEXCHANGE, RC_OPERATION_NOT_SUPPORTED, RC_OUT_OF_DATE_SITE_INFO, RC_PREFIX_REFERRAL, RC_PROTOCOL_ERROR, RC_RECURSION_COUNT_TOO_HIGH, RC_RESERVED, RC_SERVER_BACKUP, RC_SERVER_NOT_RESP, RC_SERVER_TOO_BUSY, RC_SERVICE_REFERRAL, RC_SESSION_FAILED, RC_SESSION_MESSAGE_REJECTED, RC_SESSION_TIMEOUT, RC_SUCCESS, RC_VALUE_ALREADY_EXISTS, RC_VALUES_NOT_FOUND, rdHashType, recursionCount, recursive, requestDigest, requestId, responseCode, returnRequestDigest, sessionCounter, sessionId, signature, signerHdl, signerHdlIdx, siteInfoSerial, suggestMajorProtocolVersion, suggestMinorProtocolVersion
 
Constructor Summary
AbstractResponse()
           
AbstractResponse(AbstractRequest req, int responseCode)
           
AbstractResponse(int opCode, int responseCode)
           
 
Method Summary
 AbstractResponse getContinuedResponse()
          If this message is to-be-continued, this method is called to get subsequent messages until it returns null which will indicate that the current message is the last.
 void streamResponse(SignedOutputStream out)
          Write the response to the specified output stream.
 void takeDigestOfRequest(AbstractMessage req)
           
 
Methods inherited from class net.handle.hdllib.AbstractMessage
clearBuffers, clone, getEncodedMessage, getEncodedMessageBody, getResponseCodeMessage, hasEqualOrGreaterVersion, hasEqualOrGreaterVersion, setSupportedProtocolVersion, setSupportedProtocolVersion, setSupportedProtocolVersion, shouldEncrypt, signatureIsMac, signMessage, signMessage, takeValuesFrom, toString, verifyMessage, verifyMessage
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

stream

public java.io.InputStream stream

socket

public java.net.Socket socket

secureStream

public boolean secureStream

streaming

public boolean streaming
Constructor Detail

AbstractResponse

public AbstractResponse()

AbstractResponse

public AbstractResponse(int opCode,
                        int responseCode)

AbstractResponse

public AbstractResponse(AbstractRequest req,
                        int responseCode)
                 throws HandleException
Throws:
HandleException
Method Detail

getContinuedResponse

public AbstractResponse getContinuedResponse()
If this message is to-be-continued, this method is called to get subsequent messages until it returns null which will indicate that the current message is the last.


takeDigestOfRequest

public final void takeDigestOfRequest(AbstractMessage req)
                               throws HandleException
Throws:
HandleException

streamResponse

public void streamResponse(SignedOutputStream out)
                    throws HandleException
Write the response to the specified output stream. By default this does nothing. This should be over-ridden by responses that set streaming to true.

Throws:
HandleException