org.opends.server.core
Class SynchronizationProviderConfigManager

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

public class SynchronizationProviderConfigManager
extends java.lang.Object
implements ConfigurationChangeListener<SynchronizationProviderCfg>, ConfigurationAddListener<SynchronizationProviderCfg>, ConfigurationDeleteListener<SynchronizationProviderCfg>

This class defines a utility that will be used to manage the configuration for the set of synchronization providers configured in the Directory Server. It will perform the necessary initialization of those synchronization providers when the server is first started, and then will manage any changes to them while the server is running.


Constructor Summary
SynchronizationProviderConfigManager()
          Creates a new instance of this synchronization provider config manager.
 
Method Summary
 ConfigChangeResult applyConfigurationAdd(SynchronizationProviderCfg configuration)
          Adds a new configuration to this add listener.
 ConfigChangeResult applyConfigurationChange(SynchronizationProviderCfg configuration)
          Applies the configuration changes to this change listener.
 ConfigChangeResult applyConfigurationDelete(SynchronizationProviderCfg configuration)
          Deletes an existing configuration from this delete listener.
 void initializeSynchronizationProviders()
          Initializes the configuration associated with the Directory Server synchronization providers.
 boolean isConfigurationAddAcceptable(SynchronizationProviderCfg configuration, java.util.List<Message> unacceptableReasons)
          Indicates whether the proposed addition of a new configuration is acceptable to this add listener.
 boolean isConfigurationChangeAcceptable(SynchronizationProviderCfg configuration, java.util.List<Message> unacceptableReasons)
          Indicates whether the proposed change to the configuration is acceptable to this change listener.
 boolean isConfigurationDeleteAcceptable(SynchronizationProviderCfg 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

SynchronizationProviderConfigManager

public SynchronizationProviderConfigManager()
Creates a new instance of this synchronization provider config manager.

Method Detail

initializeSynchronizationProviders

public void initializeSynchronizationProviders()
                                        throws ConfigException,
                                               InitializationException
Initializes the configuration associated with the Directory Server synchronization providers. This should only be called at Directory Server startup.

Throws:
ConfigException - If a critical configuration problem prevents any of the synchronization providers from starting properly.
InitializationException - If a problem occurs while initializing any of the synchronization providers that is not related to the Directory Server configuration.

applyConfigurationChange

public ConfigChangeResult applyConfigurationChange(SynchronizationProviderCfg configuration)
Applies the configuration changes to this change listener.

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

isConfigurationChangeAcceptable

public boolean isConfigurationChangeAcceptable(SynchronizationProviderCfg 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<SynchronizationProviderCfg>
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.

applyConfigurationAdd

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

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

isConfigurationAddAcceptable

public boolean isConfigurationAddAcceptable(SynchronizationProviderCfg 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<SynchronizationProviderCfg>
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.

applyConfigurationDelete

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

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

isConfigurationDeleteAcceptable

public boolean isConfigurationDeleteAcceptable(SynchronizationProviderCfg 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<SynchronizationProviderCfg>
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.