com.verisign.epp.codec.gen
Class EPPResponse

java.lang.Object
  extended by com.verisign.epp.codec.gen.EPPResponse
All Implemented Interfaces:
EPPCodecComponent, EPPMessage, java.io.Serializable, java.lang.Cloneable
Direct Known Subclasses:
EPPBalanceInfoResp, EPPContactCheckResp, EPPContactCreateResp, EPPContactInfoResp, EPPContactPendActionMsg, EPPContactTransferResp, EPPDefRegCheckResp, EPPDefRegCreateResp, EPPDefRegInfoResp, EPPDefRegRenewResp, EPPDefRegTransferResp, EPPDomainCheckResp, EPPDomainCreateResp, EPPDomainInfoResp, EPPDomainPendActionMsg, EPPDomainRenewResp, EPPDomainTransferResp, EPPEmailFwdCheckResp, EPPEmailFwdCreateResp, EPPEmailFwdInfoResp, EPPEmailFwdPendActionMsg, EPPEmailFwdRenewResp, EPPEmailFwdTransferResp, EPPHostCheckResp, EPPHostCreateResp, EPPHostInfoResp, EPPHostPendActionMsg, EPPIdnTableCheckResp, EPPIdnTableInfoResp, EPPLowBalancePollResponse, EPPNameVerificationCheckResp, EPPNameVerificationCreateResp, EPPNameVerificationInfoResp, EPPNameVerificationPendActionMsg, EPPNameWatchCreateResp, EPPNameWatchInfoResp, EPPNameWatchRenewResp, EPPNameWatchTransferResp, EPPRegistryCheckResp, EPPRegistryCreateResp, EPPRegistryInfoResp, EPPRegistryUpdateResp, EPPResellerCheckResp, EPPResellerCreateResp, EPPResellerInfoResp, EPPRgpPollResponse, EPPSuggestionInfoResp, EPPWhoWasInfoResp

public class EPPResponse
extends java.lang.Object
implements EPPMessage

Represents an EPP response that is send by an EPP Server and received by an EPP Client. An EPPResponse can be encoded and decoded by EPPCodec. Every EPP response contain the following:



EPPResponse is a concrete class that can be extended by the Command Mapping responses. A Command Mapping response must override the Template Design Pattern doEncode and doDecode methods. EPPResponse provides a default doEncode and doDecode implementation that does nothing. An EPPResponse client will call encode or decode, which in turn will call doEncode or doDecode, respectively.

See Also:
Serialized Form

Field Summary
protected  java.util.Vector extensions
          Extension objects associated with the response.
static java.lang.String TRANSFER_CLIENT_APPROVED
          Transfer status constant - clientApproved
static java.lang.String TRANSFER_CLIENT_CANCELLED
          Transfer status constant - clientCancelled
static java.lang.String TRANSFER_CLIENT_REJECTED
          Transfer status constant - clientRejected
static java.lang.String TRANSFER_PENDING
          Transfer status constant - pending
static java.lang.String TRANSFER_SERVER_APPROVED
          Transfer status constant - serverApproved
static java.lang.String TRANSFER_SERVER_CANCELLED
          Transfer status constant - serverCancelled
 
Constructor Summary
EPPResponse()
          Allocates a new EPPResponse with default attribute values.
EPPResponse(EPPTransId aTransId)
          Allocates a new EPPResponse setting the transaction id.
EPPResponse(EPPTransId aTransId, EPPResult aResult)
          Allocates a new EPPResponse setting the transaction id and an individual result.
 
Method Summary
 void addExtension(EPPCodecComponent aExtension)
          Adds an extension object.
 java.lang.Object clone()
          Clone EPPResponse.
 void decode(org.w3c.dom.Element aElement)
          decode EPPResponse from a DOM element tree.
protected  void doDecode(org.w3c.dom.Element aElement)
          Decodes the attributes of the concrete EPPResponse and must be overridden by EPPResponse derived classes.
