Package org.opends.server.plugins
Class ChangeNumberControlPlugin
- java.lang.Object
-
- org.opends.server.api.plugin.DirectoryServerPlugin<ChangeNumberControlPluginCfg>
-
- org.opends.server.plugins.ChangeNumberControlPlugin
-
- All Implemented Interfaces:
ConfigurationChangeListener<ChangeNumberControlPluginCfg>
public final class ChangeNumberControlPlugin extends DirectoryServerPlugin<ChangeNumberControlPluginCfg> implements ConfigurationChangeListener<ChangeNumberControlPluginCfg>
This class implements a Directory Server plugin that will add the replication CSN to a response whenever the CSN control is received.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ChangeNumberControlPlugin.ChangeNumberResponseControl
The control used by this plugin.
-
Constructor Summary
Constructors Constructor Description ChangeNumberControlPlugin()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ConfigChangeResult
applyConfigurationChange(ChangeNumberControlPluginCfg configuration)
Applies the configuration changes to this change listener.PluginResult.PostOperation
doPostOperation(PostOperationAddOperation addOperation)
Performs any necessary processing that should be done after the Directory Server has completed the core processing for an add operation but before the response has been sent to the client.PluginResult.PostOperation
doPostOperation(PostOperationDeleteOperation deleteOperation)
Performs any necessary processing that should be done after the Directory Server has completed the core processing for a delete operation but before the response has been sent to the client.PluginResult.PostOperation
doPostOperation(PostOperationModifyDNOperation modifyDNOperation)
Performs any necessary processing that should be done after the Directory Server has completed the core processing for a modify DN operation but before the response has been sent to the client.PluginResult.PostOperation
doPostOperation(PostOperationModifyOperation modifyOperation)
Performs any necessary processing that should be done after the Directory Server has completed the core processing for a modify operation but before the response has been sent to the client.void
finalizePlugin()
Performs any necessary finalization for this plugin.void
initializePlugin(Set<PluginType> pluginTypes, ChangeNumberControlPluginCfg configuration)
Performs any initialization necessary for this plugin.boolean
isConfigurationAcceptable(ChangeNumberControlPluginCfg cfg, List<LocalizableMessage> unacceptableReasons)
Indicates whether the provided configuration is acceptable for this plugin.boolean
isConfigurationChangeAcceptable(ChangeNumberControlPluginCfg configuration, List<LocalizableMessage> unacceptableReasons)
Indicates whether the proposed change to the configuration is acceptable to this change listener.-
Methods inherited from class org.opends.server.api.plugin.DirectoryServerPlugin
doLDIFImport, doLDIFImportBegin, doLDIFImportEnd, doPostConnect, doPostDisconnect, doPostOperation, doPostOperation, doPostOperation, doPostOperation, doPostOperation, doPostOperation, doPostResponse, doPostResponse, doPostResponse, doPostResponse, doPostResponse, doPostResponse, doPostResponse, doPostResponse, doPostSynchronization, doPostSynchronization, doPostSynchronization, doPostSynchronization, doPreOperation, doPreOperation, doPreOperation, doPreOperation, doPreOperation, doPreOperation, doPreOperation, doPreOperation, doPreParse, doPreParse, doPreParse, doPreParse, doPreParse, doPreParse, doPreParse, doPreParse, doPreParse, doPreParse, doShutdown, doStartup, getPluginEntryDN, getPluginTypes, getServerContext, initializeInternal, invokeForInternalOperations, processIntermediateResponse, processSearchEntry, processSearchReference, processSubordinateDelete, processSubordinateModifyDN, setInvokeForInternalOperations
-
-
-
-
Method Detail
-
initializePlugin
public void initializePlugin(Set<PluginType> pluginTypes, ChangeNumberControlPluginCfg configuration) throws ConfigException
Description copied from class:DirectoryServerPlugin
Performs any initialization necessary for this plugin. This will be called as soon as the plugin has been loaded and before it is registered with the server.- Specified by:
initializePlugin
in classDirectoryServerPlugin<ChangeNumberControlPluginCfg>
- Parameters:
pluginTypes
- The set of plugin types that indicate the ways in which this plugin will be invoked.configuration
- The configuration for this plugin.- Throws:
ConfigException
- If the provided entry does not contain a valid configuration for this plugin.
-
finalizePlugin
public void finalizePlugin()
Description copied from class:DirectoryServerPlugin
Performs any necessary finalization for this plugin. This will be called just after the plugin has been deregistered with the server but before it has been unloaded.- Overrides:
finalizePlugin
in classDirectoryServerPlugin<ChangeNumberControlPluginCfg>
-
doPostOperation
public PluginResult.PostOperation doPostOperation(PostOperationAddOperation addOperation)
Description copied from class:DirectoryServerPlugin
Performs any necessary processing that should be done after the Directory Server has completed the core processing for an add operation but before the response has been sent to the client.- Overrides:
doPostOperation
in classDirectoryServerPlugin<ChangeNumberControlPluginCfg>
- Parameters:
addOperation
- The add operation for which processing has completed but no response has yet been sent.- Returns:
- Information about the result of the plugin processing.
-
doPostOperation
public PluginResult.PostOperation doPostOperation(PostOperationDeleteOperation deleteOperation)
Description copied from class:DirectoryServerPlugin
Performs any necessary processing that should be done after the Directory Server has completed the core processing for a delete operation but before the response has been sent to the client.- Overrides:
doPostOperation
in classDirectoryServerPlugin<ChangeNumberControlPluginCfg>
- Parameters:
deleteOperation
- The delete operation for which processing has completed but no response has yet been sent.- Returns:
- Information about the result of the plugin processing.
-
doPostOperation
public PluginResult.PostOperation doPostOperation(PostOperationModifyOperation modifyOperation)
Description copied from class:DirectoryServerPlugin
Performs any necessary processing that should be done after the Directory Server has completed the core processing for a modify operation but before the response has been sent to the client.- Overrides:
doPostOperation
in classDirectoryServerPlugin<ChangeNumberControlPluginCfg>
- Parameters:
modifyOperation
- The modify operation for which processing has completed but no response has yet been sent.- Returns:
- Information about the result of the plugin processing.
-
doPostOperation
public PluginResult.PostOperation doPostOperation(PostOperationModifyDNOperation modifyDNOperation)
Description copied from class:DirectoryServerPlugin
Performs any necessary processing that should be done after the Directory Server has completed the core processing for a modify DN operation but before the response has been sent to the client.- Overrides:
doPostOperation
in classDirectoryServerPlugin<ChangeNumberControlPluginCfg>
- Parameters:
modifyDNOperation
- The modify DN operation for which processing has completed but no response has yet been sent.- Returns:
- Information about the result of the plugin processing.
-
isConfigurationAcceptable
public boolean isConfigurationAcceptable(ChangeNumberControlPluginCfg cfg, List<LocalizableMessage> unacceptableReasons)
Description copied from class:DirectoryServerPlugin
Indicates whether the provided configuration is acceptable for this plugin. It should be possible to call this method on an uninitialized plugin instance in order to determine whether the plugin would be able to use the provided configuration.- Overrides:
isConfigurationAcceptable
in classDirectoryServerPlugin<ChangeNumberControlPluginCfg>
- Parameters:
cfg
- The plugin configuration for which to make the determination.unacceptableReasons
- A list that may be used to hold the reasons that the provided configuration is not acceptable.- Returns:
true
if the provided configuration is acceptable for this plugin, orfalse
if not.
-
isConfigurationChangeAcceptable
public boolean isConfigurationChangeAcceptable(ChangeNumberControlPluginCfg 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 interfaceConfigurationChangeListener<ChangeNumberControlPluginCfg>
- 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, orfalse
if it is not.
-
applyConfigurationChange
public ConfigChangeResult applyConfigurationChange(ChangeNumberControlPluginCfg configuration)
Description copied from interface:ConfigurationChangeListener
Applies the configuration changes to this change listener.- Specified by:
applyConfigurationChange
in interfaceConfigurationChangeListener<ChangeNumberControlPluginCfg>
- Parameters:
configuration
- The new configuration containing the changes.- Returns:
- Returns information about the result of changing the configuration.
-
-