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.
      • getRegisteredPlugins

        public ConcurrentMap<Dn,​DirectoryServerPlugin<?>> getRegisteredPlugins()
        Retrieves the set of plugins that have been registered with the Directory Server.
        Returns:
        The set of plugins that have been 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 PluginResult.PostDisconnect 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.
        Returns:
        The result of processing the post-connect plugins.
      • 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 PluginResult.PreParse 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.
        Returns:
        The result of processing the pre-parse unbind 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 PluginResult.PostOperation 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.
        Returns:
        The result of processing the post-operation extended 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 PluginResult.PostOperation 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.
        Returns:
        The result of processing the post-operation unbind plugins.
      • invokePostResponseAddPlugins

        public PluginResult.PostResponse 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.
        Returns:
        The result of processing the post-response add plugins.
      • invokePostResponseBindPlugins

        public PluginResult.PostResponse 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.
        Returns:
        The result of processing the post-response bind plugins.
      • invokePostResponseComparePlugins

        public PluginResult.PostResponse 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.
        Returns:
        The result of processing the post-response compare plugins.
      • invokePostResponseDeletePlugins

        public PluginResult.PostResponse 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.
        Returns:
        The result of processing the post-response delete plugins.
      • invokePostResponseExtendedPlugins

        public PluginResult.PostResponse 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.
        Returns:
        The result of processing the post-response extended plugins.
      • invokePostResponseModifyPlugins

        public PluginResult.PostResponse 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.
        Returns:
        The result of processing the post-response modify plugins.
      • invokePostResponseModifyDNPlugins

        public PluginResult.PostResponse 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.
        Returns:
        The result of processing the post-response modify DN plugins.
      • invokePostResponseSearchPlugins

        public PluginResult.PostResponse 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.
        Returns:
        The result of processing the post-response search 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)
        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.
        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.