Package org.opends.server.plugins
Class EntityTagPlugin
- java.lang.Object
-
- org.opends.server.api.plugin.DirectoryServerPlugin<EntityTagPluginCfg>
-
- org.opends.server.plugins.EntityTagPlugin
-
- All Implemented Interfaces:
ConfigurationChangeListener<EntityTagPluginCfg>
public final class EntityTagPlugin extends DirectoryServerPlugin<EntityTagPluginCfg> implements ConfigurationChangeListener<EntityTagPluginCfg>
This class implements a Directory Server plugin that will add an "entity tag" or "Etag" attribute to an entry whenever it is added, modified or imported. Entity tags are generated deterministically during import in order to ensure that LDIF files imported in parallel across multiple systems will have identical entity tags.
-
-
Constructor Summary
Constructors Constructor Description EntityTagPlugin()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ConfigChangeResultapplyConfigurationChange(EntityTagPluginCfg configuration)Applies the configuration changes to this change listener.PluginResult.ImportLDIFdoLDIFImport(LDIFImportConfig importConfig, Entry entry)Performs any necessary processing that should be done during an LDIF import operation immediately after reading an entry and confirming that it should be imported based on the provided configuration.PluginResult.PreOperationdoPreOperation(PreOperationAddOperation addOperation)Performs any necessary processing that should be done just before the Directory Server performs the core processing for an add operation.PluginResult.PreOperationdoPreOperation(PreOperationModifyDNOperation modifyDNOperation)Performs any necessary processing that should be done just before the Directory Server performs the core processing for a modify DN operation.PluginResult.PreOperationdoPreOperation(PreOperationModifyOperation modifyOperation)Performs any necessary processing that should be done just before the Directory Server performs the core processing for a modify operation.voidfinalizePlugin()Performs any necessary finalization for this plugin.voidinitializePlugin(Set<PluginType> pluginTypes, EntityTagPluginCfg configuration)Performs any initialization necessary for this plugin.booleanisConfigurationAcceptable(EntityTagPluginCfg cfg, List<LocalizableMessage> unacceptableReasons)Indicates whether the provided configuration is acceptable for this plugin.booleanisConfigurationChangeAcceptable(EntityTagPluginCfg 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
doLDIFImportBegin, doLDIFImportEnd, doPostCommit, doPostCommit, doPostCommit, doPostCommit, doPostConnect, doPostDisconnect, doPostOperation, doPostOperation, doPostOperation, doPostOperation, doPostOperation, doPostOperation, doPostOperation, doPostOperation, doPostOperation, doPostOperation, doPostResponse, doPostResponse, doPostResponse, doPostResponse, doPostResponse, doPostResponse, doPostResponse, doPostResponse, doPostSynchronization, doPostSynchronization, doPostSynchronization, doPostSynchronization, 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, EntityTagPluginCfg configuration) throws ConfigException
Description copied from class:DirectoryServerPluginPerforms 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:
initializePluginin classDirectoryServerPlugin<EntityTagPluginCfg>- 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:DirectoryServerPluginPerforms 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:
finalizePluginin classDirectoryServerPlugin<EntityTagPluginCfg>
-
isConfigurationAcceptable
public boolean isConfigurationAcceptable(EntityTagPluginCfg cfg, List<LocalizableMessage> unacceptableReasons)
Description copied from class:DirectoryServerPluginIndicates 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:
isConfigurationAcceptablein classDirectoryServerPlugin<EntityTagPluginCfg>- 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:
trueif the provided configuration is acceptable for this plugin, orfalseif not.
-
isConfigurationChangeAcceptable
public boolean isConfigurationChangeAcceptable(EntityTagPluginCfg configuration, List<LocalizableMessage> unacceptableReasons)
Description copied from interface:ConfigurationChangeListenerIndicates whether the proposed change to the configuration is acceptable to this change listener.- Specified by:
isConfigurationChangeAcceptablein interfaceConfigurationChangeListener<EntityTagPluginCfg>- 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
trueif the proposed change is acceptable, orfalseif it is not.
-
applyConfigurationChange
public ConfigChangeResult applyConfigurationChange(EntityTagPluginCfg configuration)
Description copied from interface:ConfigurationChangeListenerApplies the configuration changes to this change listener.- Specified by:
applyConfigurationChangein interfaceConfigurationChangeListener<EntityTagPluginCfg>- Parameters:
configuration- The new configuration containing the changes.- Returns:
- Returns information about the result of changing the configuration.
-
doLDIFImport
public PluginResult.ImportLDIF doLDIFImport(LDIFImportConfig importConfig, Entry entry)
Description copied from class:DirectoryServerPluginPerforms any necessary processing that should be done during an LDIF import operation immediately after reading an entry and confirming that it should be imported based on the provided configuration.- Overrides:
doLDIFImportin classDirectoryServerPlugin<EntityTagPluginCfg>- Parameters:
importConfig- The configuration used for the LDIF import.entry- The entry that has been read to the LDIF file.- Returns:
- The result of the plugin processing.
-
doPreOperation
public PluginResult.PreOperation doPreOperation(PreOperationAddOperation addOperation)
Description copied from class:DirectoryServerPluginPerforms any necessary processing that should be done just before the Directory Server performs the core processing for an add operation. This method is not called when processing synchronization operations.- Overrides:
doPreOperationin classDirectoryServerPlugin<EntityTagPluginCfg>- Parameters:
addOperation- The add operation to be processed.- Returns:
- Information about the result of the plugin processing.
-
doPreOperation
public PluginResult.PreOperation doPreOperation(PreOperationModifyOperation modifyOperation)
Description copied from class:DirectoryServerPluginPerforms any necessary processing that should be done just before the Directory Server performs the core processing for a modify operation. This method is not called when processing synchronization operations.- Overrides:
doPreOperationin classDirectoryServerPlugin<EntityTagPluginCfg>- Parameters:
modifyOperation- The modify operation to be processed.- Returns:
- Information about the result of the plugin processing.
-
doPreOperation
public PluginResult.PreOperation doPreOperation(PreOperationModifyDNOperation modifyDNOperation)
Description copied from class:DirectoryServerPluginPerforms any necessary processing that should be done just before the Directory Server performs the core processing for a modify DN operation. This method is not called when processing synchronization operations.- Overrides:
doPreOperationin classDirectoryServerPlugin<EntityTagPluginCfg>- Parameters:
modifyDNOperation- The modify DN operation to be processed.- Returns:
- Information about the result of the plugin processing.
-
-