Class PluginConfigManager

    • Constructor Detail

      • PluginConfigManager

        public PluginConfigManager​(ServerContext serverContext)
        Creates a new instance of this plugin config manager.
        Parameters:
        serverContext - The server context.
    • Method Detail

      • initializePluginConfigManager

        public void initializePluginConfigManager()
                                           throws ConfigException
        Initializes this plugin configuration manager. This should only be called at Directory Server startup and before user plugins are loaded.
        Throws:
        ConfigException - If a critical configuration problem prevents the plugin initialization from succeeding.
      • initializeUserPlugins

        public void initializeUserPlugins​(Set<PluginType> pluginTypes)
                                   throws ConfigException
        Initializes any plugins defined in the directory server configuration. This should only be called at Directory Server startup and after this plugin configuration manager has been initialized.
        Parameters:
        pluginTypes - The set of plugin types for the plugins to initialize, or null to initialize all types of plugins defined in the server configuration. In general, this should only be non-null for cases in which the server is running in a special mode that only uses a minimal set of plugins (e.g., LDIF import or export).
        Throws:
        ConfigException - If a critical configuration problem prevents the plugin initialization from succeeding.
      • finalizePlugins

        public void finalizePlugins()
        Finalizes all plugins that are registered with the Directory Server.
      • getRegisteredPlugin

        public DirectoryServerPlugin<?> getRegisteredPlugin​(Dn pluginDN)
        Retrieves the plugin with the specified configuration entry DN.
        Parameters:
        pluginDN - The DN of the configuration entry for the plugin to retrieve.
        Returns:
        The requested plugin, or null if there is no such plugin.
      • invokeStartupPlugins

        public PluginResult.Startup invokeStartupPlugins()
        Invokes the set of startup plugins that have been registered with the Directory Server.
        Returns:
        The result of processing the startup plugins.
      • invokeShutdownPlugins

        public void invokeShutdownPlugins​(LocalizableMessage reason)
        Invokes the set of shutdown plugins that have been configured in the Directory Server.
        Parameters:
        reason - The human-readable reason for the shutdown.
      • invokePostConnectPlugins

        public PluginResult.PostConnect invokePostConnectPlugins​(ClientConnection clientConnection)
        Invokes the set of post-connect plugins that have been configured in the Directory Server.
        Parameters:
        clientConnection - The client connection that has been established.
        Returns:
        The result of processing the post-connect plugins.
      • invokePostDisconnectPlugins

        public void invokePostDisconnectPlugins​(ClientConnection clientConnection,
                                                DisconnectReason disconnectReason,
                                                LocalizableMessage message)
        Invokes the set of post-disconnect plugins that have been configured in the Directory Server.
        Parameters:
        clientConnection - The client connection that has been closed.
        disconnectReason - The general reason that the connection was closed.
        message - A human-readable message that may provide additional information about the closure.
      • invokeLDIFImportPlugins

        public PluginResult.ImportLDIF invokeLDIFImportPlugins​(LDIFImportConfig importConfig,
                                                               Entry entry)
        Invokes the set of LDIF import plugins that have been configured in the Directory Server.
        Parameters:
        importConfig - The LDIF import configuration used to read the associated entry.
        entry - The entry that has been read from LDIF.
        Returns:
        The result of processing the LDIF import plugins.
      • invokeLDIFImportEndPlugins

        public void invokeLDIFImportEndPlugins​(LDIFImportConfig importConfig)
        Invokes the LDIF import session finalization of LDIF import plugins that have been configured in the Directory Server.
        Parameters:
        importConfig - The LDIF import configuration used for the LDIF import session.
      • invokeLDIFImportBeginPlugins

        public void invokeLDIFImportBeginPlugins​(LDIFImportConfig importConfig)
        Invokes the LDIF import session initialization of LDIF import plugins that have been configured in the Directory Server.
        Parameters:
        importConfig - The LDIF import configuration used for the LDIF import session.
      • invokePreParseAbandonPlugins

        public PluginResult.PreParse invokePreParseAbandonPlugins​(PreParseAbandonOperation abandonOperation)
        Invokes the set of pre-parse abandon plugins that have been configured in the Directory Server.
        Parameters:
        abandonOperation - The abandon operation for which to invoke the pre-parse plugins.
        Returns:
        The result of processing the pre-parse abandon plugins.
      • invokePreParseAddPlugins

        public PluginResult.PreParse invokePreParseAddPlugins​(PreParseAddOperation addOperation)
                                                       throws CancelledResultException
        Invokes the set of pre-parse add plugins that have been configured in the Directory Server.
        Parameters:
        addOperation - The add operation for which to invoke the pre-parse plugins.
        Returns:
        The result of processing the pre-parse add plugins.
        Throws:
        CancelledResultException - if the operation should be canceled.
      • invokePreParseBindPlugins

        public PluginResult.PreParse invokePreParseBindPlugins​(PreParseBindOperation bindOperation)
        Invokes the set of pre-parse bind plugins that have been configured in the Directory Server.
        Parameters:
        bindOperation - The bind operation for which to invoke the pre-parse plugins.
        Returns:
        The result of processing the pre-parse bind plugins.
      • invokePreParseComparePlugins

        public PluginResult.PreParse invokePreParseComparePlugins​(PreParseCompareOperation compareOperation)
                                                           throws CancelledResultException
        Invokes the set of pre-parse compare plugins that have been configured in the Directory Server.
        Parameters:
        compareOperation - The compare operation for which to invoke the pre-parse plugins.
        Returns:
        The result of processing the pre-parse compare plugins.
        Throws:
        CancelledResultException - if the operation should be canceled.
      • invokePreParseDeletePlugins

        public PluginResult.PreParse invokePreParseDeletePlugins​(PreParseDeleteOperation deleteOperation)
                                                          throws CancelledResultException
        Invokes the set of pre-parse delete plugins that have been configured in the Directory Server.
        Parameters:
        deleteOperation - The delete operation for which to invoke the pre-parse plugins.
        Returns:
        The result of processing the pre-parse delete plugins.
        Throws:
        CancelledResultException - if the operation should be canceled.
      • invokePreParseExtendedPlugins

        public PluginResult.PreParse invokePreParseExtendedPlugins​(PreParseExtendedOperation extendedOperation)
                                                            throws CancelledResultException
        Invokes the set of pre-parse extended plugins that have been configured in the Directory Server.
        Parameters:
        extendedOperation - The extended operation for which to invoke the pre-parse plugins.
        Returns:
        The result of processing the pre-parse extended plugins.
        Throws:
        CancelledResultException - if the operation should be canceled.
      • invokePreParseModifyPlugins

        public PluginResult.PreParse invokePreParseModifyPlugins​(PreParseModifyOperation modifyOperation)
                                                          throws CancelledResultException
        Invokes the set of pre-parse modify plugins that have been configured in the Directory Server.
        Parameters:
        modifyOperation - The modify operation for which to invoke the pre-parse plugins.
        Returns:
        The result of processing the pre-parse modify plugins.
        Throws:
        CancelledResultException - if the operation should be canceled.
      • invokePreParseModifyDNPlugins

        public PluginResult.PreParse invokePreParseModifyDNPlugins​(PreParseModifyDNOperation modifyDNOperation)
                                                            throws CancelledResultException
        Invokes the set of pre-parse modify DN plugins that have been configured in the Directory Server.
        Parameters:
        modifyDNOperation - The modify DN operation for which to invoke the pre-parse plugins.
        Returns:
        The result of processing the pre-parse modify DN plugins.
        Throws:
        CancelledResultException - if the operation should be canceled.
      • invokePreParseSearchPlugins

        public PluginResult.PreParse invokePreParseSearchPlugins​(PreParseSearchOperation searchOperation)
                                                          throws CancelledResultException
        Invokes the set of pre-parse search plugins that have been configured in the Directory Server.
        Parameters:
        searchOperation - The search operation for which to invoke the pre-parse plugins.
        Returns:
        The result of processing the pre-parse search plugins.
        Throws:
        CancelledResultException - if the operation should be canceled.
      • invokePreParseUnbindPlugins

        public void invokePreParseUnbindPlugins​(PreParseUnbindOperation unbindOperation)
        Invokes the set of pre-parse unbind plugins that have been configured in the Directory Server.
        Parameters:
        unbindOperation - The unbind operation for which to invoke the pre-parse plugins.
      • invokePreOperationAddPlugins

        public PluginResult.PreOperation invokePreOperationAddPlugins​(PreOperationAddOperation addOperation)
                                                               throws CancelledResultException
        Invokes the set of pre-operation add plugins that have been configured in the Directory Server.
        Parameters:
        addOperation - The add operation for which to invoke the pre-operation plugins.
        Returns:
        The result of processing the pre-operation add plugins.
        Throws:
        CancelledResultException - if the operation should be canceled.
      • invokePreOperationBindPlugins

        public PluginResult.PreOperation invokePreOperationBindPlugins​(PreOperationBindOperation bindOperation)
        Invokes the set of pre-operation bind plugins that have been configured in the Directory Server.
        Parameters:
        bindOperation - The bind operation for which to invoke the pre-operation plugins.
        Returns:
        The result of processing the pre-operation bind plugins.
      • invokePreOperationComparePlugins

        public PluginResult.PreOperation invokePreOperationComparePlugins​(PreOperationCompareOperation compareOperation)
                                                                   throws CancelledResultException
        Invokes the set of pre-operation compare plugins that have been configured in the Directory Server.
        Parameters:
        compareOperation - The compare operation for which to invoke the pre-operation plugins.
        Returns:
        The result of processing the pre-operation compare plugins.
        Throws:
        CancelledResultException - if the operation should be canceled.
      • invokePreOperationDeletePlugins

        public PluginResult.PreOperation invokePreOperationDeletePlugins​(PreOperationDeleteOperation deleteOperation)
                                                                  throws CancelledResultException
        Invokes the set of pre-operation delete plugins that have been configured in the Directory Server.
        Parameters:
        deleteOperation - The delete operation for which to invoke the pre-operation plugins.
        Returns:
        The result of processing the pre-operation delete plugins.
        Throws:
        CancelledResultException - if the operation should be canceled.
      • invokePreOperationExtendedPlugins

        public PluginResult.PreOperation invokePreOperationExtendedPlugins​(PreOperationExtendedOperation extendedOperation)
                                                                    throws CancelledResultException
        Invokes the set of pre-operation extended plugins that have been configured in the Directory Server.
        Parameters:
        extendedOperation - The extended operation for which to invoke the pre-operation plugins.
        Returns:
        The result of processing the pre-operation extended plugins.
        Throws:
        CancelledResultException - if the operation should be canceled.
      • invokePreOperationModifyPlugins

        public PluginResult.PreOperation invokePreOperationModifyPlugins​(PreOperationModifyOperation modifyOperation)
                                                                  throws CancelledResultException
        Invokes the set of pre-operation modify plugins that have been configured in the Directory Server.
        Parameters:
        modifyOperation - The modify operation for which to invoke the pre-operation plugins.
        Returns:
        The result of processing the pre-operation modify plugins.
        Throws:
        CancelledResultException - if the operation should be canceled.
      • invokePreOperationModifyDNPlugins

        public PluginResult.PreOperation invokePreOperationModifyDNPlugins​(PreOperationModifyDNOperation modifyDNOperation)
                                                                    throws CancelledResultException
        Invokes the set of pre-operation modify DN plugins that have been configured in the Directory Server.
        Parameters:
        modifyDNOperation - The modify DN operation for which to invoke the pre-operation plugins.
        Returns:
        The result of processing the pre-operation modify DN plugins.
        Throws:
        CancelledResultException - if the operation should be canceled.
      • invokePreOperationSearchPlugins

        public PluginResult.PreOperation invokePreOperationSearchPlugins​(PreOperationSearchOperation searchOperation)
                                                                  throws CancelledResultException
        Invokes the set of pre-operation search plugins that have been configured in the Directory Server.
        Parameters:
        searchOperation - The search operation for which to invoke the pre-operation plugins.
        Returns:
        The result of processing the pre-operation search plugins.
        Throws:
        CancelledResultException - if the operation should be canceled.
      • invokePostOperationAbandonPlugins

        public PluginResult.PostOperation invokePostOperationAbandonPlugins​(PostOperationAbandonOperation abandonOperation)
        Invokes the set of post-operation abandon plugins that have been configured in the Directory Server.
        Parameters:
        abandonOperation - The abandon operation for which to invoke the post-operation plugins.
        Returns:
        The result of processing the post-operation abandon plugins.
      • invokePostOperationAddPlugins

        public PluginResult.PostOperation invokePostOperationAddPlugins​(PostOperationAddOperation addOperation)
        Invokes the set of post-operation add plugins that have been configured in the Directory Server.
        Parameters:
        addOperation - The add operation for which to invoke the post-operation plugins.
        Returns:
        The result of processing the post-operation add plugins.
      • invokePostOperationBindPlugins

        public PluginResult.PostOperation invokePostOperationBindPlugins​(PostOperationBindOperation bindOperation)
        Invokes the set of post-operation bind plugins that have been configured in the Directory Server.
        Parameters:
        bindOperation - The bind operation for which to invoke the post-operation plugins.
        Returns:
        The result of processing the post-operation bind plugins.
      • invokePostOperationComparePlugins

        public PluginResult.PostOperation invokePostOperationComparePlugins​(PostOperationCompareOperation compareOperation)
        Invokes the set of post-operation compare plugins that have been configured in the Directory Server.
        Parameters:
        compareOperation - The compare operation for which to invoke the post-operation plugins.
        Returns:
        The result of processing the post-operation compare plugins.
      • invokePostOperationDeletePlugins

        public PluginResult.PostOperation invokePostOperationDeletePlugins​(PostOperationDeleteOperation deleteOperation)
        Invokes the set of post-operation delete plugins that have been configured in the Directory Server.
        Parameters:
        deleteOperation - The delete operation for which to invoke the post-operation plugins.
        Returns:
        The result of processing the post-operation delete plugins.
      • invokePostOperationExtendedPlugins

        public void invokePostOperationExtendedPlugins​(PostOperationExtendedOperation extendedOperation)
        Invokes the set of post-operation extended plugins that have been configured in the Directory Server.
        Parameters:
        extendedOperation - The extended operation for which to invoke the post-operation plugins.
      • invokePostOperationModifyPlugins

        public PluginResult.PostOperation invokePostOperationModifyPlugins​(ModifyOperation modifyOperation)
        Invokes the set of post-operation modify plugins that have been configured in the Directory Server.
        Parameters:
        modifyOperation - The modify operation for which to invoke the post-operation plugins.
        Returns:
        The result of processing the post-operation modify plugins.
      • invokePostOperationModifyDNPlugins

        public PluginResult.PostOperation invokePostOperationModifyDNPlugins​(PostOperationModifyDNOperation modifyDNOperation)
        Invokes the set of post-operation modify DN plugins that have been configured in the Directory Server.
        Parameters:
        modifyDNOperation - The modify DN operation for which to invoke the post-operation plugins.
        Returns:
        The result of processing the post-operation modify DN plugins.
      • invokePostOperationSearchPlugins

        public PluginResult.PostOperation invokePostOperationSearchPlugins​(PostOperationSearchOperation searchOperation)
        Invokes the set of post-operation search plugins that have been configured in the Directory Server.
        Parameters:
        searchOperation - The search operation for which to invoke the post-operation plugins.
        Returns:
        The result of processing the post-operation search plugins.
      • invokePostOperationUnbindPlugins

        public void invokePostOperationUnbindPlugins​(PostOperationUnbindOperation unbindOperation)
        Invokes the set of post-operation unbind plugins that have been configured in the Directory Server.
        Parameters:
        unbindOperation - The unbind operation for which to invoke the post-operation plugins.
      • invokePostResponseAddPlugins

        public void invokePostResponseAddPlugins​(PostResponseAddOperation addOperation)
        Invokes the set of post-response add plugins that have been configured in the Directory Server.
        Parameters:
        addOperation - The add operation for which to invoke the post-response plugins.
      • invokePostResponseBindPlugins

        public void invokePostResponseBindPlugins​(PostResponseBindOperation bindOperation)
        Invokes the set of post-response bind plugins that have been configured in the Directory Server.
        Parameters:
        bindOperation - The bind operation for which to invoke the post-response plugins.
      • invokePostResponseComparePlugins

        public void invokePostResponseComparePlugins​(PostResponseCompareOperation compareOperation)
        Invokes the set of post-response compare plugins that have been configured in the Directory Server.
        Parameters:
        compareOperation - The compare operation for which to invoke the post-response plugins.
      • invokePostResponseDeletePlugins

        public void invokePostResponseDeletePlugins​(PostResponseDeleteOperation deleteOperation)
        Invokes the set of post-response delete plugins that have been configured in the Directory Server.
        Parameters:
        deleteOperation - The delete operation for which to invoke the post-response plugins.
      • invokePostResponseExtendedPlugins

        public void invokePostResponseExtendedPlugins​(PostResponseExtendedOperation extendedOperation)
        Invokes the set of post-response extended plugins that have been configured in the Directory Server.
        Parameters:
        extendedOperation - The extended operation for which to invoke the post-response plugins.
      • invokePostResponseModifyPlugins

        public void invokePostResponseModifyPlugins​(PostResponseModifyOperation modifyOperation)
        Invokes the set of post-response modify plugins that have been configured in the Directory Server.
        Parameters:
        modifyOperation - The modify operation for which to invoke the post-response plugins.
      • invokePostResponseModifyDNPlugins

        public void invokePostResponseModifyDNPlugins​(PostResponseModifyDNOperation modifyDNOperation)
        Invokes the set of post-response modify DN plugins that have been configured in the Directory Server.
        Parameters:
        modifyDNOperation - The modify DN operation for which to invoke the post-response plugins.
      • invokePostResponseSearchPlugins

        public void invokePostResponseSearchPlugins​(PostResponseSearchOperation searchOperation)
        Invokes the set of post-response search plugins that have been configured in the Directory Server.
        Parameters:
        searchOperation - The search operation for which to invoke the post-response plugins.
      • invokePostSynchronizationAddPlugins

        public void invokePostSynchronizationAddPlugins​(PostSynchronizationAddOperation addOperation)
        Invokes the set of post-synchronization add plugins that have been configured in the Directory Server.
        Parameters:
        addOperation - The add operation for which to invoke the post-synchronization plugins.
      • invokePostSynchronizationDeletePlugins

        public void invokePostSynchronizationDeletePlugins​(PostSynchronizationDeleteOperation deleteOperation)
        Invokes the set of post-synchronization delete plugins that have been configured in the Directory Server.
        Parameters:
        deleteOperation - The delete operation for which to invoke the post-synchronization plugins.
      • invokePostSynchronizationModifyPlugins

        public void invokePostSynchronizationModifyPlugins​(PostSynchronizationModifyOperation modifyOperation)
        Invokes the set of post-synchronization modify plugins that have been configured in the Directory Server.
        Parameters:
        modifyOperation - The modify operation for which to invoke the post-synchronization plugins.
      • invokePostSynchronizationModifyDNPlugins

        public void invokePostSynchronizationModifyDNPlugins​(PostSynchronizationModifyDNOperation modifyDNOperation)
        Invokes the set of post-synchronization modify DN plugins that have been configured in the Directory Server.
        Parameters:
        modifyDNOperation - The modify DN operation for which to invoke the post-synchronization plugins.
      • invokeSearchResultEntryPlugins

        public PluginResult.IntermediateResponse invokeSearchResultEntryPlugins​(InProgressSearchOperation searchOperation,
                                                                                SearchResultEntry searchEntry)
        Invokes the set of search result entry plugins that have been configured in the Directory Server.
        Parameters:
        searchOperation - The search operation for which to invoke the search result entry plugins.
        searchEntry - The search result entry to be processed.
        Returns:
        The result of processing the search result entry plugins.
      • invokeSearchResultReferencePlugins

        public PluginResult.IntermediateResponse invokeSearchResultReferencePlugins​(InProgressSearchOperation searchOperation,
                                                                                    SearchResultReference searchReference)
        Invokes the set of search result reference plugins that have been configured in the Directory Server.
        Parameters:
        searchOperation - The search operation for which to invoke the search result reference plugins.
        searchReference - The search result reference to be processed.
        Returns:
        The result of processing the search result reference plugins.
      • invokeSubordinateModifyDNPlugins

        public PluginResult.SubordinateModifyDN invokeSubordinateModifyDNPlugins​(SubordinateModifyDNOperation modifyDNOperation,
                                                                                 Dn oldEntryDn,
                                                                                 Dn newEntryDn)
        Invokes the set of subordinate modify DN plugins that have been configured in the Directory Server.
        Parameters:
        modifyDNOperation - The modify DN operation with which the subordinate entry is associated.
        oldEntryDn - The name of the subordinate entry prior to the move/rename operation.
        newEntryDn - The name of the subordinate entry after the move/rename operation.
        Returns:
        The result of processing the subordinate modify DN plugins.
      • invokeSubordinateDeletePlugins

        public PluginResult.SubordinateDelete invokeSubordinateDeletePlugins​(DeleteOperation deleteOperation,
                                                                             Dn entryDn,
                                                                             boolean isCommitted)
        Invokes the set of subordinate delete plugins that have been configured in the Directory Server.
        Parameters:
        deleteOperation - The delete operation with which the subordinate entry is associated.
        entryDn - The name of the subordinate entry being deleted.
        isCommitted - true when a subtree delete cannot be done in a single isolated transaction. Each subordinate has already been deleted at the time this method is invoked. false when a subtree delete can be done in a single isolated transaction. All the subordinate entries will effectively be deleted at once during the transaction commit. At which point, the deletion become effective only at the time of the DirectoryServerPlugin.doPostOperation(PostOperationDeleteOperation) invocation.
        Returns:
        The result of processing the subordinate delete plugins.
      • isConfigurationAddAcceptable

        public boolean isConfigurationAddAcceptable​(PluginCfg configuration,
                                                    List<LocalizableMessage> unacceptableReasons)
        Description copied from interface: ConfigurationAddListener
        Indicates whether the proposed addition of a new configuration is acceptable to this add listener.
        Specified by:
        isConfigurationAddAcceptable in interface ConfigurationAddListener<PluginCfg>
        Parameters:
        configuration - The configuration that will be added.
        unacceptableReasons - A list that can be used to hold messages about why the provided configuration is not acceptable.
        Returns:
        Returns true if the proposed addition is acceptable, or false if it is not.
      • isConfigurationDeleteAcceptable

        public boolean isConfigurationDeleteAcceptable​(PluginCfg configuration,
                                                       List<LocalizableMessage> unacceptableReasons)
        Description copied from interface: ConfigurationDeleteListener
        Indicates whether the proposed deletion of an existing configuration is acceptable to this delete listener.
        Specified by:
        isConfigurationDeleteAcceptable in interface ConfigurationDeleteListener<PluginCfg>
        Parameters:
        configuration - The configuration that will be deleted.
        unacceptableReasons - A list that can be used to hold messages about why the provided configuration is not acceptable.
        Returns:
        Returns true if the proposed deletion is acceptable, or false if it is not.
      • isConfigurationChangeAcceptable

        public boolean isConfigurationChangeAcceptable​(PluginCfg configuration,
                                                       List<LocalizableMessage> unacceptableReasons)
        Description copied from interface: ConfigurationChangeListener
        Indicates whether the proposed change to the configuration is acceptable to this change listener.
        Specified by:
        isConfigurationChangeAcceptable in interface ConfigurationChangeListener<PluginCfg>
        Parameters:
        configuration - The new configuration containing the changes.
        unacceptableReasons - A list that can be used to hold messages about why the provided configuration is not acceptable.
        Returns:
        Returns true if the proposed change is acceptable, or false if it is not.