com.unboundid.ldap.sdk
Class IntermediateResponse

java.lang.Object
  extended by com.unboundid.ldap.sdk.IntermediateResponse
All Implemented Interfaces:
LDAPResponse, java.io.Serializable
Direct Known Subclasses:
ContentSyncInfoIntermediateResponse

@Extensible
@NotMutable
@ThreadSafety(level=COMPLETELY_THREADSAFE)
public class IntermediateResponse
extends java.lang.Object
implements java.io.Serializable, LDAPResponse

This class provides a data structure for holding information about an LDAP intermediate response, which provides the ability for the directory server to return multiple messages in response to operations that would not otherwise support it. Intermediate response messages will only be returned by the server if the client does something to explicitly indicate that it is able to accept them (e.g., by requesting an extended operation that may return intermediate response messages, or by including a control in a request that may cause the request to return intermediate response messages). Intermediate response messages may include one or both of the following:

When requesting an operation which may return intermediate response messages, an IntermediateResponseListener must be provided for the associated request. If an intermediate response message is returned for a request that does not have a registered IntermediateResponseListener, then it will be silently discarded.

See Also:
Serialized Form

Field Summary
protected static byte TYPE_INTERMEDIATE_RESPONSE_OID
          The BER type for the intermediate response OID element.
protected static byte TYPE_INTERMEDIATE_RESPONSE_VALUE
          The BER type for the intermediate response value element.
 
Constructor Summary
protected IntermediateResponse(IntermediateResponse intermediateResponse)
          Creates a new intermediate response with the information from the provided intermediate response.
  IntermediateResponse(int messageID, java.lang.String oid, ASN1OctetString value)
          Creates a new intermediate response with the provided information.
  IntermediateResponse(int messageID, java.lang.String oid, ASN1OctetString value, Control[] controls)
          Creates a new intermediate response with the provided information.
  IntermediateResponse(java.lang.String oid, ASN1OctetString value)
          Creates a new intermediate response with the provided information.
  IntermediateResponse(java.lang.String oid, ASN1OctetString value, Control[] controls)
          Creates a new intermediate response with the provided information.
 
Method Summary
 Control getControl(java.lang.String oid)
          Retrieves the control with the specified OID.
 Control[] getControls()
          Retrieves the set of controls returned with this intermediate response.
 java.lang.String getIntermediateResponseName()
          Retrieves the user-friendly name for the intermediate response, if available.
 int getMessageID()
          Retrieves the message ID for the LDAP message containing this response.
 java.lang.String getOID()
          Retrieves the OID for this intermediate response, if any.
 ASN1OctetString getValue()
          Retrieves the encoded value for this intermediate response, if any.
 java.lang.String toString()
          Retrieves a string representation of this intermediate response.
 void toString(java.lang.StringBuilder buffer)
          Appends a string representation of this intermediate response to the provided buffer.
 java.lang.String valueToString()
          Retrieves a human-readable string representation for the contents of the value for this intermediate response, if appropriate.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

TYPE_INTERMEDIATE_RESPONSE_OID

protected static final byte TYPE_INTERMEDIATE_RESPONSE_OID
The BER type for the intermediate response OID element.

See Also:
Constant Field Values

TYPE_INTERMEDIATE_RESPONSE_VALUE

protected static final byte TYPE_INTERMEDIATE_RESPONSE_VALUE
The BER type for the intermediate response value element.

See Also:
Constant Field Values
Constructor Detail

IntermediateResponse

public IntermediateResponse(java.lang.String oid,
                            ASN1OctetString value)
Creates a new intermediate response with the provided information.

Parameters:
oid - The OID for this intermediate response. It may be null if there is no OID.
value - The value for this intermediate response. It may be null if there is no value.

IntermediateResponse

public IntermediateResponse(int messageID,
                            java.lang.String oid,
                            ASN1OctetString value)
Creates a new intermediate response with the provided information.

Parameters:
messageID - The message ID for the LDAP message containing this intermediate response.
oid - The OID for this intermediate response. It may be null if there is no OID.
value - The value for this intermediate response. It may be null if there is no value.

IntermediateResponse

public IntermediateResponse(java.lang.String oid,
                            ASN1OctetString value,
                            Control[] controls)
Creates a new intermediate response with the provided information.

Parameters:
oid - The OID for this intermediate response. It may be null if there is no OID.
value - The value for this intermediate response. It may be null if there is no value.
controls - The set of controls for this intermediate response.

IntermediateResponse

public IntermediateResponse(int messageID,
                            java.lang.String oid,
                            ASN1OctetString value,
                            Control[] controls)
Creates a new intermediate response with the provided information.

Parameters:
messageID - The message ID for the LDAP message containing this intermediate response.
oid - The OID for this intermediate response. It may be null if there is no OID.
value - The value for this intermediate response. It may be null if there is no value.
controls - The set of controls for this intermediate response.

IntermediateResponse

protected IntermediateResponse(IntermediateResponse intermediateResponse)
Creates a new intermediate response with the information from the provided intermediate response.

Parameters:
intermediateResponse - The intermediate response that should be used to create this new intermediate response.
Method Detail

getMessageID

public int getMessageID()
Retrieves the message ID for the LDAP message containing this response.

Specified by:
getMessageID in interface LDAPResponse
Returns:
The message ID for the LDAP message containing this response.

getOID

public final java.lang.String getOID()
Retrieves the OID for this intermediate response, if any.

Returns:
The OID for this intermediate response, or null if there is no OID for this response.

getValue

public final ASN1OctetString getValue()
Retrieves the encoded value for this intermediate response, if any.

Returns:
The encoded value for this intermediate response, or null if there is no value for this response.

getControls

public final Control[] getControls()
Retrieves the set of controls returned with this intermediate response. Individual response controls of a specific type may be retrieved and decoded using the get method in the response control class.

Returns:
The set of controls returned with this intermediate response.

getControl

public final Control getControl(java.lang.String oid)
Retrieves the control with the specified OID. If there is more than one control with the given OID, then the first will be returned.

Parameters:
oid - The OID of the control to retrieve.
Returns:
The control with the requested OID, or null if there is no such control for this intermediate response.

getIntermediateResponseName

public java.lang.String getIntermediateResponseName()
Retrieves the user-friendly name for the intermediate response, if available. If no user-friendly name has been defined, but a response OID is available, then that will be returned. If neither a user-friendly name nor a response OID are available, then null will be returned.

Returns:
The user-friendly name for this intermediate response, the response OID if a user-friendly name is not available but a response OID is, or null if neither a user-friendly name nor a response OID are available.

valueToString

public java.lang.String valueToString()
Retrieves a human-readable string representation for the contents of the value for this intermediate response, if appropriate. If one is provided, then it should be a relatively compact single-line representation of the most important elements of the value.

Returns:
A human-readable string representation for the contents of the value for this intermediate response, or null if there is no value or no string representation is available.

toString

public final java.lang.String toString()
Retrieves a string representation of this intermediate response.

Overrides:
toString in class java.lang.Object
Returns:
A string representation of this intermediate response.

toString

public void toString(java.lang.StringBuilder buffer)
Appends a string representation of this intermediate response to the provided buffer.

Specified by:
toString in interface LDAPResponse
Parameters:
buffer - The buffer to which the string representation should be appended.