Package org.opends.server.api.plugin
Class DirectoryServerPlugin<T extends PluginCfg>
- java.lang.Object
-
- org.opends.server.api.plugin.DirectoryServerPlugin<T>
-
- Type Parameters:
T
- The type of configuration handled by this plugin.
- Direct Known Subclasses:
AttributeCleanupPlugin
,ChangeNumberControlPlugin
,EntityTagPlugin
,EntryUUIDPlugin
,FractionalLDIFImportPlugin
,GraphiteMonitorReporterPlugin
,InternalDirectoryServerPlugin
,LastModPlugin
,LDAPADListPlugin
,PasswordPolicyImportPlugin
,ReferentialIntegrityPlugin
,SambaPasswordPlugin
,SevenBitCleanPlugin
,UniqueAttributePlugin
@PublicAPI(stability=UNCOMMITTED, mayInstantiate=false, mayExtend=true, mayInvoke=false) public abstract class DirectoryServerPlugin<T extends PluginCfg> extends Object
This class defines the set of methods and structures that are available for use in Directory Server plugins. This is a single class that may be used for all types of plugins, and an individual plugin only needs to implement the specific methods that are applicable to that particular plugin type.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
DirectoryServerPlugin()
Creates a new instance of this Directory Server plugin.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description 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.void
doLDIFImportBegin(LDIFImportConfig importConfig)
Starts an import session.void
doLDIFImportEnd(LDIFImportConfig importConfig)
Terminates an import session.PluginResult.PostConnect
doPostConnect(ClientConnection clientConnection)
Performs any processing that should be done when the Directory Server accepts a new connection from a client.PluginResult.PostDisconnect
doPostDisconnect(ClientConnection clientConnection, DisconnectReason disconnectReason, LocalizableMessage message)
Performs any processing that should be done whenever a client connection is closed (regardless of whether the closure is initiated by the client or the server).PluginResult.PostOperation
doPostOperation(PostOperationAbandonOperation abandonOperation)
Performs any necessary processing that should be done after the Directory Server has completed processing for an abandon operation.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(PostOperationBindOperation bindOperation)
Performs any necessary processing that should be done after the Directory Server has completed the core processing for a bind operation but before the response has been sent to the client.PluginResult.PostOperation
doPostOperation(PostOperationCompareOperation compareOperation)
Performs any necessary processing that should be done after the Directory Server has completed the core processing for a compare 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(PostOperationExtendedOperation extendedOperation)
Performs any necessary processing that should be done after the Directory Server has completed the core processing for an extended 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.PluginResult.PostOperation
doPostOperation(PostOperationSearchOperation searchOperation)
Performs any necessary processing that should be done after the Directory Server has completed the core processing for a search operation but before the response has been sent to the client.PluginResult.PostOperation
doPostOperation(PostOperationUnbindOperation unbindOperation)
Performs any necessary processing that should be done after the Directory Server has completed processing for an unbind operation.PluginResult.PostResponse
doPostResponse(PostResponseAddOperation addOperation)
Performs any necessary processing that should be done after the Directory Server has completed all processing for an add operation and has sent the response to the client.PluginResult.PostResponse
doPostResponse(PostResponseBindOperation bindOperation)
Performs any necessary processing that should be done after the Directory Server has completed all processing for a bind operation and has sent the response to the client.PluginResult.PostResponse
doPostResponse(PostResponseCompareOperation compareOperation)
Performs any necessary processing that should be done after the Directory Server has completed all processing for a compare operation and has sent the response to the client.PluginResult.PostResponse
doPostResponse(PostResponseDeleteOperation deleteOperation)
Performs any necessary processing that should be done after the Directory Server has completed all processing for a delete operation and has sent the response to the client.PluginResult.PostResponse
doPostResponse(PostResponseExtendedOperation extendedOperation)
Performs any necessary processing that should be done after the Directory Server has completed all processing for an extended operation and has sent the response to the client.PluginResult.PostResponse
doPostResponse(PostResponseModifyDNOperation modifyDNOperation)
Performs any necessary processing that should be done after the Directory Server has completed all processing for a modify DN operation and has sent the response to the client.PluginResult.PostResponse
doPostResponse(PostResponseModifyOperation modifyOperation)
Performs any necessary processing that should be done after the Directory Server has completed all processing for a modify operation and has sent the response to the client.PluginResult.PostResponse
doPostResponse(PostResponseSearchOperation searchOperation)
Performs any necessary processing that should be done after the Directory Server has completed all processing for a search operation and has sent the response to the client.void
doPostSynchronization(PostSynchronizationAddOperation addOperation)
Performs any necessary processing that should be done after the Directory Server has completed processing for an add operation performed via synchronization.void
doPostSynchronization(PostSynchronizationDeleteOperation deleteOperation)
Performs any necessary processing that should be done after the Directory Server has completed processing for a delete operation performed via synchronization.void
doPostSynchronization(PostSynchronizationModifyDNOperation modifyDNOperation)
Performs any necessary processing that should be done after the Directory Server has completed processing for a modify DN operation performed via synchronization.void
doPostSynchronization(PostSynchronizationModifyOperation modifyOperation)
Performs any necessary processing that should be done after the Directory Server has completed processing for a modify operation performed via synchronization.PluginResult.PreOperation
doPreOperation(PreOperationAddOperation addOperation)
Performs any necessary processing that should be done just before the Directory Server performs the core processing for an add operation.PluginResult.PreOperation
doPreOperation(PreOperationBindOperation bindOperation)
Performs any necessary processing that should be done just before the Directory Server performs the core processing for a bind operation.PluginResult.PreOperation
doPreOperation(PreOperationCompareOperation compareOperation)
Performs any necessary processing that should be done just before the Directory Server performs the core processing for a compare operation.PluginResult.PreOperation
doPreOperation(PreOperationDeleteOperation deleteOperation)
Performs any necessary processing that should be done just before the Directory Server performs the core processing for a delete operation.PluginResult.PreOperation
doPreOperation(PreOperationExtendedOperation extendedOperation)
Performs any necessary processing that should be done just before the Directory Server performs the core processing for an extended operation.PluginResult.PreOperation
doPreOperation(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.PreOperation
doPreOperation(PreOperationModifyOperation modifyOperation)
Performs any necessary processing that should be done just before the Directory Server performs the core processing for a modify operation.PluginResult.PreOperation
doPreOperation(PreOperationSearchOperation searchOperation)
Performs any necessary processing that should be done just before the Directory Server performs the core processing for a search operation.PluginResult.PreParse
doPreParse(PreParseAbandonOperation abandonOperation)
Performs any necessary processing that should be done before the Directory Server parses the elements of an abandon request.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(PreParseBindOperation bindOperation)
Performs any necessary processing that should be done before the Directory Server parses the elements of a bind request.PluginResult.PreParse
doPreParse(PreParseCompareOperation compareOperation)
Performs any necessary processing that should be done before the Directory Server parses the elements of a compare request.PluginResult.PreParse
doPreParse(PreParseDeleteOperation deleteOperation)
Performs any necessary processing that should be done before the Directory Server parses the elements of a delete request.PluginResult.PreParse
doPreParse(PreParseExtendedOperation extendedOperation)
Performs any necessary processing that should be done before the Directory Server parses the elements of an extended 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.PluginResult.PreParse
doPreParse(PreParseSearchOperation searchOperation)
Performs any necessary processing that should be done before the Directory Server parses the elements of a search request.PluginResult.PreParse
doPreParse(PreParseUnbindOperation unbindOperation)
Performs any necessary processing that should be done before the Directory Server parses the elements of an unbind request.void
doShutdown(LocalizableMessage reason)
Performs any processing that should be done when the Directory Server is in the process of performing a graceful shutdown.PluginResult.Startup
doStartup()
Performs any processing that should be done when the Directory Server is in the process of starting.void
finalizePlugin()
Performs any necessary finalization for this plugin.Dn
getPluginEntryDN()
Retrieves the DN of the configuration entry for this plugin.Set<PluginType>
getPluginTypes()
Retrieves the plugin types for which this plugin is registered.protected ServerContext
getServerContext()
Returns the server context.void
initializeInternal(ServerContext serverContext, Dn pluginDN, Set<PluginType> pluginTypes, boolean invokeForInternalOps)
Performs any initialization that should be done for all types of plugins regardless of type.abstract void
initializePlugin(Set<PluginType> pluginTypes, T configuration)
Performs any initialization necessary for this plugin.boolean
invokeForInternalOperations()
Indicates whether this plugin should be invoked for internal operations.boolean
isConfigurationAcceptable(T configuration, List<LocalizableMessage> unacceptableReasons)
Indicates whether the provided configuration is acceptable for this plugin.PluginResult.IntermediateResponse
processIntermediateResponse(InProgressOperation operation, IntermediateResponse intermediateResponse)
Performs any necessary processing that should be done before an intermediate response message is sent to a client.PluginResult.IntermediateResponse
processSearchEntry(InProgressSearchOperation searchOperation, SearchResultEntry searchEntry)
Performs any necessary processing that should be done before a search result entry is sent to a client.PluginResult.IntermediateResponse
processSearchReference(InProgressSearchOperation searchOperation, SearchResultReference searchReference)
Performs any necessary processing that should be done before a search result reference is sent to a client.PluginResult.SubordinateDelete
processSubordinateDelete(DeleteOperation deleteOperation, Dn entryDn, boolean isCommited)
Performs any necessary processing that should be done whenever a subordinate entry is deleted as part of subtree delete operation.PluginResult.SubordinateModifyDN
processSubordinateModifyDN(SubordinateModifyDNOperation modifyDNOperation, Dn oldEntryDn, Dn newEntryDn)
Performs any necessary processing that should be done whenever a subordinate entry is moved or renamed as part of a modify DN operation.void
setInvokeForInternalOperations(boolean invokeForInternalOps)
Specifies whether this plugin should be invoked for internal operations.
-
-
-
Constructor Detail
-
DirectoryServerPlugin
protected DirectoryServerPlugin()
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 callsuper()
as its first action.
-
-
Method Detail
-
getServerContext
protected ServerContext getServerContext()
Returns the server context.- Returns:
- the server context.
-
isConfigurationAcceptable
public boolean isConfigurationAcceptable(T configuration, List<LocalizableMessage> 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.- 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, orfalse
if not.
-
initializeInternal
@PublicAPI(stability=PRIVATE, mayInstantiate=false, mayExtend=false, mayInvoke=false) public final void initializeInternal(ServerContext serverContext, Dn pluginDN, Set<PluginType> pluginTypes, boolean invokeForInternalOps)
Performs any initialization that should be done for all types of plugins regardless of type. This should only be called by the core Directory Server code during the course of loading a plugin.- Parameters:
serverContext
- The server context.pluginDN
- The configuration entry name of this plugin.pluginTypes
- The set of plugin types for which this plugin is registered.invokeForInternalOps
- Indicates whether this plugin should be invoked for internal operations.
-
initializePlugin
public abstract void initializePlugin(Set<PluginType> pluginTypes, T configuration) throws ConfigException, InitializationException
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.- 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.InitializationException
- If a problem occurs while initializing the plugin that is not related to the server configuration.
-
finalizePlugin
public 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.
-
getPluginEntryDN
public final Dn getPluginEntryDN()
Retrieves the DN of the configuration entry for this plugin.- Returns:
- The DN of the configuration entry for this plugin.
-
getPluginTypes
public final Set<PluginType> getPluginTypes()
Retrieves the plugin types for which this plugin is registered. This set must not be modified.- Returns:
- The plugin types for which this plugin is registered.
-
invokeForInternalOperations
public final boolean invokeForInternalOperations()
Indicates whether this plugin should be invoked for internal operations.- Returns:
true
if this plugin should be invoked for internal operations, orfalse
if not.
-
setInvokeForInternalOperations
@PublicAPI(stability=PRIVATE, mayInstantiate=false, mayExtend=false, mayInvoke=false) public final void setInvokeForInternalOperations(boolean invokeForInternalOps)
Specifies whether this plugin should be invoked for internal operations.- Parameters:
invokeForInternalOps
- Indicates whether this plugin should be invoked for internal operations.
-
doStartup
public PluginResult.Startup doStartup()
Performs any processing that should be done when the Directory Server is in the process of starting. This method will be called after virtually all other initialization has been performed but before the connection handlers are started.- Returns:
- The result of the startup plugin processing.
-
doShutdown
public void doShutdown(LocalizableMessage reason)
Performs any processing that should be done when the Directory Server is in the process of performing a graceful shutdown. This method will be called early in the shutdown process after the connection handlers are stopped but before other finalization is performed.- Parameters:
reason
- The human-readable reason for the shutdown.
-
doPostConnect
public PluginResult.PostConnect doPostConnect(ClientConnection clientConnection)
Performs any processing that should be done when the Directory Server accepts a new connection from a client. This method will be called after additional verification is performed to ensure that the connection should be accepted.- Parameters:
clientConnection
- The client connection that has been accepted.- Returns:
- The result of the plugin processing.
-
doPostDisconnect
public PluginResult.PostDisconnect doPostDisconnect(ClientConnection clientConnection, DisconnectReason disconnectReason, LocalizableMessage message)
Performs any processing that should be done whenever a client connection is closed (regardless of whether the closure is initiated by the client or the server).- Parameters:
clientConnection
- The client connection that has been closed.disconnectReason
- The disconnect reason for the closure.message
- A message providing additional information about the closure, ornull
if there is none.- Returns:
- The result of the plugin processing.
-
doLDIFImport
public 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.- 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.
-
doLDIFImportEnd
public void doLDIFImportEnd(LDIFImportConfig importConfig)
Terminates an import session. Performs any necessary processing that should be done at the end of an LDIF import session based on the provided configuration.- Parameters:
importConfig
- The configuration used for the LDIF import.
-
doLDIFImportBegin
public void doLDIFImportBegin(LDIFImportConfig importConfig)
Starts an import session. Performs any necessary processing that should be done at the beginning of an LDIF import session based on the provided configuration.- Parameters:
importConfig
- The configuration used for the LDIF import.
-
doPreParse
public PluginResult.PreParse doPreParse(PreParseAbandonOperation abandonOperation)
Performs any necessary processing that should be done before the Directory Server parses the elements of an abandon request.- Parameters:
abandonOperation
- The abandon operation that has been requested.- Returns:
- Information about the result of the plugin processing.
-
doPostOperation
public PluginResult.PostOperation doPostOperation(PostOperationAbandonOperation abandonOperation)
Performs any necessary processing that should be done after the Directory Server has completed processing for an abandon operation.- Parameters:
abandonOperation
- The abandon operation for which processing has completed.- Returns:
- Information about the result of the plugin processing.
-
doPreParse
public PluginResult.PreParse doPreParse(PreParseAddOperation addOperation) throws CancelledResultException
Performs any necessary processing that should be done before the Directory Server parses the elements of an add request.- Parameters:
addOperation
- The add operation that has been requested.- Returns:
- Information about the result of the plugin processing.
- Throws:
CancelledResultException
- if this operation should be cancelled.
-
doPreOperation
public PluginResult.PreOperation doPreOperation(PreOperationAddOperation addOperation) throws CancelledResultException
Performs 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.- Parameters:
addOperation
- The add operation to be processed.- Returns:
- Information about the result of the plugin processing.
- Throws:
CancelledResultException
- if this operation should be cancelled.
-
doPostOperation
public 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.- 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.
-
doPostResponse
public PluginResult.PostResponse doPostResponse(PostResponseAddOperation addOperation)
Performs any necessary processing that should be done after the Directory Server has completed all processing for an add operation and has sent the response to the client.- Parameters:
addOperation
- The add operation for which processing has completed and the response has been sent to the client.- Returns:
- Information about the result of the plugin processing.
-
doPostSynchronization
public void doPostSynchronization(PostSynchronizationAddOperation addOperation)
Performs any necessary processing that should be done after the Directory Server has completed processing for an add operation performed via synchronization.- Parameters:
addOperation
- The synchronized add operation for which processing has been completed.
-
doPreParse
public PluginResult.PreParse doPreParse(PreParseBindOperation bindOperation)
Performs any necessary processing that should be done before the Directory Server parses the elements of a bind request.- Parameters:
bindOperation
- The bind operation that has been requested.- Returns:
- Information about the result of the plugin processing.
-
doPreOperation
public PluginResult.PreOperation doPreOperation(PreOperationBindOperation bindOperation)
Performs any necessary processing that should be done just before the Directory Server performs the core processing for a bind operation.- Parameters:
bindOperation
- The bind operation to be processed.- Returns:
- Information about the result of the plugin processing.
-
doPostOperation
public PluginResult.PostOperation doPostOperation(PostOperationBindOperation bindOperation)
Performs any necessary processing that should be done after the Directory Server has completed the core processing for a bind operation but before the response has been sent to the client.- Parameters:
bindOperation
- The bind operation for which processing has completed but no response has yet been sent.- Returns:
- Information about the result of the plugin processing.
-
doPostResponse
public PluginResult.PostResponse doPostResponse(PostResponseBindOperation bindOperation)
Performs any necessary processing that should be done after the Directory Server has completed all processing for a bind operation and has sent the response to the client.- Parameters:
bindOperation
- The bind operation for which processing has completed and the response has been sent to the client.- Returns:
- Information about the result of the plugin processing.
-
doPreParse
public PluginResult.PreParse doPreParse(PreParseCompareOperation compareOperation) throws CancelledResultException
Performs any necessary processing that should be done before the Directory Server parses the elements of a compare request.- Parameters:
compareOperation
- The compare operation that has been requested.- Returns:
- Information about the result of the plugin processing.
- Throws:
CancelledResultException
- if this operation should be cancelled.
-
doPreOperation
public PluginResult.PreOperation doPreOperation(PreOperationCompareOperation compareOperation) throws CancelledResultException
Performs any necessary processing that should be done just before the Directory Server performs the core processing for a compare operation.- Parameters:
compareOperation
- The compare operation to be processed.- Returns:
- Information about the result of the plugin processing.
- Throws:
CancelledResultException
- if this operation should be cancelled.
-
doPostOperation
public PluginResult.PostOperation doPostOperation(PostOperationCompareOperation compareOperation)
Performs any necessary processing that should be done after the Directory Server has completed the core processing for a compare operation but before the response has been sent to the client.- Parameters:
compareOperation
- The compare operation for which processing has completed but no response has yet been sent.- Returns:
- Information about the result of the plugin processing.
-
doPostResponse
public PluginResult.PostResponse doPostResponse(PostResponseCompareOperation compareOperation)
Performs any necessary processing that should be done after the Directory Server has completed all processing for a compare operation and has sent the response to the client.- Parameters:
compareOperation
- The compare operation for which processing has completed and the response has been sent to the client.- Returns:
- Information about the result of the plugin processing.
-
doPreParse
public PluginResult.PreParse doPreParse(PreParseDeleteOperation deleteOperation) throws CancelledResultException
Performs any necessary processing that should be done before the Directory Server parses the elements of a delete request.- Parameters:
deleteOperation
- The delete operation that has been requested.- Returns:
- Information about the result of the plugin processing.
- Throws:
CancelledResultException
- if this operation should be cancelled.
-
doPreOperation
public PluginResult.PreOperation doPreOperation(PreOperationDeleteOperation deleteOperation) throws CancelledResultException
Performs any necessary processing that should be done just before the Directory Server performs the core processing for a delete operation. This method is not called when processing synchronization operations.- Parameters:
deleteOperation
- The delete operation to be processed.- Returns:
- Information about the result of the plugin processing.
- Throws:
CancelledResultException
- if this operation should be cancelled.
-
doPostOperation
public 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.- 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.
-
doPostResponse
public PluginResult.PostResponse doPostResponse(PostResponseDeleteOperation deleteOperation)
Performs any necessary processing that should be done after the Directory Server has completed all processing for a delete operation and has sent the response to the client.- Parameters:
deleteOperation
- The delete operation for which processing has completed and the response has been sent to the client.- Returns:
- Information about the result of the plugin processing.
-
doPostSynchronization
public void doPostSynchronization(PostSynchronizationDeleteOperation deleteOperation)
Performs any necessary processing that should be done after the Directory Server has completed processing for a delete operation performed via synchronization.- Parameters:
deleteOperation
- The synchronized delete operation for which processing has been completed.
-
doPreParse
public PluginResult.PreParse doPreParse(PreParseExtendedOperation extendedOperation) throws CancelledResultException
Performs any necessary processing that should be done before the Directory Server parses the elements of an extended request.- Parameters:
extendedOperation
- The extended operation that has been requested.- Returns:
- Information about the result of the plugin processing.
- Throws:
CancelledResultException
- if this operation should be cancelled.
-
doPreOperation
public PluginResult.PreOperation doPreOperation(PreOperationExtendedOperation extendedOperation) throws CancelledResultException
Performs any necessary processing that should be done just before the Directory Server performs the core processing for an extended operation.- Parameters:
extendedOperation
- The extended operation to be processed.- Returns:
- Information about the result of the plugin processing.
- Throws:
CancelledResultException
- if this operation should be cancelled.
-
doPostOperation
public PluginResult.PostOperation doPostOperation(PostOperationExtendedOperation extendedOperation)
Performs any necessary processing that should be done after the Directory Server has completed the core processing for an extended operation but before the response has been sent to the client.- Parameters:
extendedOperation
- The extended operation for which processing has completed but no response has yet been sent.- Returns:
- Information about the result of the plugin processing.
-
doPostResponse
public PluginResult.PostResponse doPostResponse(PostResponseExtendedOperation extendedOperation)
Performs any necessary processing that should be done after the Directory Server has completed all processing for an extended operation and has sent the response to the client.- Parameters:
extendedOperation
- The extended operation for which processing has completed and the response has been sent to the client.- Returns:
- Information about the result of the plugin processing.
-
doPreParse
public PluginResult.PreParse doPreParse(PreParseModifyOperation modifyOperation) throws CancelledResultException
Performs any necessary processing that should be done before the Directory Server parses the elements of a modify request.- Parameters:
modifyOperation
- The modify operation that has been requested.- Returns:
- Information about the result of the plugin processing.
- Throws:
CancelledResultException
- if this operation should be cancelled.
-
doPreOperation
public PluginResult.PreOperation doPreOperation(PreOperationModifyOperation modifyOperation) throws CancelledResultException
Performs 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.- Parameters:
modifyOperation
- The modify operation to be processed.- Returns:
- Information about the result of the plugin processing.
- Throws:
CancelledResultException
- if this operation should be cancelled.
-
doPostOperation
public 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.- 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.
-
doPostResponse
public PluginResult.PostResponse doPostResponse(PostResponseModifyOperation modifyOperation)
Performs any necessary processing that should be done after the Directory Server has completed all processing for a modify operation and has sent the response to the client.- Parameters:
modifyOperation
- The modify operation for which processing has completed and the response has been sent to the client.- Returns:
- Information about the result of the plugin processing.
-
doPostSynchronization
public void doPostSynchronization(PostSynchronizationModifyOperation modifyOperation)
Performs any necessary processing that should be done after the Directory Server has completed processing for a modify operation performed via synchronization.- Parameters:
modifyOperation
- The synchronized modify operation for which processing has been completed.
-
doPreParse
public PluginResult.PreParse doPreParse(PreParseModifyDNOperation modifyDNOperation) throws CancelledResultException
Performs any necessary processing that should be done before the Directory Server parses the elements of a modify DN request.- Parameters:
modifyDNOperation
- The modify DN operation that has been requested.- Returns:
- Information about the result of the plugin processing.
- Throws:
CancelledResultException
- if this operation should be cancelled.
-
doPreOperation
public PluginResult.PreOperation doPreOperation(PreOperationModifyDNOperation modifyDNOperation) throws CancelledResultException
Performs 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.- Parameters:
modifyDNOperation
- The modify DN operation to be processed.- Returns:
- Information about the result of the plugin processing.
- Throws:
CancelledResultException
- if this operation should be cancelled.
-
processSubordinateModifyDN
public PluginResult.SubordinateModifyDN processSubordinateModifyDN(SubordinateModifyDNOperation modifyDNOperation, Dn oldEntryDn, Dn newEntryDn)
Performs any necessary processing that should be done whenever a subordinate entry is moved or renamed as part of a modify DN operation. Note that if the entry is to be changed in any way, the new entry should be directly modified, and the changes made should also be added to the provided list of modifications.
NOTE: At the present time, OpenDS does not provide support for altering entries subordinate to the target of a modify DN operation. While this may be available in the future, current plugins should not attempt to alter the new or old entries in any way, nor should they attempt to add any modifications to the provided list.- Parameters:
modifyDNOperation
- The modify DN operation with which the subordinate entry is associated.oldEntryDn
- The name of the subordinate entry prior to the move/rename operation.newEntryDn
- The name of the subordinate entry after the move/rename operation.- Returns:
- Information about the result of the plugin processing.
-
processSubordinateDelete
public PluginResult.SubordinateDelete processSubordinateDelete(DeleteOperation deleteOperation, Dn entryDn, boolean isCommited)
Performs any necessary processing that should be done whenever a subordinate entry is deleted as part of subtree delete operation.- Parameters:
deleteOperation
- The delete operation with which the subordinate entry is associated.entryDn
- The name of the subordinate entry being deleted.isCommited
-true
when a subtree delete cannot be done in a single isolated transaction. Each subordinate has already been deleted at the time this method is invoked.false
when a subtree delete can be done in a single isolated transaction. All the subordinate entries will effectively be deleted at once during the transaction commit. At which point, the deletion become effective only at the time of thedoPostOperation(PostOperationDeleteOperation)
invocation.- Returns:
- Information about the result of the plugin processing.
-
doPostOperation
public 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.- 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.
-
doPostResponse
public PluginResult.PostResponse doPostResponse(PostResponseModifyDNOperation modifyDNOperation)
Performs any necessary processing that should be done after the Directory Server has completed all processing for a modify DN operation and has sent the response to the client.- Parameters:
modifyDNOperation
- The modifyDN operation for which processing has completed and the response has been sent to the client.- Returns:
- Information about the result of the plugin processing.
-
doPostSynchronization
public void doPostSynchronization(PostSynchronizationModifyDNOperation modifyDNOperation)
Performs any necessary processing that should be done after the Directory Server has completed processing for a modify DN operation performed via synchronization.- Parameters:
modifyDNOperation
- The synchronized modify DN operation for which processing has been completed.
-
doPreParse
public PluginResult.PreParse doPreParse(PreParseSearchOperation searchOperation) throws CancelledResultException
Performs any necessary processing that should be done before the Directory Server parses the elements of a search request.- Parameters:
searchOperation
- The search operation that has been requested.- Returns:
- Information about the result of the plugin processing.
- Throws:
CancelledResultException
- if this operation should be cancelled.
-
doPreOperation
public PluginResult.PreOperation doPreOperation(PreOperationSearchOperation searchOperation) throws CancelledResultException
Performs any necessary processing that should be done just before the Directory Server performs the core processing for a search operation.- Parameters:
searchOperation
- The search operation to be processed.- Returns:
- Information about the result of the plugin processing.
- Throws:
CancelledResultException
- if this operation should be cancelled.
-
processSearchEntry
public PluginResult.IntermediateResponse processSearchEntry(InProgressSearchOperation searchOperation, SearchResultEntry searchEntry)
Performs any necessary processing that should be done before a search result entry is sent to a client. This will be called after it has been verified that the entry does actually match the search criteria and after access control has been enforced to ensure that the entry should be sent and/or to strip out attributes/values that the user should not see.- Parameters:
searchOperation
- The search operation with which the search entry is associated.searchEntry
- The search result entry that is to be sent to the client. Its contents may be altered by the plugin if necessary.- Returns:
- Information about the result of the plugin processing.
-
processSearchReference
public PluginResult.IntermediateResponse processSearchReference(InProgressSearchOperation searchOperation, SearchResultReference searchReference)
Performs any necessary processing that should be done before a search result reference is sent to a client.- Parameters:
searchOperation
- The search operation with which the search result reference is associated.searchReference
- The search result reference that is to be sent to the client. Its contents may be altered by the plugin if necessary.- Returns:
- Information about the result of the plugin processing.
-
doPostOperation
public PluginResult.PostOperation doPostOperation(PostOperationSearchOperation searchOperation)
Performs any necessary processing that should be done after the Directory Server has completed the core processing for a search operation but before the response has been sent to the client.- Parameters:
searchOperation
- The search operation for which processing has completed but no response has yet been sent.- Returns:
- Information about the result of the plugin processing.
-
doPostResponse
public PluginResult.PostResponse doPostResponse(PostResponseSearchOperation searchOperation)
Performs any necessary processing that should be done after the Directory Server has completed all processing for a search operation and has sent the response to the client.- Parameters:
searchOperation
- The search operation for which processing has completed and the response has been sent to the client.- Returns:
- Information about the result of the plugin processing.
-
doPreParse
public PluginResult.PreParse doPreParse(PreParseUnbindOperation unbindOperation)
Performs any necessary processing that should be done before the Directory Server parses the elements of an unbind request.- Parameters:
unbindOperation
- The unbind operation that has been requested.- Returns:
- Information about the result of the plugin processing.
-
doPostOperation
public PluginResult.PostOperation doPostOperation(PostOperationUnbindOperation unbindOperation)
Performs any necessary processing that should be done after the Directory Server has completed processing for an unbind operation.- Parameters:
unbindOperation
- The unbind operation for which processing has completed.- Returns:
- Information about the result of the plugin processing.
-
processIntermediateResponse
public PluginResult.IntermediateResponse processIntermediateResponse(InProgressOperation operation, IntermediateResponse intermediateResponse)
Performs any necessary processing that should be done before an intermediate response message is sent to a client.- Parameters:
operation
- The operation with which the intermediate operation is associated.intermediateResponse
- The intermediate response to be sent to the client.- Returns:
- Information about the result of the plugin processing.
-
-