com.unboundid.ldap.sdk.controls
Class ContentSyncInfoIntermediateResponse

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

@NotMutable
@ThreadSafety(level=COMPLETELY_THREADSAFE)
public final class ContentSyncInfoIntermediateResponse
extends IntermediateResponse

This class provides an implementation of the sync info message, which is an intermediate response message used by the content synchronization operation as defined in RFC 4533. Directory servers may return this response in the course of processing a search request containing the content synchronization request control. See the documentation for the ContentSyncRequestControl class for more information about using the content synchronization operation.

See Also:
Serialized Form

Field Summary
static java.lang.String SYNC_INFO_OID
          The OID (1.3.6.1.4.1.4203.1.9.1.4) for the sync info intermediate response.
 
Fields inherited from class com.unboundid.ldap.sdk.IntermediateResponse
TYPE_INTERMEDIATE_RESPONSE_OID, TYPE_INTERMEDIATE_RESPONSE_VALUE
 
Method Summary
static ContentSyncInfoIntermediateResponse createNewCookieResponse(ASN1OctetString cookie, Control... controls)
          Creates a new sync info intermediate response with a type of ContentSyncInfoType.NEW_COOKIE.
static ContentSyncInfoIntermediateResponse createRefreshDeleteResponse(ASN1OctetString cookie, boolean refreshDone, Control... controls)
          Creates a new sync info intermediate response with a type of ContentSyncInfoType.REFRESH_DELETE.
static ContentSyncInfoIntermediateResponse createRefreshPresentResponse(ASN1OctetString cookie, boolean refreshDone, Control... controls)
          Creates a new sync info intermediate response with a type of ContentSyncInfoType.REFRESH_PRESENT.
static ContentSyncInfoIntermediateResponse createSyncIDSetResponse(ASN1OctetString cookie, java.util.List<java.util.UUID> entryUUIDs, boolean refreshDeletes, Control... controls)
          Creates a new sync info intermediate response with a type of ContentSyncInfoType.SYNC_ID_SET.
static ContentSyncInfoIntermediateResponse decode(IntermediateResponse r)
          Decodes the provided generic intermediate response as a sync info intermediate response.
 ASN1OctetString getCookie()
          Retrieves an updated state cookie for the synchronization session, if available.
 java.util.List<java.util.UUID> getEntryUUIDs()
          Retrieves a list of the entryUUID values for the entries referenced in this message.
 java.lang.String getIntermediateResponseName()
          Retrieves the user-friendly name for the intermediate response, if available.
 ContentSyncInfoType getType()
          Retrieves the type of content synchronization information represented in this response.
 boolean refreshDeletes()
          Indicates whether the provided set of UUIDs represent entries that have been removed.
 boolean refreshDone()
          Indicates whether the refresh phase of the synchronization operation has completed.
 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 com.unboundid.ldap.sdk.IntermediateResponse
getControl, getControls, getMessageID, getOID, getValue, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

SYNC_INFO_OID

public static final java.lang.String SYNC_INFO_OID
The OID (1.3.6.1.4.1.4203.1.9.1.4) for the sync info intermediate response.

See Also:
Constant Field Values
Method Detail

createNewCookieResponse

public static ContentSyncInfoIntermediateResponse createNewCookieResponse(ASN1OctetString cookie,
                                                                          Control... controls)
Creates a new sync info intermediate response with a type of ContentSyncInfoType.NEW_COOKIE.

Parameters:
cookie - The updated state cookie for the synchronization session. It must not be null.
controls - An optional set of controls to include in the response. It may be null or empty if no controls should be included.
Returns:
The created sync info intermediate response.

createRefreshDeleteResponse

public static ContentSyncInfoIntermediateResponse createRefreshDeleteResponse(ASN1OctetString cookie,
                                                                              boolean refreshDone,
                                                                              Control... controls)
Creates a new sync info intermediate response with a type of ContentSyncInfoType.REFRESH_DELETE.

