org.opends.server.schema
Class DirectoryStringSyntax

java.lang.Object
  extended by org.opends.server.api.AttributeSyntax<DirectoryStringAttributeSyntaxCfg>
      extended by org.opends.server.schema.DirectoryStringSyntax
All Implemented Interfaces:
ConfigurationChangeListener<DirectoryStringAttributeSyntaxCfg>

public class DirectoryStringSyntax
extends AttributeSyntax<DirectoryStringAttributeSyntaxCfg>
implements ConfigurationChangeListener<DirectoryStringAttributeSyntaxCfg>

This class defines the directory string attribute syntax, which is simply a set of UTF-8 characters. By default, they will be treated in a case-insensitive manner, and equality, ordering, substring, and approximate matching will be allowed.


Field Summary
static AttributeValueDecoder<java.lang.String> DECODER
          A String attribute value decoder for this syntax.
 
Constructor Summary
DirectoryStringSyntax()
          Creates a new instance of this syntax.
 
Method Summary
 boolean allowZeroLengthValues()
          Indicates whether zero-length values will be allowed.
 ConfigChangeResult applyConfigurationChange(DirectoryStringAttributeSyntaxCfg configuration)
          Applies the configuration changes to this change listener.
 void finalizeSyntax()
          Performs any finalization that may be necessary for this attribute syntax.
 ApproximateMatchingRule getApproximateMatchingRule()
          Retrieves the default approximate matching rule that will be used for attributes with this syntax.
 java.lang.String getDescription()
          Retrieves a description for this attribute syntax.
 EqualityMatchingRule getEqualityMatchingRule()
          Retrieves the default equality matching rule that will be used for attributes with this syntax.
 java.lang.String getOID()
          Retrieves the OID for this attribute syntax.
 OrderingMatchingRule getOrderingMatchingRule()
          Retrieves the default ordering matching rule that will be used for attributes with this syntax.
 SubstringMatchingRule getSubstringMatchingRule()
          Retrieves the default substring matching rule that will be used for attributes with this syntax.
 java.lang.String getSyntaxName()
          Retrieves the common name for this attribute syntax.
 void initializeSyntax(DirectoryStringAttributeSyntaxCfg configuration)
          Initializes this attribute syntax based on the information in the provided configuration entry.
 boolean isConfigurationChangeAcceptable(DirectoryStringAttributeSyntaxCfg configuration, java.util.List<Message> unacceptableReasons)
          Indicates whether the proposed change to the configuration is acceptable to this change listener.
 boolean valueIsAcceptable(ByteString value, MessageBuilder invalidReason)
          Indicates whether the provided value is acceptable for use in an attribute with this syntax.
 
Methods inherited from class org.opends.server.api.AttributeSyntax
equals, hashCode, isConfigurationAcceptable, toString, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

DECODER

public static final AttributeValueDecoder<java.lang.String> DECODER
A String attribute value decoder for this syntax.

Constructor Detail

DirectoryStringSyntax

public DirectoryStringSyntax()
Creates a new instance of this syntax. Note that the only thing that should be done here is to invoke the default constructor for the superclass. All initialization should be performed in the initializeSyntax method.

Method Detail

initializeSyntax

public void initializeSyntax(DirectoryStringAttributeSyntaxCfg configuration)
                      throws ConfigException
Initializes this attribute syntax based on the information in the provided configuration entry.

Specified by:
initializeSyntax in class AttributeSyntax<DirectoryStringAttributeSyntaxCfg>
Parameters:
configuration - The configuration to use to initialize this attribute syntax.
Throws:
ConfigException - If an unrecoverable problem arises in the process of performing the initialization.

finalizeSyntax

public void finalizeSyntax()
Performs any finalization that may be necessary for this attribute syntax.

Overrides:
finalizeSyntax in class AttributeSyntax<DirectoryStringAttributeSyntaxCfg>

getSyntaxName

public java.lang.String getSyntaxName()
Retrieves the common name for this attribute syntax.

Specified by:
getSyntaxName in class AttributeSyntax<DirectoryStringAttributeSyntaxCfg>
Returns:
The common name for this attribute syntax.

getOID

public java.lang.String getOID()
Retrieves the OID for this attribute syntax.

Specified by:
getOID in class AttributeSyntax<DirectoryStringAttributeSyntaxCfg>
Returns:
The OID for this attribute syntax.

getDescription

public java.lang.String getDescription()
Retrieves a description for this attribute syntax.

Specified by:
getDescription in class AttributeSyntax<DirectoryStringAttributeSyntaxCfg>
Returns:
A description for this attribute syntax.

getEqualityMatchingRule

public EqualityMatchingRule getEqualityMatchingRule()
Retrieves the default equality matching rule that will be used for attributes with this syntax.

Specified by:
getEqualityMatchingRule in class AttributeSyntax<DirectoryStringAttributeSyntaxCfg>
Returns:
The default equality matching rule that will be used for attributes with this syntax, or null if equality matches will not be allowed for this type by default.

getOrderingMatchingRule

public OrderingMatchingRule getOrderingMatchingRule()
Retrieves the default ordering matching rule that will be used for attributes with this syntax.

Specified by:
getOrderingMatchingRule in class AttributeSyntax<DirectoryStringAttributeSyntaxCfg>
Returns:
The default ordering matching rule that will be used for attributes with this syntax, or null if ordering matches will not be allowed for this type by default.

getSubstringMatchingRule

public SubstringMatchingRule getSubstringMatchingRule()
Retrieves the default substring matching rule that will be used for attributes with this syntax.

Specified by:
getSubstringMatchingRule in class AttributeSyntax<DirectoryStringAttributeSyntaxCfg>
Returns:
The default substring matching rule that will be used for attributes with this syntax, or null if substring matches will not be allowed for this type by default.

getApproximateMatchingRule

public ApproximateMatchingRule getApproximateMatchingRule()
Retrieves the default approximate matching rule that will be used for attributes with this syntax.

Specified by:
getApproximateMatchingRule in class AttributeSyntax<DirectoryStringAttributeSyntaxCfg>
Returns:
The default approximate matching rule that will be used for attributes with this syntax, or null if approximate matches will not be allowed for this type by default.

valueIsAcceptable

public boolean valueIsAcceptable(ByteString value,
                                 MessageBuilder invalidReason)
Indicates whether the provided value is acceptable for use in an attribute with this syntax. If it is not, then the reason may be appended to the provided buffer.

Specified by:
valueIsAcceptable in class AttributeSyntax<DirectoryStringAttributeSyntaxCfg>
Parameters:
value - The value for which to make the determination.
invalidReason - The buffer to which the invalid reason should be appended.
Returns:
true if the provided value is acceptable for use with this syntax, or false if not.

allowZeroLengthValues

public boolean allowZeroLengthValues()
Indicates whether zero-length values will be allowed. This is technically forbidden by the LDAP specification, but it was allowed in earlier versions of the server, and the discussion of the directory string syntax in RFC 2252 does not explicitly state that they are not allowed.

Returns:
true if zero-length values should be allowed for attributes with a directory string syntax, or false if not.

isConfigurationChangeAcceptable

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

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