Class ChangeLogEntry

    • Field Detail

      • ATTR_CHANGE_NUMBER

        public static final java.lang.String ATTR_CHANGE_NUMBER
        The name of the attribute that contains the change number that identifies the change and the order it was processed in the server.
        See Also:
        Constant Field Values
      • ATTR_TARGET_DN

        public static final java.lang.String ATTR_TARGET_DN
        The name of the attribute that contains the DN of the entry targeted by the change.
        See Also:
        Constant Field Values
      • ATTR_CHANGE_TYPE

        public static final java.lang.String ATTR_CHANGE_TYPE
        The name of the attribute that contains the type of change made to the target entry.
        See Also:
        Constant Field Values
      • ATTR_CHANGES

        public static final java.lang.String ATTR_CHANGES
        The name of the attribute used to hold a list of changes. For an add operation, this will be an LDIF representation of the attributes that make up the entry. For a modify operation, this will be an LDIF representation of the changes to the target entry.
        See Also:
        Constant Field Values
      • ATTR_NEW_RDN

        public static final java.lang.String ATTR_NEW_RDN
        The name of the attribute used to hold the new RDN for a modify DN operation.
        See Also:
        Constant Field Values
      • ATTR_DELETE_OLD_RDN

        public static final java.lang.String ATTR_DELETE_OLD_RDN
        The name of the attribute used to hold the flag indicating whether the old RDN value(s) should be removed from the target entry for a modify DN operation.
        See Also:
        Constant Field Values
      • ATTR_NEW_SUPERIOR

        public static final java.lang.String ATTR_NEW_SUPERIOR
        The name of the attribute used to hold the new superior DN for a modify DN operation.
        See Also:
        Constant Field Values
      • ATTR_DELETED_ENTRY_ATTRS

        public static final java.lang.String ATTR_DELETED_ENTRY_ATTRS
        The name of the attribute used to hold information about attributes from a deleted entry, if available.
        See Also:
        Constant Field Values
    • Constructor Detail

      • ChangeLogEntry

        public ChangeLogEntry​(Entry entry)
                       throws LDAPException
        Creates a new changelog entry 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

      • constructChangeLogEntry

        public static ChangeLogEntry constructChangeLogEntry​(long changeNumber,
                                                             LDIFChangeRecord changeRecord)
                                                      throws LDAPException
        Constructs a changelog entry from information contained in the provided LDIF change record.
        Parameters:
        changeNumber - The change number to use for the constructed changelog entry.
        changeRecord - The LDIF change record with the information to include in the generated changelog entry.
        Returns:
        The changelog entry constructed from the provided change record.
        Throws:
        LDAPException - If a problem is encountered while constructing the changelog entry.
      • parseAddAttributeList

        protected static java.util.List<AttributeparseAddAttributeList​(Entry entry,
                                                                         java.lang.String attrName,
                                                                         java.lang.String targetDN)
                                                                  throws LDAPException
        Parses the attribute list from the specified attribute in a changelog entry.
        Parameters:
        entry - The entry containing the data to parse.
        attrName - The name of the attribute from which to parse the attribute list.
        targetDN - The DN of the target entry.
        Returns:
        The parsed attribute list.
        Throws:
        LDAPException - If an error occurs while parsing the attribute list.
      • getChangeNumber

        public final long getChangeNumber()
        Retrieves the change number for this changelog entry.
        Returns:
        The change number for this changelog entry.
      • getTargetDN

        public final java.lang.String getTargetDN()
        Retrieves the target DN for this changelog entry.
        Returns:
        The target DN for this changelog entry.
      • getChangeType

        public final ChangeType getChangeType()
        Retrieves the change type for this changelog entry.
        Returns:
        The change type for this changelog entry.
      • getAddAttributes

        public final java.util.List<AttributegetAddAttributes()
        Retrieves the attribute list for an add changelog entry.
        Returns:
        The attribute list for an add changelog entry, or null if this changelog entry does not represent an add operation.
      • getDeletedEntryAttributes

        public final java.util.List<AttributegetDeletedEntryAttributes()
        Retrieves the list of deleted entry attributes for a delete changelog entry. Note that this is a non-standard extension implemented by some types of servers and is not defined in draft-good-ldap-changelog and may not be provided by some servers.
        Returns:
        The delete entry attribute list for a delete changelog entry, or null if this changelog entry does not represent a delete operation or no deleted entry attributes were included in the changelog entry.
      • getModifications

        public final java.util.List<ModificationgetModifications()
        Retrieves the list of modifications for a modify changelog entry. Note some directory servers may also include changes for modify DN change records if there were updates to operational attributes (e.g., modifiersName and modifyTimestamp).
        Returns:
        The list of modifications for a modify (or possibly modify DN) changelog entry, or null if this changelog entry does not represent a modify operation or a modify DN operation with additional changes.
      • getNewRDN

        public final java.lang.String getNewRDN()
        Retrieves the new RDN for a modify DN changelog entry.
        Returns:
        The new RDN for a modify DN changelog entry, or null if this changelog entry does not represent a modify DN operation.
      • deleteOldRDN

        public final boolean deleteOldRDN()
        Indicates whether the old RDN value(s) should be removed from the entry targeted by this modify DN changelog entry.
        Returns:
        true if the old RDN value(s) should be removed from the entry, or false if not or if this changelog entry does not represent a modify DN operation.
      • getNewSuperior

        public final java.lang.String getNewSuperior()
        Retrieves the new superior DN for a modify DN changelog entry.
        Returns:
        The new superior DN for a modify DN changelog entry, or null if there is no new superior DN, or if this changelog entry does not represent a modify DN operation.
      • getNewDN

        public final java.lang.String getNewDN()
        Retrieves the DN of the entry after the change has been processed. For an add or modify operation, the new DN will be the same as the target DN. For a modify DN operation, the new DN will be constructed from the original DN, the new RDN, and the new superior DN. For a delete operation, it will be null because the entry will no longer exist.
        Returns:
        The DN of the entry after the change has been processed, or null if the entry no longer exists.
      • toLDIFChangeRecord

        public final LDIFChangeRecord toLDIFChangeRecord()
        Retrieves an LDIF change record that is analogous to the operation represented by this changelog entry.
        Returns:
        An LDIF change record that is analogous to the operation represented by this changelog entry.
      • processChange

        public final LDAPResult processChange​(LDAPInterface connection)
                                       throws LDAPException
        Processes the operation represented by this changelog entry using the provided LDAP connection.
        Parameters:
        connection - The connection (or connection pool) to use to process the operation.
        Returns:
        The result of processing the operation.
        Throws:
        LDAPException - If the operation could not be processed successfully.