@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:
  • 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.