protected  org.w3c.dom.Element doEncode(org.w3c.dom.Document aDocument)
          Encodes the attributes of the concrete EPPResponse and must be overridden by EPPResponse derived classes.
 org.w3c.dom.Element encode(org.w3c.dom.Document aDocument)
          encode EPPResponse into a DOM element tree.
 boolean equals(java.lang.Object aObject)
          implements a deep EPPResponse compare.
 EPPCodecComponent getExtension(java.lang.Class aExtensionClass)
          Gets the extension object with the specified class.
 EPPCodecComponent getExtension(java.lang.Class aExtensionClass, boolean aFailOnDuplicate)
          Gets the response extension object with the specified class with the option to fail when a duplicate extension is found.
 java.util.Vector getExtensions()
          Gets the extensions.
 java.lang.Long getMessageQueue()
          Deprecated. As of EPP 1.0, replaced with getMsgQueueCount()
 EPPMsgQueue getMsgQueue()
          Gets the response message queue object.
 java.lang.Long getMsgQueueCount()
          Convenience method for getting the message queue count attribute.
 java.util.Date getMsgQueueDate()
          Convenience method for getting the message queue date attribute.
 java.lang.String getMsgQueueMsg()
          Convenience method for getting the message queue message attribute.
 java.lang.String getNamespace()
          Gets the EPP namespace associated with the EPPResponse.
 java.util.Date getQDate()
          Deprecated. As of EPP 1.0, replaced with getMsgQueueDate()
 EPPResult getResult()
          Gets the first result in the response.
 java.util.Vector getResults()
          Gets the Vector of results associated with the EPPResponse.
 EPPTransId getTransId()
          Gets the Transaction Id associated with the EPPResponse.
 java.lang.String getType()
          Gets the EPP response extension type name or null if there is no extension.
 boolean hasExtension(java.lang.Class aExtensionClass)
          Does the response have an extension object of a specified class?
 boolean hasExtensions()
          Does the response have an extension objects?
 boolean hasMessageQueue()
          Deprecated. As of EPP 1.0, replaced with hasMsgQueue(). This method will return true if a message queue object exists that has a non-null message count.
 boolean hasMsgQueue()
          Does the response have a message queue object?
 boolean hasResultCode(int aCode)
          Does the response have a result with the specified result code?
 boolean isSuccess()
          Does the response have a success status?
 void setExtension(EPPCodecComponent aExtension)
          Deprecated. Replaced by addExtension(EPPCodecComponent). This method will add the extension as is done in addExtension(EPPCodecComponent).
 void setExtensions(java.util.Vector aExtensions)
          Sets the response extension objects.
 void setMsgQueue(EPPMsgQueue aMsgQueue)
          Sets the response message queue object.
 void setResult(EPPResult aResult)
          Sets an individual result for the response with an EPPResult instance.
 void setResult(int aCode)
          Sets an individual result for the response with a result code.
 void setResult(int aCode, java.lang.String aText)
          Sets an individual result for the response with a result code and the result text.
 void setResult(int aCode, java.lang.String aText, java.util.Vector aValues)
          Sets an individual result for the response with a result code, the result text, and a Vector of String values.
 void setResults(java.util.Vector someResults)
          Sets the result(s) of the response as a Vector of EPPResult instances.
 void setTransId(EPPTransId aTransId)
          Sets the Transaction Id associated with the EPPResponse.
 java.lang.String toString()
          Implementation of Object.toString, which will result in an indented XML String representation of the concrete EPPCodecComponent.
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

TRANSFER_CLIENT_APPROVED

public static final java.lang.String TRANSFER_CLIENT_APPROVED
Transfer status constant - clientApproved

See Also:
Constant Field Values

TRANSFER_CLIENT_CANCELLED

public static final java.lang.String TRANSFER_CLIENT_CANCELLED
Transfer status constant - clientCancelled

See Also:
Constant Field Values

TRANSFER_CLIENT_REJECTED

public static final java.lang.String TRANSFER_CLIENT_REJECTED
Transfer status constant - clientRejected

See Also:
Constant Field Values

TRANSFER_PENDING

public static final java.lang.String TRANSFER_PENDING
Transfer status constant - pending

See Also:
Constant Field Values

TRANSFER_SERVER_APPROVED

public static final java.lang.String TRANSFER_SERVER_APPROVED
Transfer status constant - serverApproved

See Also:
Constant Field Values

TRANSFER_SERVER_CANCELLED

public static final java.lang.String TRANSFER_SERVER_CANCELLED
Transfer status constant - serverCancelled

