com.unboundid.ldap.sdk.unboundidds.controls
Class IntermediateClientRequestValue

java.lang.Object
  extended by com.unboundid.ldap.sdk.unboundidds.controls.IntermediateClientRequestValue
All Implemented Interfaces:
java.io.Serializable

@NotMutable
@ThreadSafety(level=COMPLETELY_THREADSAFE)
public final class IntermediateClientRequestValue
extends java.lang.Object
implements java.io.Serializable

NOTE: This class is part of the Commercial Edition of the UnboundID LDAP SDK for Java. It is not available for use in applications that include only the Standard Edition of the LDAP SDK, and is not supported for use in conjunction with non-UnboundID products.
This class implements a data structure which encapsulates the value of an intermediate client request value. It may recursively embed intermediate client request values from downstream clients.

See the documentation in the IntermediateClientRequestControl class for an example of using the intermediate client request and response controls.

See Also:
Serialized Form

Constructor Summary
IntermediateClientRequestValue(IntermediateClientRequestValue downstreamRequest, java.lang.String downstreamClientAddress, java.lang.Boolean downstreamClientSecure, java.lang.String clientIdentity, java.lang.String clientName, java.lang.String clientSessionID, java.lang.String clientRequestID)
          Creates a new intermediate client request value with the provided information.
 
Method Summary
static IntermediateClientRequestValue decode(ASN1Sequence sequence)
          Decodes the provided ASN.1 sequence as an intermediate client request value.
 java.lang.Boolean downstreamClientSecure()
          Indicates whether the communication with the communication with the downstream client is secure (i.e., whether communication between the client application and the downstream client is safe from interpretation or undetectable alteration by a third party observer or interceptor).
 ASN1Sequence encode()
          Encodes this intermediate client request value to a form that may be included in the request control.
 boolean equals(java.lang.Object o)
          Indicates whether the provided object is equal to this intermediate client request value.
 java.lang.String getClientIdentity()
          Retrieves the requested client authorization identity, if available.
 java.lang.String getClientName()
          Retrieves a string that identifies the client application that created this intermediate client request value.
 java.lang.String getClientRequestID()
          Retrieves a string that may be used to identify the request in the client application.
 java.lang.String getClientSessionID()
          Retrieves a string that may be used to identify the session in the client application.
 java.lang.String getDownstreamClientAddress()
          Retrieves the IP address or resolvable name of the downstream client system, if available.
 IntermediateClientRequestValue getDownstreamRequest()
          Retrieves the wrapped request from a downstream client, if available.
 int hashCode()
          Generates a hash code for this intermediate client request value.
 java.lang.String toString()
          Retrieves a string representation of this intermediate client request value.
 void toString(java.lang.StringBuilder buffer)
          Appends a string representation of this intermediate client request value to the provided buffer.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IntermediateClientRequestValue

public IntermediateClientRequestValue(IntermediateClientRequestValue downstreamRequest,
                                      java.lang.String downstreamClientAddress,
                                      java.lang.Boolean downstreamClientSecure,
                                      java.lang.String clientIdentity,
                                      java.lang.String clientName,
                                      java.lang.String clientSessionID,
                                      java.lang.String clientRequestID)
Creates a new intermediate client request value with the provided information.

Parameters:
downstreamRequest - A wrapped intermediate client request from a downstream client. It may be null if there is no downstream request.
downstreamClientAddress - The IP address or resolvable name of the downstream client system. It may be null if there is no downstream client or its address is not available.
downstreamClientSecure - Indicates whether communication with the downstream client is secure. It may be null if there is no downstream client or it is not known whether the communication is secure.
clientIdentity - The requested client authorization identity. It may be null if there is no requested authorization identity.
clientName - An identifier string that summarizes the client application that created this intermediate client request. It may be null if that information is not available.
clientSessionID - A string that may be used to identify the session in the client application. It may be null if there is no available session identifier.
clientRequestID - A string that may be used to identify the request in the client application. It may be null if there is no available request identifier.
Method Detail

getDownstreamRequest

public IntermediateClientRequestValue getDownstreamRequest()
Retrieves the wrapped request from a downstream client, if available.

Returns:
The wrapped request from a downstream client, or null if there is none.

getClientIdentity

public java.lang.String getClientIdentity()
Retrieves the requested client authorization identity, if available.

Returns:
The requested client authorization identity, or null if there is none.

getDownstreamClientAddress

public java.lang.String getDownstreamClientAddress()
Retrieves the IP address or resolvable name of the downstream client system, if available.

Returns:
The IP address or resolvable name of the downstream client system, or null if there is no downstream client or its address is not available.

downstreamClientSecure

public java.lang.Boolean downstreamClientSecure()
Indicates whether the communication with the communication with the downstream client is secure (i.e., whether communication between the client application and the downstream client is safe from interpretation or undetectable alteration by a third party observer or interceptor).

Returns:
Boolean.TRUE if communication with the downstream client is secure, Boolean.FALSE if it is not secure, or null if there is no downstream client or it is not known whether the communication is secure.

getClientName

public java.lang.String getClientName()
Retrieves a string that identifies the client application that created this intermediate client request value.

Returns:
A string that may be used to identify the client application that created this intermediate client request value.

getClientSessionID

public java.lang.String getClientSessionID()
Retrieves a string that may be used to identify the session in the client application.

Returns:
A string that may be used to identify the session in the client application, or null if there is none.

getClientRequestID

public java.lang.String getClientRequestID()
Retrieves a string that may be used to identify the request in the client application.

Returns:
A string that may be used to identify the request in the client application, or null if there is none.

encode

public ASN1Sequence encode()
Encodes this intermediate client request value to a form that may be included in the request control.

Returns:
An ASN.1 octet string containing the encoded client request value.

decode

public static IntermediateClientRequestValue decode(ASN1Sequence sequence)
                                             throws LDAPException
Decodes the provided ASN.1 sequence as an intermediate client request value.

Parameters:
sequence - The sequence to be decoded as an intermediate client request value.
Returns:
The decoded intermediate client request value.
Throws:
LDAPException - If the provided sequence cannot be decoded as an intermediate client request value.

hashCode

public int hashCode()
Generates a hash code for this intermediate client request value.

Overrides:
hashCode in class java.lang.Object
Returns:
A hash code for this intermediate client request value.

equals

public boolean equals(java.lang.Object o)
Indicates whether the provided object is equal to this intermediate client request value. It will only be considered equal if the provided object is also an intermediate client request value with all the same fields.

Overrides:
equals in class java.lang.Object
Parameters:
o - The object for which to make the determination.
Returns:
true if the provided object is considered equal to this intermediate client request value, or false if not.

toString

public java.lang.String toString()
Retrieves a string representation of this intermediate client request value.

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

toString

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

Parameters:
buffer - The buffer to which the information is to be appended.