org.opends.server.core
Class RootDNConfigManager

java.lang.Object
  extended by org.opends.server.core.RootDNConfigManager
All Implemented Interfaces:
ConfigurationAddListener<RootDNUserCfg>, ConfigurationChangeListener<RootDNUserCfg>, ConfigurationDeleteListener<RootDNUserCfg>

public class RootDNConfigManager
extends java.lang.Object
implements ConfigurationChangeListener<RootDNUserCfg>, ConfigurationAddListener<RootDNUserCfg>, ConfigurationDeleteListener<RootDNUserCfg>

This class defines a utility that will be used to manage the set of root users defined in the Directory Server. It will handle both the "cn=Root DNs,cn=config" entry itself (through the root privilege change listener), and all of its children.


Constructor Summary
RootDNConfigManager()
          Creates a new instance of this root DN config manager.
 
Method Summary
 ConfigChangeResult applyConfigurationAdd(RootDNUserCfg configuration)
          Adds a new configuration to this add listener.
 ConfigChangeResult applyConfigurationChange(RootDNUserCfg configuration)
          Applies the configuration changes to this change listener.
 ConfigChangeResult applyConfigurationDelete(RootDNUserCfg configuration)
          Deletes an existing configuration from this delete listener.
 java.util.Set<Privilege> getRootPrivileges()
          Retrieves the set of privileges that will be granted to root users by default.
 void initializeRootDNs()
          Initializes all of the root users currently defined in the Directory Server configuration, as well as the set of privileges that root users will inherit by default.
 boolean isConfigurationAddAcceptable(RootDNUserCfg configuration, java.util.List<Message> unacceptableReasons)
          Indicates whether the proposed addition of a new configuration is acceptable to this add listener.
 boolean isConfigurationChangeAcceptable(RootDNUserCfg configuration, java.util.List<Message> unacceptableReasons)
          Indicates whether the proposed change to the configuration is acceptable to this change listener.
 boolean isConfigurationDeleteAcceptable(RootDNUserCfg configuration, java.util.List<Message> unacceptableReasons)
          Indicates whether the proposed deletion of an existing configuration is acceptable to this delete listener.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RootDNConfigManager

public RootDNConfigManager()
Creates a new instance of this root DN config manager.

Method Detail

initializeRootDNs

public void initializeRootDNs()
                       throws ConfigException,
                              InitializationException
Initializes all of the root users currently defined in the Directory Server configuration, as well as the set of privileges that root users will inherit by default.

Throws:
ConfigException - If a configuration problem causes the identity mapper initialization process to fail.
InitializationException - If a problem occurs while initializing the identity mappers that is not related to the server configuration.

getRootPrivileges

public java.util.Set<Privilege> getRootPrivileges()
Retrieves the set of privileges that will be granted to root users by default.

Returns:
The set of privileges that will be granted to root users by default.

isConfigurationAddAcceptable

public boolean isConfigurationAddAcceptable(RootDNUserCfg configuration,
                                            java.util.List<Message> unacceptableReasons)
Indicates whether the proposed addition of a new configuration is acceptable to this add listener.

Specified by:
isConfigurationAddAcceptable in interface ConfigurationAddListener<RootDNUserCfg>
Parameters:
configuration - The configuration that will be added.
unacceptableReasons - A list that can be used to hold messages about why the provided configuration is not acceptable.
Returns:
Returns true if the proposed addition is acceptable, or false if it is not.

applyConfigurationAdd

public ConfigChangeResult applyConfigurationAdd(RootDNUserCfg configuration)
Adds a new configuration to this add listener.

Specified by:
applyConfigurationAdd in interface ConfigurationAddListener<RootDNUserCfg>
Parameters:
configuration - The configuration that will be added.
Returns:
Returns information about the result of adding the configuration.

isConfigurationDeleteAcceptable

public boolean isConfigurationDeleteAcceptable(RootDNUserCfg configuration,
                                               java.util.List<Message> unacceptableReasons)
Indicates whether the proposed deletion of an existing configuration is acceptable to this delete listener.

Specified by:
isConfigurationDeleteAcceptable in interface ConfigurationDeleteListener<RootDNUserCfg>
Parameters:
configuration - The configuration that will be deleted.
unacceptableReasons - A list that can be used to hold messages about why the provided configuration is not acceptable.
Returns:
Returns true if the proposed deletion is acceptable, or false if it is not.

applyConfigurationDelete

public ConfigChangeResult applyConfigurationDelete(RootDNUserCfg configuration)
Deletes an existing configuration from this delete listener.

Specified by:
applyConfigurationDelete in interface ConfigurationDeleteListener<RootDNUserCfg>
Parameters:
configuration - The existing configuration that will be deleted.
Returns:
Returns information about the result of deleting the configuration.

isConfigurationChangeAcceptable

public boolean isConfigurationChangeAcceptable(RootDNUserCfg 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<RootDNUserCfg>
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(RootDNUserCfg configuration)
Applies the configuration changes to this change listener.

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