See Also:
Constant Field Values

extensions

protected java.util.Vector extensions
Extension objects associated with the response. The extension object is associated with a unique XML Namespace, XML Schema, and can be any simple or complex object that implements the EPPCodecComponent interface.

Constructor Detail

EPPResponse

public EPPResponse()
Allocates a new EPPResponse with default attribute values. The defaults include the following:


EPPResponse

public EPPResponse(EPPTransId aTransId)
Allocates a new EPPResponse setting the transaction id. The results attribute will default to an individual successful result. Both the extensions and the message queue will be set to null.

Parameters:
aTransId - Transaction id associated with the response.

EPPResponse

public EPPResponse(EPPTransId aTransId,
                   EPPResult aResult)
Allocates a new EPPResponse setting the transaction id and an individual result. Both the extensions and the message queue will be set to null.

Parameters:
aTransId - Transaction id associated with the response.
aResult - Result to associate with the response.
Method Detail

getType

public java.lang.String getType()
Gets the EPP response extension type name or null if there is no extension.

Returns:
Extension type name if defined; null otherwise. For example, getType will return EPPDomainCheckResp.ELM_NAME for a EPPDomainCheckResp instance.

getTransId

public EPPTransId getTransId()
Gets the Transaction Id associated with the EPPResponse. This should include the EPPCommand client specified transaction id, and a server generated transaction id.

Returns:
EPPTransId instance if defined; null otherwise.

setTransId

public void setTransId(EPPTransId aTransId)
Sets the Transaction Id associated with the EPPResponse. This should include the EPPCommand client specified transaction id, and a server generated transaction id.

Parameters:
aTransId - Response transaction id

getNamespace

public java.lang.String getNamespace()
Gets the EPP namespace associated with the EPPResponse. A base EPPResponse instance will have the EPP namespace equal to EPPCodec.NS.

Specified by:
getNamespace in interface EPPMessage
Returns:
Namespace URI associated with the EPPResponse.

getResults

public java.util.Vector getResults()
Gets the Vector of results associated with the EPPResponse.

Returns:
Vector of EPPResult instances.

getResult

public EPPResult getResult()
Gets the first result in the response. Use getResults() to get all results associated with the response.

Returns:
The first result if defined; null otherwise

isSuccess

public boolean isSuccess()
Does the response have a success status? isSuccess will check that there is only one EPPResult defined and the result code is set to a value of 10??.

Returns:
true if is success; false otherwise.

hasResultCode

public boolean hasResultCode(int aCode)
Does the response have a result with the specified result code?

Parameters:
aCode - Result code to scan for
Returns:
true if the result code exists in response; false otherwise.

setResult

public void setResult(int aCode)
Sets an individual result for the response with a result code. The EPP Specification defines the range of the result codes to be 1000 - 9999.
setResult(int) will set the results to a Vector of one EPPResult with the result code set to aCode.
If the code is set to one of the pre-defined result codes, the result text will be set to the matching en value, as defined in the EPP Specification; otherwise the text is set to the empty string "".

Parameters:
aCode - Result code (1000-9999)

setResult

public void setResult(int aCode,
                      java.lang.String aText)
Sets an individual result for the response with a result code and the result text. The EPP Specification defines the range of the result codes to be 1000 - 9999.
setResult(int) will set the results to a Vector of one EPPResult with the result code set to aCode, and the result text set to aText. The language of the text will default to "en".

Parameters:
aCode - Result code (1000-9999)
aText - Result text in the default "en" language.

setResult

public void setResult(int aCode,
                      java.lang.String aText,
                      java.util.Vector aValues)
Sets an individual result for the response with a result code, the result text, and a Vector of String values. This method should only be called if there is an error, since values are not included with successful results. The EPP Specification defines the range of the result codes to be 1000 - 9999.
setResult(int) will set the results to a Vector of one EPPResult with the result code set to aCode, the result text set to aText, and the values set to someValues. The language of the text will default to "en".

Parameters:
aCode - Result code (1000-9999)
aText - Result text in the default "en" language.
aValues - Vector of EPPValue or EPPExtValue instances

setResult

public void setResult(EPPResult aResult)
Sets an individual result for the response with an EPPResult instance. This method allows for specification of result attributes like the text language.

