com.unboundid.ldap.sdk.unboundidds
Class UnboundIDChangeLogEntry

java.lang.Object
  extended by com.unboundid.ldap.sdk.Entry
      extended by com.unboundid.ldap.sdk.ReadOnlyEntry
          extended by com.unboundid.ldap.sdk.ChangeLogEntry
              extended by com.unboundid.ldap.sdk.unboundidds.UnboundIDChangeLogEntry
All Implemented Interfaces:
LDIFRecord, java.io.Serializable

@NotMutable
@ThreadSafety(level=COMPLETELY_THREADSAFE)
public final class UnboundIDChangeLogEntry
extends ChangeLogEntry

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 provides an implementation of a changelog entry which provides support for all standard changelog entry attributes as well as those unique to the UnboundID Directory Server.

See Also:
Serialized Form

Field Summary
static java.lang.String ATTR_AFTER_VALUES
          The name of the attribute used to hold the resulting values for all attributes affected by the change.
static java.lang.String ATTR_AFTER_VIRTUAL_VALUES
          The name of the attribute used to hold information about virtual values for modified attributes after the change.
static java.lang.String ATTR_BEFORE_VALUES
          The name of the attribute used to hold the previous values for all attributes affected by the change.
static java.lang.String ATTR_BEFORE_VIRTUAL_VALUES
          The name of the attribute used to hold information about virtual values for modified attributes before the change.
static java.lang.String ATTR_CHANGE_TIME
          The name of the attribute used to hold a timestamp of the time the change was processed.
static java.lang.String ATTR_CHANGE_TO_SOFT_DELETED_ENTRY
          The name of the attribute used to indicate whether the operation represents a change to a soft-deleted entry.
static java.lang.String ATTR_EXCEEDED_MAX_VALUES
          The name of the attribute used to hold information about updated attributes which had more values (whether before the change, after the change, or both) than allowed to be shown in the before/after values attributes.
static java.lang.String ATTR_EXCLUDED_OPERATIONAL_ATTR_COUNT
          The name of the attribute used to hold information about the number of operational attributes that may have been excluded by access control and/or sensitive attribute processing.
static java.lang.String ATTR_EXCLUDED_OPERATIONAL_ATTR_NAME
          The name of the attribute used to hold information about the names of the operational attributes that may have been excluded by access control and/or sensitive attribute processing.
static java.lang.String ATTR_EXCLUDED_USER_ATTR_COUNT
          The name of the attribute used to hold information about the number of user attributes that may have been excluded by access control and/or sensitive attribute processing.
static java.lang.String ATTR_EXCLUDED_USER_ATTR_NAME
          The name of the attribute used to hold information about the names of the user attributes that may have been excluded by access control and/or sensitive attribute processing.
static java.lang.String ATTR_KEY_VALUES
          The name of the attribute used to hold the values of key attributes from the entry after the change was applied.
static java.lang.String ATTR_KEY_VIRTUAL_VALUES
          The name of the attribute used to hold information about virtual values for key attributes after the change.
static java.lang.String ATTR_LOCAL_CSN
          The name of the attribute used to hold the local change sequence number assigned to the change.
static java.lang.String ATTR_NOTIFICATION_DESTINATION_ENTRY_UUID
          The name of the attribute used to hold the entryUUID values for the notification destinations matched by the change.
static java.lang.String ATTR_NOTIFICATION_PROPERTIES
          The name of the attribute used to hold a number of properties related to the notification matched by the change.
static java.lang.String ATTR_SOFT_DELETE_TO_DN
          The name of the attribute used to hold the DN of the soft-deleted entry resulting from a soft delete operation.
static java.lang.String ATTR_TARGET_ATTRIBUTE
          The name of the attribute used to hold the names of the attributes targeted by the change.
static java.lang.String ATTR_TARGET_UNIQUE_ID
          The name of the attribute used to hold the entryUUID value for the entry that was targeted by the change.
static java.lang.String ATTR_UNDELETE_FROM_DN
          The name of the attribute used to hold the DN of the soft-deleted entry from which the content of an undelete was obtained.
static java.lang.String ATTR_VIRTUAL_ATTRS
          The name of the attribute used to hold information about virtual values for an add or delete operation.
static java.lang.String ATTR_VIRTUAL_EXCEEDED_MAX_VALUES
          The name of the attribute used to hold information about updated attributes which had more virtual values (whether before the change, after the change, or both) than allowed to be shown in the before/after values attributes.
 
