Interface SubentryChangeListener


  • @PublicAPI(stability=VOLATILE,
               mayInstantiate=false,
               mayExtend=true,
               mayInvoke=false)
    public interface SubentryChangeListener
    This interface defines a mechanism that Directory Server components may use if they need to be notified of changes that are being made to subentries in the Directory Server.

    Each change listener will be notified whenever an update is being made to subentry in the server, so the listener should use a very efficient mechanism for determining whether any action is required for the associated operation and quickly return for cases in which the update is not applicable.

    The interface consists of two separate classes of methods. Check methods are invoked to verify that a specific operation performed on subentry is acceptable and if so the server may proceed with that operation further. Handle methods are invoked to notify that specific operation has occured on subentry thus serving purely as notification mechanism. While Check methods can affect the outcome of given operation Handle methods cannot affect the operation out- come in any way. Also note that Handle methods are invoked before any actual operation response to the client is sent.

    This interface is intended for the server components that either require to track changes to subentries within the server or need to evaluate and take actions on specific changes being made to subentries within the server. Eg server components implementing their configuration objects as administrative subentries.
    • Method Detail

      • checkSubentryAddAcceptable

        void checkSubentryAddAcceptable​(Entry entry)
                                 throws LdapException
        Performs any checking that may be required before subentry add operation.
        Parameters:
        entry - subentry being added to the server.
        Throws:
        LdapException - if operation is not acceptable for this subentry.
      • checkSubentryDeleteAcceptable

        void checkSubentryDeleteAcceptable​(Entry entry)
                                    throws LdapException
        Performs any checking that may be required before subentry delete operation.
        Parameters:
        entry - subentry being deleted in the server.
        Throws:
        LdapException - if operation is not acceptable for this subentry.
      • checkSubentryModifyAcceptable

        void checkSubentryModifyAcceptable​(Entry oldEntry,
                                           Entry newEntry)
                                    throws LdapException
        Performs any checking that may be required before subentry modify operation.
        Parameters:
        oldEntry - subentry being modified in the server.
        newEntry - subentry with modifications applied.
        Throws:
        LdapException - if operation is not acceptable for this subentry.
      • checkSubentryModifyDNAcceptable

        void checkSubentryModifyDNAcceptable​(Entry oldEntry,
                                             Entry newEntry)
                                      throws LdapException
        Performs any checking that may be required before subentry modify DN operation.
        Parameters:
        oldEntry - subentry being modified in the server.
        newEntry - subentry with modifications applied.
        Throws:
        LdapException - if operation is not acceptable for this subentry.
      • handleSubentryAdd

        void handleSubentryAdd​(Entry entry)
        Performs any processing that may be required after a subentry add operation.
        Parameters:
        entry - The subentry that was added to the server.
      • handleSubentryDelete

        void handleSubentryDelete​(Entry entry)
        Performs any processing that may be required after a subentry delete operation.
        Parameters:
        entry - The subentry that was removed from the server.
      • handleSubentryModify

        void handleSubentryModify​(Entry oldEntry,
                                  Entry newEntry)
        Performs any processing that may be required after a subentry modify operation.
        Parameters:
        oldEntry - The subentry before it was updated.
        newEntry - The subentry after it was updated.
      • handleSubentryModifyDN

        void handleSubentryModifyDN​(Entry oldEntry,
                                    Entry newEntry)
        Performs any processing that may be required after a subentry modify DN operation.
        Parameters:
        oldEntry - The subentry before it was updated.
        newEntry - The subentry after it was updated.