Parameters:
aResult - Individual response result.

setResults

public void setResults(java.util.Vector someResults)
Sets the result(s) of the response as a Vector of EPPResult instances. This method should only be used if there is an error, since only errors can contain more than one result.

Parameters:
someResults - Vector of EPPResult instances

hasExtension

public boolean hasExtension(java.lang.Class aExtensionClass)
Does the response have an extension object of a specified class? If so, the extension object can be retrieved with a call to getExtensions(Class).

Parameters:
aExtensionClass - Specific extension class to look for
Returns:
true if the extension object exists; false otherwise.

getExtension

public EPPCodecComponent getExtension(java.lang.Class aExtensionClass)
Gets the extension object with the specified class. The extension object is an unspecified element in the EPP Specifications. To create an extension object, an XML Schema for the extension object must exist with a unique XML Namespace. A custom EPPExtensionFactory must be created for the extension, which returns an instance of EPPCodecComponent for an instance of an extension object in the EPP Response.

Parameters:
aExtensionClass - of desired extension
Returns:
Concrete EPPCodecComponent associated with the response if exists; null otherwise.

getExtension

public EPPCodecComponent getExtension(java.lang.Class aExtensionClass,
                                      boolean aFailOnDuplicate)
                               throws EPPDuplicateExtensionException
Gets the response extension object with the specified class with the option to fail when a duplicate extension is found. The extension object is an unspecified element in the EPP Specifications. To create an extension object, an XML Schema for the extension object must exist with a unique XML Namespace. A custom EPPExtensionFactory must be created for the extension, which returns an instance of EPPCodecComponent for an instance of an extension object in the EPPResponse.

Parameters:
aExtensionClass - Class of desired extension
aFailOnDuplicate - Throw EPPDuplicateExtensionException if true and a duplicate extension is found
Returns:
Concrete EPPCodecComponent associated with the command if exists; null otherwise.
Throws:
EPPDuplicateExtensionException - If a duplicate extension is found with the extension included in the extension

setExtension

public void setExtension(EPPCodecComponent aExtension)
Deprecated. Replaced by addExtension(EPPCodecComponent). This method will add the extension as is done in addExtension(EPPCodecComponent).

Sets a response extension object. The extension object is an unspecified element in the EPP Specifications. The unspecified element will be encoded under the <unspec> element of the EPP Response.

Parameters:
aExtension - response extension object associated with the response

addExtension

public void addExtension(EPPCodecComponent aExtension)
Adds an extension object. The extension object is an unspecified element in the EPP Specifications. The unspecified element will be encoded under the <unspec> element of the EPP Response.

Parameters:
aExtension - extension object associated with the response

hasExtensions

public boolean hasExtensions()
Does the response have an extension objects? If so, the command extension objects can be retrieved with a call to getExtensions.

Returns:
true if there are extension objects; false otherwise.

getExtensions

public java.util.Vector getExtensions()
Gets the extensions. The extension objects are an unspecified elements in the EPP Specification. To create an extension object, an XML Schema for the extension object must exist with a unique XML Namespace. A custom EPPExtensionFactory must be created for the extension, which returns an instance of EPPCodecComponent for an instance of an extension object in the EPP Response.

Returns:
Vector of concrete EPPCodecComponent associated with the response if exists; null otherwise.

setExtensions

public void setExtensions(java.util.Vector aExtensions)
Sets the response extension objects. The extension objects are an unspecified element in the EPP Specifications. The unspecified element will be encoded under the <unspec> element of the EPP Response.

Parameters:
aExtensions - command extension objects associated with the command

hasMessageQueue

public boolean hasMessageQueue()
Deprecated. As of EPP 1.0, replaced with hasMsgQueue(). This method will return true if a message queue object exists that has a non-null message count.

Does the response have a message queue object? If so, the response message queue object can be retrieved with a call to getMessageQueue.

Returns:
true if this is an message queue object; false otherwise.

getMessageQueue

public java.lang.Long getMessageQueue()
Deprecated. As of EPP 1.0, replaced with getMsgQueueCount()

Gets the response message queue object. Currently the message queue object is a Long count of the number of messages.

Returns:
Number of queue messages if defined; null otherwise.

getQDate

