Class ChangeLogEntry

    • Constructor Detail

      • ChangeLogEntry

        public ChangeLogEntry​(@NotNull
                              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

        @NotNull
        public static ChangeLogEntry constructChangeLogEntry​(long changeNumber,
                                                             @NotNull
                                                             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

        @NotNull
        protected static java.util.List<AttributeparseAddAttributeList​(@NotNull
                                                                         Entry entry,
                                                                         @NotNull
                                                                         java.lang.String attrName,
                                                                         @NotNull
                                                                         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

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

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

        @Nullable
        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

        @Nullable
        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

        @Nullable
        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

        @Nullable
        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

        @Nullable
        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

        @Nullable
        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

        @NotNull
        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

        @NotNull
        public final LDAPResult processChange​(@NotNull
                                              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.