@PublicAPI(stability=UNCOMMITTED)
Package org.opends.server.api.plugin
Defines the Directory Server plugin API. Plugins are classes containing user-defined code that will be executed at
specific times points during operation processing. In particular, the plugin points for operation processing include:
These plugins may be invoked for most kinds of operations, although certain types of operations like abandon and unbind do not have responses and therefore there is no ability to invoke post-response plugins for those kinds of operations.
Other plugin Directory Server plugin points include:
- Pre-parse plugins are invoked just before processing begins on an operation. They may be used to transparently alter the contents of the request in some way.
- Pre-operation plugins are invoked after a significant amount of validation has been performed on the request but just before the real heart of the core processing begins (e.g., the backend processing).
- Post-operation plugins are invoked just after the heart of the core processing on an operation but before the response is sent to the client. They may be used to modify the response that will be sent and/or perform alternate processing for an operation in the event that the real core processing failed.
- Post-response plugins are invoked after the response has been sent to the client and all other processing for the operation has completed. They may be used for cases in which the plugin processing does not need to occur before the client receives the response for the operation.
These plugins may be invoked for most kinds of operations, although certain types of operations like abandon and unbind do not have responses and therefore there is no ability to invoke post-response plugins for those kinds of operations.
Other plugin Directory Server plugin points include:
- Startup plugins may be used to invoke user-defined code when the Directory Server starts.
- Shutdown plugins may be used to invoke user-defined code when the Directory Server performs a graceful shutdown.
- Post-connect plugins may be used to invoke user-defined code whenever a new client connection is established.
- Post-disconnect plugins may be used to invoke user-defined code whenever a client connection is terminated.
- Search result entry plugins may be used to alter entries as they are sent to clients.
- Search result reference plugins may be used to alter referrals as they are sent to clients.
- Intermediate response plugins may be used to alter intermediate response messages as they are sent to clients.
- LDIF import plugins may be used to alter entries as they are read from LDIF files.
- LDIF export plugins may be used to alter entries as they are written to LDIF files.
-
Interface Summary Interface Description PluginResult.OperationResult Contract for operation results. -
Class Summary Class Description DirectoryServerPlugin<T extends PluginCfg> This class defines the set of methods and structures that are available for use in Directory Server plugins.InternalDirectoryServerPlugin An internal directory server plugin which can be registered with the server without requiring any associated configuration.PluginResult This class defines a data structure that holds information about the result of processing by a plugin.PluginResult.ImportLDIF Defines a LDIF plugin result for import from LDIF processing consisting of either continue, skip further plugins, or stop processing with an error message.PluginResult.IntermediateResponse Defines an intermediate response plugin result for core server operation processing consisting of either continue, skip further plugins, or stop operation processing with a result code, matched DN, referral URLs, and error message.PluginResult.PostConnect Defines a post connect plugin result for client connection processing consisting of either continue, skip further plugins, or stop.PluginResult.PostDisconnect Defines a post disconnect plugin result for client connection processing consisting of either continue or skip further plugins.PluginResult.PostOperation Defines a post operation plugin result for core server operation processing consisting of either continue, skip further plugins, or stop operation processing with a result code, matched DN, referral URLs, and error message.PluginResult.PostResponse Defines a post response plugin result for core server operation processing consisting of either continue or skip further plugins.PluginResult.PreOperation Defines a pre operation plugin result for core server operation processing consisting of either continue, skip further plugins, or stop operation processing with a result code, matched DN, referral URLs, and error message.PluginResult.PreParse Defines a pre parse plugin result for core server operation processing consisting of either continue, skip further plugins, or stop operation processing with a result code, matched DN, referral URLs, and error message.PluginResult.Startup Defines a startup plugin result consisting of either continue skip further plugins, or stop startup with an error message.PluginResult.SubordinateDelete Defines a subordinate delete plugin result for core server operation processing consisting of either continue, skip further plugins, or stop operation processing with a result code, matched DN, referral URLs, and error message.PluginResult.SubordinateModifyDN Defines a subordinate modify DN plugin result for core server operation processing consisting of either continue, skip further plugins, or stop operation processing with a result code, matched DN, referral URLs, and error message. -
Enum Summary Enum Description PluginType This class defines an enumeration containing the types of plugins that are supported for use in the Directory Server.