public java.util.Date getQDate()
Deprecated. As of EPP 1.0, replaced with getMsgQueueDate()

Get the response message queue date.

Returns:
message queue date if defined; null otherwise.

hasMsgQueue

public boolean hasMsgQueue()
Does the response have a message queue object? If so, the response message queue object can be retrieved with a call to getMsgQueue.

Returns:
true if this is an message queue object; false otherwise.
Since:
EPP 1.0

setMsgQueue

public void setMsgQueue(EPPMsgQueue aMsgQueue)
Sets the response message queue object.

Parameters:
aMsgQueue - queue object
Since:
EPP 1.0

getMsgQueue

public EPPMsgQueue getMsgQueue()
Gets the response message queue object.

Returns:
Message queue object if defined; null otherwise.

getMsgQueueCount

public java.lang.Long getMsgQueueCount()
Convenience method for getting the message queue count attribute. This is equivalent to getting the message queue object by getMsgQueue() and than calling EPPMsgQueue.getCount().

Returns:
Count of queue messages if defined; null otherwise.
Since:
EPP 1.0

getMsgQueueDate

public java.util.Date getMsgQueueDate()
Convenience method for getting the message queue date attribute.

Returns:
message queue date if defined; null otherwise.
Since:
EPP 1.0

getMsgQueueMsg

public java.lang.String getMsgQueueMsg()
Convenience method for getting the message queue message attribute.

Returns:
message queue message if defined; null otherwise.
Since:
EPP 1.0

encode

public org.w3c.dom.Element encode(org.w3c.dom.Document aDocument)
                           throws EPPEncodeException
encode EPPResponse into a DOM element tree. The <response> element is created and the attribute nodes are appending as children. This method is a Template Method in the Template Method Design Pattern.

Specified by:
encode in interface EPPCodecComponent
Parameters:
aDocument - Used as a document factory
Returns:
<response> root element tree.
Throws:
EPPEncodeException - Error encoding the DOM element tree.

decode

public void decode(org.w3c.dom.Element aElement)
            throws EPPDecodeException,
                   EPPComponentNotFoundException
decode EPPResponse from a DOM element tree. The "response" element needs to be the value of the aElement argument. This method is a Template Method in the Template Method Design Pattern.

Specified by:
decode in interface EPPCodecComponent
Parameters:
aElement - <response> root element tree.
Throws:
EPPDecodeException - Error decoding the DOM element tree.
EPPComponentNotFoundException - An extension component could not be found

equals

public boolean equals(java.lang.Object aObject)
implements a deep EPPResponse compare.

Overrides:
equals in class java.lang.Object
Parameters:
aObject - EPPResponse instance to compare with
Returns:
true if equal; false otherwise

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Clone EPPResponse.

Specified by:
clone in interface EPPCodecComponent
Overrides:
clone in class java.lang.Object
Returns:
clone of EPPResponse
Throws:
java.lang.CloneNotSupportedException - standard Object.clone exception

toString

public java.lang.String toString()
Implementation of Object.toString, which will result in an indented XML String representation of the concrete EPPCodecComponent.

Overrides:
toString in class java.lang.Object
Returns:
Indented XML String if successful; ERROR otherwise.

doEncode

protected org.w3c.dom.Element doEncode(org.w3c.dom.Document aDocument)
                                throws EPPEncodeException
Encodes the attributes of the concrete EPPResponse and must be overridden by EPPResponse derived classes. The default implementation is to do nothing, since EPPResponse is a concrete class. encode is a Template Method and this method is a Primitive Operation within the Template Method Design Pattern.

Parameters:
aDocument - DOM document used as a factory of DOM objects.
Returns:
instance root DOM element along with attribute child nodes.
Throws:
EPPEncodeException - Error encoding the DOM element tree.

doDecode

protected void doDecode(org.w3c.dom.Element aElement)
                 throws EPPDecodeException
Decodes the attributes of the concrete EPPResponse and must be overridden by EPPResponse derived classes. The default implementation is to do nothing, since EPPResponse is a concrete class. decode is a Template Method and this method is a Primitive Operation within the Template Method Design Pattern.

Parameters:
aElement - root DOM element associated with instance
Throws:
EPPDecodeException - Error decoding the DOM element tree.


Copyright © VeriSign Inc. All Rights Reserved.