com.unboundid.ldap.sdk.controls
Class ContentSyncStateControl

java.lang.Object
  extended by com.unboundid.ldap.sdk.Control
      extended by com.unboundid.ldap.sdk.controls.ContentSyncStateControl
All Implemented Interfaces:
DecodeableControl, java.io.Serializable

@NotMutable
@ThreadSafety(level=COMPLETELY_THREADSAFE)
public final class ContentSyncStateControl
extends Control
implements DecodeableControl

This class provides an implementation of the LDAP content synchronization state control as defined in RFC 4533. Directory servers may include this control in search result entry and search result reference messages returned for a search request containing the content synchronization request control. See the documentation for the ContentSyncRequestControl class for more information information about using the content synchronization operation.

See Also:
Serialized Form

Field Summary
static java.lang.String SYNC_STATE_OID
          The OID (1.3.6.1.4.1.4203.1.9.1.2) for the sync state control.
 
Constructor Summary
ContentSyncStateControl(ContentSyncState state, java.util.UUID entryUUID, ASN1OctetString cookie)
          Creates a new content synchronization state control that provides information about a search result entry or referenced returned by a search containing the content synchronization request control.
ContentSyncStateControl(java.lang.String oid, boolean isCritical, ASN1OctetString value)
          Creates a new content synchronization state control which is decoded from the provided information from a generic control.
 
Method Summary
 ContentSyncStateControl decodeControl(java.lang.String oid, boolean isCritical, ASN1OctetString value)
          Creates a new instance of this decodeable control from the provided information.
static ContentSyncStateControl get(SearchResultEntry entry)
          Extracts a content sync state control from the provided search result entry.
static ContentSyncStateControl get(SearchResultReference ref)
          Extracts a content sync state control from the provided search result reference.
 java.lang.String getControlName()
          Retrieves the user-friendly name for this control, if available.
 ASN1OctetString getCookie()
          Retrieves a cookie providing updated state information for the synchronization session, if available.
 java.util.UUID getEntryUUID()
          Retrieves the entryUUID for the associated search result entry or reference.
 ContentSyncState getState()
          Retrieves the synchronization state for this control, which provides information about the state of the associated search result entry or reference.
 void toString(java.lang.StringBuilder buffer)
          Appends a string representation of this LDAP control to the provided buffer.
 
Methods inherited from class com.unboundid.ldap.sdk.Control
decode, decode, decodeControls, deregisterDecodeableControl, encode, encodeControls, equals, getOID, getValue, hashCode, hasValue, isCritical, readFrom, registerDecodeableControl, toString, writeTo
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

SYNC_STATE_OID

public static final java.lang.String SYNC_STATE_OID
The OID (1.3.6.1.4.1.4203.1.9.1.2) for the sync state control.

See Also:
Constant Field Values
Constructor Detail

ContentSyncStateControl

public ContentSyncStateControl(ContentSyncState state,
                               java.util.UUID entryUUID,
                               ASN1OctetString cookie)
Creates a new content synchronization state control that provides information about a search result entry or referenced returned by a search containing the content synchronization request control.

Parameters:
state - The sync state for the associated entry or reference. It must not be null.
entryUUID - The entryUUID for the associated entry or reference. It must not be null.
cookie - A cookie with an updated synchronization state. It may be null if no updated state is available.

ContentSyncStateControl

public ContentSyncStateControl(java.lang.String oid,
                               boolean isCritical,
                               ASN1OctetString value)
                        throws LDAPException
Creates a new content synchronization state control which is decoded from the provided information from a generic control.

Parameters:
oid - The OID for the control used to create this control.
isCritical - Indicates whether the control is marked critical.
value - The encoded value for the control.
Throws:
LDAPException - If the provided control cannot be decoded as a content synchronization state control.
Method Detail

decodeControl

public ContentSyncStateControl decodeControl(java.lang.String oid,
                                             boolean isCritical,
                                             ASN1OctetString value)
                                      throws LDAPException
Creates a new instance of this decodeable control from the provided information.

Specified by:
decodeControl in interface DecodeableControl
Parameters:
oid - The OID for the control.
isCritical - Indicates whether the control should be marked critical.
value - The encoded value for the control. This may be null if no value was provided.
Returns:
The decoded representation of this control.
Throws:
LDAPException - If the provided information cannot be decoded as a valid instance of this decodeable control.

get

public static ContentSyncStateControl get(SearchResultEntry entry)
                                   throws LDAPException
Extracts a content sync state control from the provided search result entry.

Parameters:
entry - The search result entry from which to retrieve the content sync state control.
Returns:
The content sync state control contained in the provided search result entry, or null if the entry did not contain a content sync state control.
Throws:
LDAPException - If a problem is encountered while attempting to decode the content sync state control contained in the provided search result entry.

get

public static ContentSyncStateControl get(SearchResultReference ref)
                                   throws LDAPException
Extracts a content sync state control from the provided search result reference.

Parameters:
ref - The search result reference from which to retrieve the content sync state control.
Returns:
The content sync state control contained in the provided search result reference, or null if the reference did not contain a content sync state control.
Throws:
LDAPException - If a problem is encountered while attempting to decode the content sync state control contained in the provided search result reference.

getState

public ContentSyncState getState()
Retrieves the synchronization state for this control, which provides information about the state of the associated search result entry or reference.

Returns:
The state value for this content synchronization state control.

getEntryUUID

public java.util.UUID getEntryUUID()
Retrieves the entryUUID for the associated search result entry or reference.

Returns:
The entryUUID for the associated search result entry or reference.

getCookie

public ASN1OctetString getCookie()
Retrieves a cookie providing updated state information for the synchronization session, if available.

Returns:
A cookie providing updated state information for the synchronization session, or null if none was included in the control.

getControlName

public java.lang.String getControlName()
Retrieves the user-friendly name for this control, if available. If no user-friendly name has been defined, then the OID will be returned.

Overrides:
getControlName in class Control
Returns:
The user-friendly name for this control, or the OID if no user-friendly name is available.

toString

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

Overrides:
toString in class Control
Parameters:
buffer - The buffer to which to append the string representation of this buffer.