org.opends.server.plugins
Class SevenBitCleanPlugin

java.lang.Object
  extended by org.opends.server.api.plugin.DirectoryServerPlugin<SevenBitCleanPluginCfg>
      extended by org.opends.server.plugins.SevenBitCleanPlugin
All Implemented Interfaces:
ConfigurationChangeListener<SevenBitCleanPluginCfg>

public final class SevenBitCleanPlugin
extends DirectoryServerPlugin<SevenBitCleanPluginCfg>
implements ConfigurationChangeListener<SevenBitCleanPluginCfg>

This class implements a Directory Server plugin that can be used to ensure that the values for a specified set of attributes (optionally, below a specified set of base DNs) are 7-bit clean (i.e., contain only ASCII characters).


Constructor Summary
SevenBitCleanPlugin()
          Creates a new instance of this Directory Server plugin.
 
Method Summary
 ConfigChangeResult applyConfigurationChange(SevenBitCleanPluginCfg configuration)
          Applies the configuration changes to this change listener.
 PluginResult.ImportLDIF doLDIFImport(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.PreParse doPreParse(PreParseAddOperation addOperation)
          Performs any necessary processing that should be done before the Directory Server parses the elements of an add request.
 PluginResult.PreParse doPreParse(PreParseModifyDNOperation modifyDNOperation)
          Performs any necessary processing that should be done before the Directory Server parses the elements of a modify DN request.
 PluginResult.PreParse doPreParse(PreParseModifyOperation modifyOperation)
          Performs any necessary processing that should be done before the Directory Server parses the elements of a modify request.
 void finalizePlugin()
          Performs any necessary finalization for this plugin.
 void initializePlugin(java.util.Set<PluginType> pluginTypes, SevenBitCleanPluginCfg configuration)
          Performs any initialization necessary for this plugin.
 boolean isConfigurationAcceptable(PluginCfg configuration, java.util.List<Message> unacceptableReasons)
          Indicates whether the provided configuration is acceptable for this plugin.
 boolean isConfigurationChangeAcceptable(SevenBitCleanPluginCfg configuration, java.util.List<Message> 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
doLDIFExport, 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, doPreOperation, doPreOperation, doPreOperation, doPreParse, doPreParse, doPreParse, doPreParse, doPreParse, doPreParse, doPreParse, doShutdown, doStartup, getPluginEntryDN, getPluginTypes, initializeInternal, invokeForInternalOperations, processIntermediateResponse, processSearchEntry, processSearchReference, processSubordinateModifyDN, setInvokeForInternalOperations
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SevenBitCleanPlugin

public SevenBitCleanPlugin()
Creates a new instance of this Directory Server plugin. Every plugin must implement a default constructor (it is the only one that will be used to create plugins defined in the configuration), and every plugin constructor must call super() as its first element.

Method Detail

initializePlugin

public final void initializePlugin(java.util.Set<PluginType> pluginTypes,
                                   SevenBitCleanPluginCfg configuration)
                            throws ConfigException
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 class DirectoryServerPlugin<SevenBitCleanPluginCfg>
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 final void finalizePlugin()
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 class DirectoryServerPlugin<SevenBitCleanPluginCfg>

doLDIFImport

public final PluginResult.ImportLDIF doLDIFImport(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.

Overrides:
doLDIFImport in class DirectoryServerPlugin<SevenBitCleanPluginCfg>
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.

doPreParse

public final PluginResult.PreParse doPreParse(PreParseAddOperation addOperation)
Performs any necessary processing that should be done before the Directory Server parses the elements of an add request.

Overrides:
doPreParse in class DirectoryServerPlugin<SevenBitCleanPluginCfg>
Parameters:
addOperation - The add operation that has been requested.
Returns:
Information about the result of the plugin processing.

doPreParse

public final PluginResult.PreParse doPreParse(PreParseModifyOperation modifyOperation)
Performs any necessary processing that should be done before the Directory Server parses the elements of a modify request.

Overrides:
doPreParse in class DirectoryServerPlugin<SevenBitCleanPluginCfg>
Parameters:
modifyOperation - The modify operation that has been requested.
Returns:
Information about the result of the plugin processing.

doPreParse

public final PluginResult.PreParse doPreParse(PreParseModifyDNOperation modifyDNOperation)
Performs any necessary processing that should be done before the Directory Server parses the elements of a modify DN request.

Overrides:
doPreParse in class DirectoryServerPlugin<SevenBitCleanPluginCfg>
Parameters:
modifyDNOperation - The modify DN operation that has been requested.
Returns:
Information about the result of the plugin processing.

isConfigurationAcceptable

public boolean isConfigurationAcceptable(PluginCfg configuration,
                                         java.util.List<Message> unacceptableReasons)
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 class DirectoryServerPlugin<SevenBitCleanPluginCfg>
Parameters:
configuration - 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, or false if not.

isConfigurationChangeAcceptable

public boolean isConfigurationChangeAcceptable(SevenBitCleanPluginCfg configuration,
                                               java.util.List<Message> unacceptableReasons)
Indicates whether the proposed change to the configuration is acceptable to this change listener.

Specified by:
isConfigurationChangeAcceptable in interface ConfigurationChangeListener<SevenBitCleanPluginCfg>
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.

applyConfigurationChange

public ConfigChangeResult applyConfigurationChange(SevenBitCleanPluginCfg configuration)
Applies the configuration changes to this change listener.

Specified by:
applyConfigurationChange in interface ConfigurationChangeListener<SevenBitCleanPluginCfg>
Parameters:
configuration - The new configuration containing the changes.
Returns:
Returns information about the result of changing the configuration.