Parameters:
cookie - The updated state cookie for the synchronization session. It may be null if no new cookie is available.
refreshDone - Indicates whether the refresh phase of the synchronization operation has completed.
controls - An optional set of controls to include in the response. It may be null or empty if no controls should be included.
Returns:
The created sync info intermediate response.

createRefreshPresentResponse

public static ContentSyncInfoIntermediateResponse createRefreshPresentResponse(ASN1OctetString cookie,
                                                                               boolean refreshDone,
                                                                               Control... controls)
Creates a new sync info intermediate response with a type of ContentSyncInfoType.REFRESH_PRESENT.

Parameters:
cookie - The updated state cookie for the synchronization session. It may be null if no new cookie is available.
refreshDone - Indicates whether the refresh phase of the synchronization operation has completed.
controls - An optional set of controls to include in the response. It may be null or empty if no controls should be included.
Returns:
The created sync info intermediate response.

createSyncIDSetResponse

public static ContentSyncInfoIntermediateResponse createSyncIDSetResponse(ASN1OctetString cookie,
                                                                          java.util.List<java.util.UUID> entryUUIDs,
                                                                          boolean refreshDeletes,
                                                                          Control... controls)
Creates a new sync info intermediate response with a type of ContentSyncInfoType.SYNC_ID_SET.

Parameters:
cookie - The updated state cookie for the synchronization session. It may be null if no new cookie is available.
entryUUIDs - The set of entryUUIDs for the entries referenced in this response. It must not be null.
refreshDeletes - Indicates whether the entryUUIDs represent entries that have been removed rather than those that have remained unchanged.
controls - An optional set of controls to include in the response. It may be null or empty if no controls should be included.
Returns:
The created sync info intermediate response.

decode

public static ContentSyncInfoIntermediateResponse decode(IntermediateResponse r)
                                                  throws LDAPException
Decodes the provided generic intermediate response as a sync info intermediate response.

Parameters:
r - The intermediate response to be decoded as a sync info intermediate response. It must not be null.
Returns:
The decoded sync info intermediate response.
Throws:
LDAPException - If a problem occurs while trying to decode the provided intermediate response as a sync info response.

getType

public ContentSyncInfoType getType()
Retrieves the type of content synchronization information represented in this response.

Returns:
The type of content synchronization information represented in this response.

getCookie

public ASN1OctetString getCookie()
Retrieves an updated state cookie for the synchronization session, if available. It will always be non-null for a type of ContentSyncInfoType.NEW_COOKIE, and may or may not be null for other types.

Returns:
An updated state cookie for the synchronization session, or null if none is available.

refreshDone

public boolean refreshDone()
Indicates whether the refresh phase of the synchronization operation has completed. This is only applicable for the ContentSyncInfoType.REFRESH_DELETE and ContentSyncInfoType.REFRESH_PRESENT types.

Returns:
true if the refresh phase of the synchronization operation has completed, or false if not or if it is not applicable for this message type.

getEntryUUIDs

public java.util.List<java.util.UUID> getEntryUUIDs()
Retrieves a list of the entryUUID values for the entries referenced in this message. This is only applicable for the ContentSyncInfoType.SYNC_ID_SET type.

Returns:
A list of the entryUUID values for the entries referenced in this message, or null if it is not applicable for this message type.

refreshDeletes

public boolean refreshDeletes()
Indicates whether the provided set of UUIDs represent entries that have been removed. This is only applicable for the ContentSyncInfoType.SYNC_ID_SET type.

Returns:
true if the associated set of entryUUIDs represent entries that have been deleted, or false if they represent entries that remain unchanged or if it is not applicable for this message type.

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.

Overrides:
getIntermediateResponseName in class IntermediateResponse
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.

Overrides:
valueToString in class IntermediateResponse
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 void toString(java.lang.StringBuilder buffer)
Appends a string representation of this intermediate response to the provided buffer.

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