Fields inherited from class com.unboundid.ldap.sdk.ChangeLogEntry
ATTR_CHANGE_NUMBER, ATTR_CHANGE_TYPE, ATTR_CHANGES, ATTR_DELETE_OLD_RDN, ATTR_DELETED_ENTRY_ATTRS, ATTR_NEW_RDN, ATTR_NEW_SUPERIOR, ATTR_TARGET_DN
 
Constructor Summary
UnboundIDChangeLogEntry(Entry entry)
          Creates a new UnboundID changelog entry object from the provided entry.
 
Method Summary
 ReadOnlyEntry constructPartialEntryAfterChange()
          Attempts to construct a partial representation of the target entry as it appeared after the change was processed.
 ReadOnlyEntry constructPartialEntryAfterChange(boolean includeVirtual)
          Attempts to construct a partial representation of the target entry as it appeared after the change was processed.
 ReadOnlyEntry constructPartialEntryBeforeChange()
          Attempts to construct a partial representation of the target entry as it appeared before the change was processed.
 ReadOnlyEntry constructPartialEntryBeforeChange(boolean includeVirtual)
          Attempts to construct a partial representation of the target entry as it appeared before the change was processed.
 java.util.List<Attribute> getAddAttributes(boolean includeVirtual)
          Retrieves the attribute list for an add changelog entry, optionally including information about virtual attributes.
 java.util.List<Attribute> getAddVirtualAttributes()
          Retrieves the virtual attribute list for an add changelog entry, if available.
 Attribute getAttributeAfterChange(java.lang.String name)
          Retrieves the specified attribute as it appeared in the target entry after the change was processed, if available.
 Attribute getAttributeAfterChange(java.lang.String name, boolean includeVirtual)
          Retrieves the specified attribute as it appeared in the target entry after the change was processed, if available.
 Attribute getAttributeBeforeChange(java.lang.String name)
          Retrieves the specified attribute as it appeared in the target entry before the change was processed, if available.
 Attribute getAttributeBeforeChange(java.lang.String name, boolean includeVirtual)
          Retrieves the specified attribute as it appeared in the target entry before the change was processed, if available.
 java.util.List<ChangeLogEntryAttributeExceededMaxValuesCount> getAttributesThatExceededMaxValuesCount()
          Retrieves information about any attributes updated in the associated modify or modify DN operation that had too many values to include in the changelog entry's set of before and/or after values.
 java.util.Date getChangeTime()
          Retrieves the time that the change was processed, if available.
 java.lang.Boolean getChangeToSoftDeletedEntry()
          Indicates whether the associated modify or delete operation targeted a soft-deleted entry.
 java.util.List<Attribute> getDeletedEntryAttributes(boolean includeVirtual)
          Retrieves the list of attributes contained in the target entry at the time that it was deleted, optionally including information about virtual attributes.
 java.util.List<Attribute> getDeletedEntryVirtualAttributes()
          Retrieves the virtual attribute list for a delete changelog entry, if available.
 java.util.List<java.lang.String> getExcludedOperationalAttributeNames()
          Retrieves the names of any operational attributes for which information was excluded from the changelog entry by access control and/or sensitive attribute processing, if available.
 java.util.List<java.lang.String> getExcludedUserAttributeNames()
          Retrieves the names of any user attributes for which information was excluded from the changelog entry by access control and/or sensitive attribute processing, if available.
 java.util.List<Attribute> getKeyEntryAttributes()
          Retrieves a list containing key attributes from the target entry, as defined in the server configuration.
 java.util.List<Attribute> getKeyEntryAttributes(boolean includeVirtual)
          Retrieves a list containing key attributes from the target entry, as defined in the server configuration.
 java.util.List<Attribute> getKeyEntryVirtualAttributes()
          Retrieves a list containing virtual values for key attributes from the target entry, as defined in the server configuration.
 java.lang.String getLocalCSN()
          Retrieves the local change sequence number (CSN) for the change, if available.
 java.util.List<java.lang.String> getNotificationDestinationEntryUUIDs()
          Retrieves a list of the entryUUID values for any notification destinations for which the change matches one or more subscriptions.
 java.util.List<java.lang.String> getNotificationProperties()
          Retrieves a list of any notification properties included in the changelog entry.
 int getNumExcludedOperationalAttributes()
          Retrieves the number of operational attributes for which information was excluded from the changelog entry by access control and/or sensitive attribute processing, if available.
 int getNumExcludedUserAttributes()
          Retrieves the number of user attributes for which information was excluded from the changelog entry by access control and/or sensitive attribute processing, if available.
 java.lang.String getSoftDeleteToDN()
          Retrieves the DN of the soft-deleted entry that resulted from the associated soft delete operation.
 java.util.List<java.lang.String> getTargetAttributeNames()
          Retrieves the names of any attributes targeted by the change, if available.
 java.lang.String getTargetUniqueID()
          Retrieves the entryUUID value of the entry targeted by the change, if available.
 java.lang.String getUndeleteFromDN()
          Retrieves the DN of the soft-deleted entry from which the content of an add operation was obtained, if that operation represents an undelete rather than a normal add.
 java.util.List<Attribute> getUpdatedAttributesAfterChange()
          Retrieves a list containing the set of attributes that were updated in the associated modify or modify DN operation as they appeared after the change was processed.
 java.util.List<Attribute> getUpdatedAttributesAfterChange(boolean includeVirtual)
          Retrieves a list containing the set of attributes (optionally including both real and virtual values) that were updated in the associated modify or modify DN operation as they appeared after the change was processed.
 java.util.List<Attribute> getUpdatedAttributesBeforeChange()
          Retrieves a list containing the set of attributes that were updated in the associated modify or modify DN operation as they appeared before the change was processed.
 java.util.List<Attribute> getUpdatedAttributesBeforeChange(boolean includeVirtual)
          Retrieves a list containing the set of attributes (optionally including both real and virtual values) that were updated in the associated modify or modify DN operation as they appeared before the change was processed.
 java.util.List<Attribute> getUpdatedVirtualAttributesAfterChange()
          Retrieves a list containing information about virtual values for attributes that were updated in the associated modify or modify DN operation, as they appeared in the entry after the change was processed.
 java.util.List<Attribute> getUpdatedVirtualAttributesBeforeChange()
          Retrieves a list containing information about virtual values for attributes that were updated in the associated modify or modify DN operation, as they appeared in the entry before the change was processed.
 java.util.List<ChangeLogEntryAttributeExceededMaxValuesCount> getVirtualAttributesThatExceededMaxValuesCount()
          Retrieves information about any attributes updated in the associated modify or modify DN operation that had too many virtual values to include in the changelog entry's set of before and/or after virtual values.
 
