Package org.opends.server.core
Class GroupManager
java.lang.Object
org.opends.server.api.plugin.DirectoryServerPlugin<PluginCfg>
org.opends.server.api.plugin.InternalDirectoryServerPlugin
org.opends.server.core.GroupManager
- All Implemented Interfaces:
LocalBackendInitializationListener
public final class GroupManager
extends InternalDirectoryServerPlugin
implements LocalBackendInitializationListener
This class provides a mechanism for interacting with all groups defined in the Directory Server. It will handle all
necessary processing at server startup to identify and load all group implementations, as well as to find all group
instances within the server.
FIXME: At the present time, it assumes that all of the necessary information about all of the groups defined in the server can be held in memory. If it is determined that this approach is not workable in all cases, then we will need an alternate strategy.
FIXME: At the present time, it assumes that all of the necessary information about all of the groups defined in the server can be held in memory. If it is determined that this approach is not workable in all cases, then we will need an alternate strategy.
-
Method Summary
Modifier and TypeMethodDescriptionvoidRemoves all group instances that might happen to be registered with the group manager.voiddoPostCommit(PostCommitAddOperation addOperation) Performs any necessary processing that should be done after the Directory Server has committed an add operation.voiddoPostCommit(PostCommitDeleteOperation deleteOperation) Performs any necessary processing that should be done after the Directory Server has committed a delete operation.voiddoPostCommit(PostCommitModifyDNOperation modifyDNOperation) Performs any necessary processing that should be done after the Directory Server has committed a modify DN operation.voiddoPostCommit(PostCommitModifyOperation modifyOperation) Performs any necessary processing that should be done after the Directory Server has committed a modify operation.voidPerforms any processing that should be done when the Directory Server is in the process of starting.Retrieves anIterableobject that may be used to cursor across the group instances defined in the server.Retrieves the group defined in the entry with the specified DN.voidperformBackendPostFinalizationProcessing(String backendId, Predicate<Dn> handlesEntry) Performs any processing that may be required whenever a backend is finalized.voidPerforms any processing that may be required whenever a backend is initialized for use in the Directory Server.Methods inherited from class org.opends.server.api.plugin.InternalDirectoryServerPlugin
initializePlugin, isConfigurationAcceptableMethods inherited from class org.opends.server.api.plugin.DirectoryServerPlugin
doLDIFImport, doLDIFImportBegin, doLDIFImportEnd, 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, doPreParse, doPreParse, doPreParse, doShutdown, finalizePlugin, getPluginEntryDN, getPluginTypes, getServerContext, initializeInternal, invokeForInternalOperations, processIntermediateResponse, processSearchEntry, processSearchReference, processSubordinateDelete, processSubordinateModifyDN, setInvokeForInternalOperationsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.opends.server.api.LocalBackendInitializationListener
performBackendPostInitializationProcessing, performBackendPreFinalizationProcessing
-
Method Details
-
getAllGroups
Retrieves anIterableobject that may be used to cursor across the group instances defined in the server.- Returns:
- An
Iterableobject that may be used to cursor across the group instances defined in the server.
-
getGroup
Retrieves the group defined in the entry with the specified DN.- Parameters:
entryDN- The DN of the entry containing the definition of the group to retrieve.- Returns:
- The group defined in the entry with the specified DN, or
nullif no such group is currently defined.
-
doStartup
public void doStartup()Description copied from class:DirectoryServerPluginPerforms 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.- Overrides:
doStartupin classDirectoryServerPlugin<PluginCfg>
-
performBackendPreInitializationProcessing
Performs any processing that may be required whenever a backend is initialized for use in the Directory Server. This method will be invoked after the backend has been initialized but before it has been put into service.In this case, the server will search the backend to find all group instances that it may contain and register them with this group manager.
- Specified by:
performBackendPreInitializationProcessingin interfaceLocalBackendInitializationListener- Parameters:
backend- The backend that has been initialized and is about to be put into service.
-
performBackendPostFinalizationProcessing
Performs any processing that may be required whenever a backend is finalized. This method will be invoked after the backend has been taken out of service and after it has been finalized.In this case, the server will de-register all group instances associated with entries in the provided backend.
- Specified by:
performBackendPostFinalizationProcessingin interfaceLocalBackendInitializationListener- Parameters:
backendId- The backend ID of the backend that has been taken out of service.handlesEntry- A predicate which can be used for determining whether the finalized backend contained an entry.
-
doPostCommit
Description copied from class:DirectoryServerPluginPerforms any necessary processing that should be done after the Directory Server has committed an add operation.- Overrides:
doPostCommitin classDirectoryServerPlugin<PluginCfg>- Parameters:
addOperation- The add operation that has just been committed.
-
doPostCommit
Description copied from class:DirectoryServerPluginPerforms any necessary processing that should be done after the Directory Server has committed a delete operation.- Overrides:
doPostCommitin classDirectoryServerPlugin<PluginCfg>- Parameters:
deleteOperation- The delete operation that has just been committed.
-
doPostCommit
Description copied from class:DirectoryServerPluginPerforms any necessary processing that should be done after the Directory Server has committed a modify operation.- Overrides:
doPostCommitin classDirectoryServerPlugin<PluginCfg>- Parameters:
modifyOperation- The modify operation that has just been committed.
-
doPostCommit
Description copied from class:DirectoryServerPluginPerforms any necessary processing that should be done after the Directory Server has committed a modify DN operation.- Overrides:
doPostCommitin classDirectoryServerPlugin<PluginCfg>- Parameters:
modifyDNOperation- The modify DN operation that has just been committed.
-
deregisterAllGroups
public void deregisterAllGroups()Removes all group instances that might happen to be registered with the group manager. This method is only intended for testing purposes and should not be called by any other code.
-