org.opends.server.extensions
Class RegularExpressionIdentityMapper

java.lang.Object
  extended by org.opends.server.api.IdentityMapper<RegularExpressionIdentityMapperCfg>
      extended by org.opends.server.extensions.RegularExpressionIdentityMapper
All Implemented Interfaces:
ConfigurationChangeListener<RegularExpressionIdentityMapperCfg>

public class RegularExpressionIdentityMapper
extends IdentityMapper<RegularExpressionIdentityMapperCfg>
implements ConfigurationChangeListener<RegularExpressionIdentityMapperCfg>

This class provides an implementation of a Directory Server identity mapper that uses a regular expression to process the provided ID string, and then looks for that processed value to appear in an attribute of a user's entry. This mapper may be configured to look in one or more attributes using zero or more search bases. In order for the mapping to be established properly, exactly one entry must have an attribute that exactly matches (according to the equality matching rule associated with that attribute) the processed ID value.


Constructor Summary
RegularExpressionIdentityMapper()
          Creates a new instance of this regular expression identity mapper.
 
Method Summary
 ConfigChangeResult applyConfigurationChange(RegularExpressionIdentityMapperCfg configuration)
          Applies the configuration changes to this change listener.
 void finalizeIdentityMapper()
          Performs any finalization that may be necessary for this identity mapper.
 Entry getEntryForID(java.lang.String id)
          Retrieves the user entry that was mapped to the provided identification string.
 void initializeIdentityMapper(RegularExpressionIdentityMapperCfg configuration)
          Initializes this identity mapper based on the information in the provided configuration entry.
 boolean isConfigurationAcceptable(IdentityMapperCfg configuration, java.util.List<Message> unacceptableReasons)
          Indicates whether the provided configuration is acceptable for this identity mapper.
 boolean isConfigurationChangeAcceptable(RegularExpressionIdentityMapperCfg configuration, java.util.List<Message> unacceptableReasons)
          Indicates whether the proposed change to the configuration is acceptable to this change listener.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RegularExpressionIdentityMapper

public RegularExpressionIdentityMapper()
Creates a new instance of this regular expression identity mapper. All initialization should be performed in the initializeIdentityMapper method.

Method Detail

initializeIdentityMapper

public void initializeIdentityMapper(RegularExpressionIdentityMapperCfg configuration)
                              throws ConfigException,
                                     InitializationException
Initializes this identity mapper based on the information in the provided configuration entry.

Specified by:
initializeIdentityMapper in class IdentityMapper<RegularExpressionIdentityMapperCfg>
Parameters:
configuration - The configuration for the identity mapper.
Throws:
ConfigException - If an unrecoverable problem arises in the process of performing the initialization.
InitializationException - If a problem occurs during initialization that is not related to the server configuration.

finalizeIdentityMapper

public void finalizeIdentityMapper()
Performs any finalization that may be necessary for this identity mapper. By default, no finalization is performed.

Overrides:
finalizeIdentityMapper in class IdentityMapper<RegularExpressionIdentityMapperCfg>

getEntryForID

public Entry getEntryForID(java.lang.String id)
                    throws DirectoryException
Retrieves the user entry that was mapped to the provided identification string.

Specified by:
getEntryForID in class IdentityMapper<RegularExpressionIdentityMapperCfg>
Parameters:
id - The identification string that is to be mapped to a user.
Returns:
The user entry that was mapped to the provided identification, or null if no users were found that could be mapped to the provided ID.
Throws:
DirectoryException - If a problem occurs while attempting to map the given ID to a user entry, or if there are multiple user entries that could map to the provided ID.

isConfigurationAcceptable

public boolean isConfigurationAcceptable(IdentityMapperCfg configuration,
                                         java.util.List<Message> unacceptableReasons)
Indicates whether the provided configuration is acceptable for this identity mapper. It should be possible to call this method on an uninitialized identity mapper instance in order to determine whether the identity mapper would be able to use the provided configuration.

Note that implementations which use a subclass of the provided configuration class will likely need to cast the configuration to the appropriate subclass type.

Overrides:
isConfigurationAcceptable in class IdentityMapper<RegularExpressionIdentityMapperCfg>
Parameters:
configuration - The identity mapper 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 identity mapper, or false if not.

isConfigurationChangeAcceptable

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

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