Methods inherited from class com.unboundid.ldap.sdk.ChangeLogEntry
constructChangeLogEntry, deleteOldRDN, getAddAttributes, getChangeNumber, getChangeType, getDeletedEntryAttributes, getModifications, getNewDN, getNewRDN, getNewSuperior, getTargetDN, parseAddAttributeList, processChange, toLDIFChangeRecord
 
Methods inherited from class com.unboundid.ldap.sdk.ReadOnlyEntry
addAttribute, addAttribute, addAttribute, addAttribute, addAttribute, removeAttribute, removeAttributeValue, removeAttributeValue, removeAttributeValues, removeAttributeValues, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setDN, setDN
 
Methods inherited from class com.unboundid.ldap.sdk.Entry
addAttribute, applyModifications, applyModifications, diff, diff, duplicate, equals, getAttribute, getAttribute, getAttributes, getAttributesWithOptions, getAttributeValue, getAttributeValueAsBoolean, getAttributeValueAsDate, getAttributeValueAsDN, getAttributeValueAsInteger, getAttributeValueAsLong, getAttributeValueByteArrays, getAttributeValueBytes, getAttributeValues, getDN, getObjectClassAttribute, getObjectClassValues, getParentDN, getParentDNString, getParsedDN, getRDN, getSchema, hasAttribute, hasAttribute, hasAttribute, hasAttributeValue, hasAttributeValue, hasAttributeValue, hasAttributeValue, hashCode, hasObjectClass, intersectEntries, matchesBaseAndScope, matchesBaseAndScope, mergeEntries, removeAttributeValue, removeAttributeValue, setAttribute, toLDIF, toLDIF, toLDIF, toLDIF, toLDIFString, toLDIFString, toLDIFString, toLDIFString, toString, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

ATTR_BEFORE_VALUES

public static final java.lang.String ATTR_BEFORE_VALUES
The name of the attribute used to hold the previous values for all attributes affected by the change.

See Also:
Constant Field Values

ATTR_AFTER_VALUES

public static final java.lang.String ATTR_AFTER_VALUES
The name of the attribute used to hold the resulting values for all attributes affected by the change.

See Also:
Constant Field Values

ATTR_CHANGE_TO_SOFT_DELETED_ENTRY

public static final java.lang.String ATTR_CHANGE_TO_SOFT_DELETED_ENTRY
The name of the attribute used to indicate whether the operation represents a change to a soft-deleted entry.

See Also:
Constant Field Values

ATTR_KEY_VALUES

public static final java.lang.String ATTR_KEY_VALUES
The name of the attribute used to hold the values of key attributes from the entry after the change was applied.

See Also:
Constant Field Values

ATTR_EXCEEDED_MAX_VALUES

public static final java.lang.String ATTR_EXCEEDED_MAX_VALUES
The name of the attribute used to hold information about updated attributes which had more values (whether before the change, after the change, or both) than allowed to be shown in the before/after values attributes.

See Also:
Constant Field Values

ATTR_EXCLUDED_USER_ATTR_COUNT

public static final java.lang.String ATTR_EXCLUDED_USER_ATTR_COUNT
The name of the attribute used to hold information about the number of user attributes that may have been excluded by access control and/or sensitive attribute processing.

See Also:
Constant Field Values

ATTR_EXCLUDED_OPERATIONAL_ATTR_COUNT

public static final java.lang.String ATTR_EXCLUDED_OPERATIONAL_ATTR_COUNT
The name of the attribute used to hold information about the number of operational attributes that may have been excluded by access control and/or sensitive attribute processing.

See Also:
Constant Field Values

ATTR_EXCLUDED_USER_ATTR_NAME

public static final java.lang.String ATTR_EXCLUDED_USER_ATTR_NAME
The name of the attribute used to hold information about the names of the user attributes that may have been excluded by access control and/or sensitive attribute processing.

See Also:
Constant Field Values

ATTR_EXCLUDED_OPERATIONAL_ATTR_NAME

public static final java.lang.String ATTR_EXCLUDED_OPERATIONAL_ATTR_NAME
The name of the attribute used to hold information about the names of the operational attributes that may have been excluded by access control and/or sensitive attribute processing.

See Also:
Constant Field Values

ATTR_TARGET_UNIQUE_ID

public static final java.lang.String ATTR_TARGET_UNIQUE_ID
The name of the attribute used to hold the entryUUID value for the entry that was targeted by the change.

See Also:
Constant Field Values

ATTR_CHANGE_TIME

public static final java.lang.String ATTR_CHANGE_TIME
The name of the attribute used to hold a timestamp of the time the change was processed.

See Also:
Constant Field Values

ATTR_LOCAL_CSN

public static final java.lang.String ATTR_LOCAL_CSN
The name of the attribute used to hold the local change sequence number assigned to the change.

See Also:
Constant Field Values

ATTR_SOFT_DELETE_TO_DN

public static final java.lang.String ATTR_SOFT_DELETE_TO_DN
The name of the attribute used to hold the DN of the soft-deleted entry resulting from a soft delete operation.

See Also:
Constant Field Values

ATTR_TARGET_ATTRIBUTE

public static final java.lang.String ATTR_TARGET_ATTRIBUTE
The name of the attribute used to hold the names of the attributes targeted by the change.

See Also:
Constant Field Values

ATTR_UNDELETE_FROM_DN

public static final java.lang.String ATTR_UNDELETE_FROM_DN
The name of the attribute used to hold the DN of the soft-deleted entry from which the content of an undelete was obtained.

See Also:
Constant Field Values

ATTR_VIRTUAL_ATTRS

public static final java.lang.String ATTR_VIRTUAL_ATTRS
The name of the attribute used to hold information about virtual values for an add or delete operation.

See Also:
Constant Field Values

ATTR_BEFORE_VIRTUAL_VALUES

public static final java.lang.String ATTR_BEFORE_VIRTUAL_VALUES
The name of the attribute used to hold information about virtual values for modified attributes before the change.

See Also:
Constant Field Values

ATTR_AFTER_VIRTUAL_VALUES

public static final java.lang.String ATTR_AFTER_VIRTUAL_VALUES
The name of the attribute used to hold information about virtual values for modified attributes after the change.

See Also:
Constant Field Values

ATTR_KEY_VIRTUAL_VALUES

public static final java.lang.String ATTR_KEY_VIRTUAL_VALUES
The name of the attribute used to hold information about virtual values for key attributes after the change.

See Also:
Constant Field Values

ATTR_VIRTUAL_EXCEEDED_MAX_VALUES

public static final java.lang.String ATTR_VIRTUAL_EXCEEDED_MAX_VALUES
The name of the attribute used to hold information about updated attributes which had more virtual values (whether before the change, after the change, or both) than allowed to be shown in the before/after values attributes.

See Also:
Constant Field Values

ATTR_NOTIFICATION_DESTINATION_ENTRY_UUID

public static final java.lang.String ATTR_NOTIFICATION_DESTINATION_ENTRY_UUID
The name of the attribute used to hold the entryUUID values for the notification destinations matched by the change.

See Also:
Constant Field Values

ATTR_NOTIFICATION_PROPERTIES

public static final java.lang.String ATTR_NOTIFICATION_PROPERTIES
The name of the attribute used to hold a number of properties related to the notification matched by the change.

See Also:
Constant Field Values
Constructor Detail

UnboundIDChangeLogEntry

public UnboundIDChangeLogEntry(Entry entry)
                        throws LDAPException
Creates a new UnboundID changelog entry object from the provided entry.

Parameters:
entry - The entry from which to create this changelog entry.
Throws:
LDAPException - If the provided entry cannot be parsed as a changelog entry.
Method Detail

getTargetUniqueID

public java.lang.String getTargetUniqueID()
Retrieves the entryUUID value of the entry targeted by the change, if available.

Returns:
The entryUUID value of the entry targeted by the change, or null if it was not included in the changelog entry.

getLocalCSN

public java.lang.String getLocalCSN()
Retrieves the local change sequence number (CSN) for the change, if available.

Returns:
The local CSN for the change, or null if it was not included in the changelog entry.

getChangeTime

public java.util.Date getChangeTime()
Retrieves the time that the change was processed, if available.

Returns:
The time that the change was processed, or null if it was not included in the changelog entry.

getAddAttributes

public java.util.List<Attribute> getAddAttributes(boolean includeVirtual)
Retrieves the attribute list for an add changelog entry, optionally including information about virtual attributes.

Parameters:
includeVirtual - Indicates whether to include both real and virtual values (if true, or only real values (if false), for the attributes to be returned.
Returns:
The attribute list for an add changelog entry, optionally including virtual attributes, or null if this changelog entry does not represent an add operation.

getAddVirtualAttributes

public java.util.List<Attribute> getAddVirtualAttributes()
Retrieves the virtual attribute list for an add changelog entry, if available.

Returns:
The virtual attribute list for an add changelog entry, or null if the changelog entry does not represent an add operation, or an empty list if it does represent an add operation but no virtual attribute information is available in the changelog entry.

getDeletedEntryAttributes

public java.util.List<Attribute> getDeletedEntryAttributes(boolean includeVirtual)
Retrieves the list of attributes contained in the target entry at the time that it was deleted, optionally including information about virtual attributes.

Parameters:
includeVirtual - Indicates whether to include both real and virtual values (if true, or only real values (if false), for the attributes to be returned.
Returns:
The list of attributes contained in the target entry at the time that it was deleted, optionally including virtual attributes, or null if this changelog entry does not represent a delete operation or no deleted attribute information is available.

getDeletedEntryVirtualAttributes

public java.util.List<Attribute> getDeletedEntryVirtualAttributes()
Retrieves the virtual attribute list for a delete changelog entry, if available.

Returns:
The virtual attribute list for a delete changelog entry, or null if the changelog entry does not represent a delete operation, or an empty list if it does represent a delete operation but no virtual attribute information is available in the changelog entry.

getUpdatedAttributesBeforeChange

public java.util.List<Attribute> getUpdatedAttributesBeforeChange()
Retrieves a list containing the set of attributes that were updated in the associated modify or modify DN operation as they appeared before the change was processed. Virtual attribute information will not be included.

Returns:
A list containing the set of updated attributes as they appeared in the entry before the associated modify or modify DN was processed, or an empty list if the change was not a modify or modify DN operation, none of the updated attributes previously existed in the target entry, the previous versions of the updated attributes had too many values to include, or the server is not configured to provide (or does not support providing) previous versions of updated attributes.

getUpdatedAttributesBeforeChange

public java.util.List<Attribute> getUpdatedAttributesBeforeChange(boolean includeVirtual)
Retrieves a list containing the set of attributes (optionally including both real and virtual values) that were updated in the associated modify or modify DN operation as they appeared before the change was processed.

Parameters:
includeVirtual - Indicates whether to include both real and virtual values (if true, or only real values (if false), for the attributes to be returned.
Returns:
A list containing the set of updated attributes as they appeared in the entry before the associated modify or modify DN was processed, or an empty list if the change was not a modify or modify DN operation, none of the updated attributes previously existed in the target entry, the previous versions of the updated attributes had too many values to include, or the server is not configured to provide (or does not support providing) previous versions of updated attributes.

getUpdatedVirtualAttributesBeforeChange

public java.util.List<Attribute> getUpdatedVirtualAttributesBeforeChange()
Retrieves a list containing information about virtual values for attributes that were updated in the associated modify or modify DN operation, as they appeared in the entry before the change was processed.

Returns:
A list containing information about virtual values for attributes that were updated in the associated modify or modify DN operation, as they appeared in the entry before the change was processed. It may be empty if the change was not a modify or modify DN operation, or if the changelog entry did not include any information about virtual attributes as they appeared before the change.

getUpdatedAttributesAfterChange

public java.util.List<Attribute> getUpdatedAttributesAfterChange()
Retrieves a list containing the set of attributes that were updated in the associated modify or modify DN operation as they appeared after the change was processed. Virtual attribute information will not be included.

Returns:
A list containing the set of updated attributes as they appeared in the entry after the associated modify or modify DN was processed, or an empty list if the change was not a modify or modify DN operation, none of the updated attributes existed in the entry after the change was processed, the resulting versions of the updated attributes had too many values to include, or the server is not configured to provide (or does not support providing) resulting versions of updated attributes.

getUpdatedAttributesAfterChange

public java.util.List<Attribute> getUpdatedAttributesAfterChange(boolean includeVirtual)
Retrieves a list containing the set of attributes (optionally including both real and virtual values) that were updated in the associated modify or modify DN operation as they appeared after the change was processed.

Parameters:
includeVirtual - Indicates whether to include both real and virtual values (if true, or only real values (if false), for the attributes to be returned.
Returns:
A list containing the set of updated attributes as they appeared in the entry after the associated modify or modify DN was processed, or an empty list if the change was not a modify or modify DN operation, none of the updated attributes previously existed in the target entry, the previous versions of the updated attributes had too many values to include, or the server is not configured to provide (or does not support providing) previous versions of updated attributes.

getUpdatedVirtualAttributesAfterChange

public java.util.List<Attribute> getUpdatedVirtualAttributesAfterChange()
Retrieves a list containing information about virtual values for attributes that were updated in the associated modify or modify DN operation, as they appeared in the entry after the change was processed.

Returns:
A list containing information about virtual values for attributes that were updated in the associated modify or modify DN operation, as they appeared in the entry after the change was processed. It may be empty if the change was not a modify or modify DN operation, or if the changelog entry did not include any information about virtual attributes as they appeared after the change.

getAttributesThatExceededMaxValuesCount

public java.util.List<ChangeLogEntryAttributeExceededMaxValuesCount> getAttributesThatExceededMaxValuesCount()
Retrieves information about any attributes updated in the associated modify or modify DN operation that had too many values to include in the changelog entry's set of before and/or after values.

Returns:
Information about attributes updated in the associated modify or modify DN operation that had too many values to include in the changelog entry's set of before and/or after values, or an empty list if none of the updated attributes had too many values, the server is not configured to provide (or does not support providing) previous and resulting versions of updated attributes, or the change was not the result of a modify or modify DN operation.

getVirtualAttributesThatExceededMaxValuesCount

public java.util.List<ChangeLogEntryAttributeExceededMaxValuesCount> getVirtualAttributesThatExceededMaxValuesCount()
Retrieves information about any attributes updated in the associated modify or modify DN operation that had too many virtual values to include in the changelog entry's set of before and/or after virtual values.

Returns:
Information about attributes updated in the associated modify or modify DN operation that had too many virtual values to include in the changelog entry's set of before and/or after virtual values, or an empty list if none of the updated attributes had too many virtual values, the server is not configured to provide (or does not support providing) previous and resulting versions of updated attributes, or the change was not the result of a modify or modify DN operation.

getKeyEntryAttributes

public java.util.List<Attribute> getKeyEntryAttributes()
Retrieves a list containing key attributes from the target entry, as defined in the server configuration. For add, modify, and modify DN operations, this will include the key attributes as they appeared in the entry after the change had been processed. For delete operations, this will include the key attributes as they appeared in the entry just before it was removed.

Returns:
A list containing key attributes from the target entry, or an empty list if the associated entry did not have any key attributes or there are no key attribute types defined in the server configuration.

getKeyEntryAttributes

public java.util.List<Attribute> getKeyEntryAttributes(boolean includeVirtual)
Retrieves a list containing key attributes from the target entry, as defined in the server configuration. For add, modify, and modify DN operations, this will include the key attributes as they appeared in the entry after the change had been processed. For delete operations, this will include the key attributes as they appeared in the entry just before it was removed.

Parameters:
includeVirtual - Indicates whether to include both real and virtual values (if true, or only real values (if false), for the attributes to be returned.
Returns:
A list containing key attributes from the target entry, or an empty list if the associated entry did not have any key attributes or there are no key attribute types defined in the server configuration.

getKeyEntryVirtualAttributes

public java.util.List<Attribute> getKeyEntryVirtualAttributes()
Retrieves a list containing virtual values for key attributes from the target entry, as defined in the server configuration. For add, modify, and modify DN operations, this will include the virtual values for key attributes as they appeared in the entry after the change had been processed. For delete operations, this will include the virtual values for key attributes as they appeared in the entry just before it was removed.

Returns:
A list containing virtual values for key attributes from the target entry, or an empty list if the associated entry did not have any virtual values for key attributes or there are no key attribute types defined in the server configuration.

getNumExcludedUserAttributes

public int getNumExcludedUserAttributes()
Retrieves the number of user attributes for which information was excluded from the changelog entry by access control and/or sensitive attribute processing, if available.

Returns:
The number of user attributes for which information was excluded from the changelog entry by access control and/or sensitive attribute processing, or -1 if that information was not included in the changelog entry.

getNumExcludedOperationalAttributes

public int getNumExcludedOperationalAttributes()
Retrieves the number of operational attributes for which information was excluded from the changelog entry by access control and/or sensitive attribute processing, if available.

Returns:
The number of operational attributes for which information was excluded from the changelog entry by access control and/or sensitive attribute processing, or -1 if that information was not included in the changelog entry.

getExcludedUserAttributeNames

public java.util.List<java.lang.String> getExcludedUserAttributeNames()
Retrieves the names of any user attributes for which information was excluded from the changelog entry by access control and/or sensitive attribute processing, if available.

Returns:
The names of any user attributes for which information was excluded from the changelog entry by access control and/or sensitive attribute processing, or an empty list if that information was not included in the changelog entry.

getExcludedOperationalAttributeNames

public java.util.List<java.lang.String> getExcludedOperationalAttributeNames()
Retrieves the names of any operational attributes for which information was excluded from the changelog entry by access control and/or sensitive attribute processing, if available.

Returns:
The names of any operational attributes for which information was excluded from the changelog entry by access control and/or sensitive processing, or an empty list if that information was not included in the changelog entry.

getChangeToSoftDeletedEntry

public java.lang.Boolean getChangeToSoftDeletedEntry()
Indicates whether the associated modify or delete operation targeted a soft-deleted entry.

Returns:
true if the modify or delete operation targeted a soft-deleted entry, false if not, or null if that information was not included in the changelog entry (which likely indicates that the operation did not target a soft-deleted entry).

getSoftDeleteToDN

public java.lang.String getSoftDeleteToDN()
Retrieves the DN of the soft-deleted entry that resulted from the associated soft delete operation.

Returns:
The DN of the soft-deleted entry that resulted from the associated soft delete operation, or null if that information was not included in the changelog entry (e.g., because it does not represent a soft delete operation).

getUndeleteFromDN

public java.lang.String getUndeleteFromDN()
Retrieves the DN of the soft-deleted entry from which the content of an add operation was obtained, if that operation represents an undelete rather than a normal add.

Returns:
The DN of the soft-deleted entry from which the content of an add operation was obtained, or null if that information was not included in the changelog entry (e.g., because it does not represent an undelete operation).

getTargetAttributeNames

public java.util.List<java.lang.String> getTargetAttributeNames()
Retrieves the names of any attributes targeted by the change, if available. For an add operation, this may include the attributes in the entry that was added. For a delete operation, this may include the attributes in the entry that was deleted. For a modify operation, this may include the attributes targeted by modifications. For a modify DN operation, this may include attributes used in the new RDN and potentially any other attributes altered during the change.

Note that this information may not be available in all changelog entries or Directory Server versions, and complete information about some changes may only be available in some changelog configurations (e.g., information about attributes included in delete operations may only be available if changelog-deleted-entry-include-attribute is configured, and information about changes to non-RDN attributes for modify DN operations may only be available if changelog-max-before-after-values is configured).

Returns:
The names of any attributes targeted by the change, or an empty list if that information was not included in the changelog entry.

getNotificationDestinationEntryUUIDs

public java.util.List<java.lang.String> getNotificationDestinationEntryUUIDs()
Retrieves a list of the entryUUID values for any notification destinations for which the change matches one or more subscriptions.

Returns:
A list of the entryUUID values for any notification destinations for which the change matches one or more subscriptions, or an empty list if that information was not included in the changelog entry.

getNotificationProperties

public java.util.List<java.lang.String> getNotificationProperties()
Retrieves a list of any notification properties included in the changelog entry.

Returns:
A list of any notification properties included in the changelog entry, or an empty list if that information was not included in the changelog entry.

getAttributeBeforeChange

public Attribute getAttributeBeforeChange(java.lang.String name)
                                   throws ChangeLogEntryAttributeExceededMaxValuesException
Retrieves the specified attribute as it appeared in the target entry before the change was processed, if available. It will not include any virtual values.

Parameters:
name - The name of the attribute to retrieve as it appeared before the change.
Returns:
The requested attribute as it appeared in the target entry before the change was processed, or null if it was not available in the changelog entry.
Throws:
ChangeLogEntryAttributeExceededMaxValuesException - If the specified attribute had more values before the change than may be included in a changelog entry.

getAttributeBeforeChange

public Attribute getAttributeBeforeChange(java.lang.String name,
                                          boolean includeVirtual)
                                   throws ChangeLogEntryAttributeExceededMaxValuesException
Retrieves the specified attribute as it appeared in the target entry before the change was processed, if available. It may optionally include virtual values.

Parameters:
name - The name of the attribute to retrieve as it appeared before the change.
includeVirtual - Indicates whether to include both real and virtual values (if true, or only real values (if false), for the attribute to be returned.
Returns:
The requested attribute as it appeared in the target entry before the change was processed, or null if it was not available in the changelog entry.
Throws:
ChangeLogEntryAttributeExceededMaxValuesException - If the specified attribute had more values before the change than may be included in a changelog entry.

getAttributeAfterChange

public Attribute getAttributeAfterChange(java.lang.String name)
                                  throws ChangeLogEntryAttributeExceededMaxValuesException
Retrieves the specified attribute as it appeared in the target entry after the change was processed, if available. It will not include any virtual values.

Parameters:
name - The name of the attribute to retrieve as it appeared after the change.
Returns:
The requested attribute as it appeared in the target entry after the change was processed, or null if it was not available in the changelog entry.
Throws:
ChangeLogEntryAttributeExceededMaxValuesException - If the specified attribute had more values before the change than may be included in a changelog entry.

getAttributeAfterChange

public Attribute getAttributeAfterChange(java.lang.String name,
                                         boolean includeVirtual)
                                  throws ChangeLogEntryAttributeExceededMaxValuesException
Retrieves the specified attribute as it appeared in the target entry after the change was processed, if available. It may optionally include virtual values.

Parameters:
name - The name of the attribute to retrieve as it appeared after the change.
includeVirtual - Indicates whether to include both real and virtual values (if true, or only real values (if false), for the attributes to be returned.
Returns:
The requested attribute as it appeared in the target entry after the change was processed, or null if it was not available in the changelog entry.
Throws:
ChangeLogEntryAttributeExceededMaxValuesException - If the specified attribute had more values before the change than may be included in a changelog entry.

constructPartialEntryBeforeChange

public ReadOnlyEntry constructPartialEntryBeforeChange()
Attempts to construct a partial representation of the target entry as it appeared before the change was processed. The information contained in the constructed entry will be based solely on information contained in the changelog entry, including information provided in the deletedEntryAttrs, ds-changelog-before-values, ds-changelog-after-values, ds-changelog-entry-key-attr-values, and ds-changelog-attr-exceeded-max-values-count attributes. It will not include any virtual attribute information.

Returns:
A partial representation of the target entry as it appeared before the change was processed, or null if the change was an add operation and therefore the entry did not exist before the change.

constructPartialEntryBeforeChange

public ReadOnlyEntry constructPartialEntryBeforeChange(boolean includeVirtual)
Attempts to construct a partial representation of the target entry as it appeared before the change was processed. The information contained in the constructed entry will be based solely on information contained in the changelog entry, including information provided in the deletedEntryAttrs, ds-changelog-before-values, ds-changelog-after-values, ds-changelog-entry-key-attr-values, and ds-changelog-attr-exceeded-max-values-count attributes, and optionally virtual versions of all of those elements.

Parameters:
includeVirtual - Indicates whether to include both real and virtual values (if true, or only real values (if false), for the attributes to be returned.
Returns:
A partial representation of the target entry as it appeared before the change was processed, or null if the change was an add operation and therefore the entry did not exist before the change.

constructPartialEntryAfterChange

public ReadOnlyEntry constructPartialEntryAfterChange()
Attempts to construct a partial representation of the target entry as it appeared after the change was processed. The information contained in the constructed entry will be based solely on information contained in the changelog entry, including information provided in the changes, ds-changelog-after-values, and ds-changelog-entry-key-attr-values attributes. It will not include any virtual attribute information.

Returns:
A partial representation of the target entry as it appeared after the change was processed, or null if the change was a delete operation and therefore did not exist after the change.

constructPartialEntryAfterChange

public ReadOnlyEntry constructPartialEntryAfterChange(boolean includeVirtual)
Attempts to construct a partial representation of the target entry as it appeared after the change was processed. The information contained in the constructed entry will be based solely on information contained in the changelog entry, including information provided in the changes, ds-changelog-after-values, and ds-changelog-entry-key-attr-values attributes, and optionally virtual versions of all of those elements.

Parameters:
includeVirtual - Indicates whether to include both real and virtual values (if true, or only real values (if false), for the attributes to be returned.
Returns:
A partial representation of the target entry as it appeared after the change was processed, or null if the change was a delete operation and therefore did not exist after the change.