org.opends.server.admin
Class StringPropertyDefinition

java.lang.Object
  extended by org.opends.server.admin.PropertyDefinition<java.lang.String>
      extended by org.opends.server.admin.StringPropertyDefinition
All Implemented Interfaces:
java.lang.Comparable<PropertyDefinition<?>>, java.util.Comparator<java.lang.String>

public final class StringPropertyDefinition
extends PropertyDefinition<java.lang.String>

String property definition.


Nested Class Summary
static class StringPropertyDefinition.Builder
          An interface for incrementally constructing string property definitions.
 
Nested classes/interfaces inherited from class org.opends.server.admin.PropertyDefinition
PropertyDefinition.AbstractBuilder<T,D extends PropertyDefinition<T>>
 
Method Summary
<R,P> R
accept(PropertyDefinitionVisitor<R,P> v, P p)
          Apply a visitor to this property definition.
<R,P> R
accept(PropertyValueVisitor<R,P> v, java.lang.String value, P p)
          Apply a visitor to a property value associated with this property definition.
static StringPropertyDefinition.Builder createBuilder(AbstractManagedObjectDefinition<?,?> d, java.lang.String propertyName)
          Create a string property definition builder.
 java.lang.String decodeValue(java.lang.String value)
          Parse and validate a string representation of a property value.
 java.util.regex.Pattern getPattern()
          Gets the optional regular expression pattern which values of this property must match.
 Message getPatternSynopsis()
          Gets the pattern synopsis of this string property definition in the default locale.
 Message getPatternSynopsis(java.util.Locale locale)
          Gets the optional pattern synopsis of this string property definition in the specified locale.
 java.lang.String getPatternUsage()
          Gets a user-friendly usage string representing the pattern which can be used in error messages and help (e.g.
 boolean isCaseInsensitive()
          Query whether values of this property are case-insensitive.
 java.lang.String normalizeValue(java.lang.String value)
          Get a normalized string representation of a property value.
 void validateValue(java.lang.String value)
          Determine if the provided property value is valid according to this property definition.
 
Methods inherited from class org.opends.server.admin.PropertyDefinition
castValue, compare, compareTo, encodeValue, equals, getAdministratorAction, getDefaultBehaviorProvider, getDescription, getDescription, getManagedObjectDefinition, getName, getSynopsis, getSynopsis, hashCode, hasOption, initialize, toString, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

createBuilder

public static StringPropertyDefinition.Builder createBuilder(AbstractManagedObjectDefinition<?,?> d,
                                                             java.lang.String propertyName)
Create a string property definition builder.

Parameters:
d - The managed object definition associated with this property definition.
propertyName - The property name.
Returns:
Returns the new string property definition builder.

accept

public <R,P> R accept(PropertyDefinitionVisitor<R,P> v,
                      P p)
Apply a visitor to this property definition.

Specified by:
accept in class PropertyDefinition<java.lang.String>
Type Parameters:
R - The return type of the visitor's methods.
P - The type of the additional parameters to the visitor's methods.
Parameters:
v - The property definition visitor.
p - Optional additional visitor parameter.
Returns:
Returns a result as specified by the visitor.

accept

public <R,P> R accept(PropertyValueVisitor<R,P> v,
                      java.lang.String value,
                      P p)
Apply a visitor to a property value associated with this property definition.

Specified by:
accept in class PropertyDefinition<java.lang.String>
Type Parameters:
R - The return type of the visitor's methods.
P - The type of the additional parameters to the visitor's methods.
Parameters:
v - The property value visitor.
value - The property value.
p - Optional additional visitor parameter.
Returns:
Returns a result as specified by the visitor.

decodeValue

public java.lang.String decodeValue(java.lang.String value)
                             throws IllegalPropertyValueStringException
Parse and validate a string representation of a property value.

Specified by:
decodeValue in class PropertyDefinition<java.lang.String>
Parameters:
value - The property string value (must not be null).
Returns:
Returns the decoded property value.
Throws:
IllegalPropertyValueStringException - If the property value string is invalid.

getPattern

public java.util.regex.Pattern getPattern()
Gets the optional regular expression pattern which values of this property must match.

Returns:
Returns the optional regular expression pattern which values of this property must match, or null if there is no pattern.

getPatternSynopsis

public Message getPatternSynopsis()
Gets the pattern synopsis of this string property definition in the default locale.

Returns:
Returns the pattern synopsis of this string property definition in the default locale, or null if there is no pattern synopsis (which is the case when there is no pattern matching defined for this string property definition).

getPatternSynopsis

public Message getPatternSynopsis(java.util.Locale locale)
Gets the optional pattern synopsis of this string property definition in the specified locale.

Parameters:
locale - The locale.
Returns:
Returns the pattern synopsis of this string property definition in the specified locale, or null if there is no pattern synopsis (which is the case when there is no pattern matching defined for this string property definition).

getPatternUsage

public java.lang.String getPatternUsage()
Gets a user-friendly usage string representing the pattern which can be used in error messages and help (e.g. for patterns which match a host/port combination, the usage string "HOST:PORT" would be appropriate).

Returns:
Returns the user-friendly pattern usage string, or null if there is no pattern.

isCaseInsensitive

public boolean isCaseInsensitive()
Query whether values of this property are case-insensitive.

Returns:
Returns true if values are case-insensitive, or false otherwise.

normalizeValue

public java.lang.String normalizeValue(java.lang.String value)
                                throws IllegalPropertyValueException
Get a normalized string representation of a property value. This can then be used for comparisons and for generating hash-codes.

This method may throw an exception if the provided value is invalid. However, applications should not assume that implementations of this method will always validate a value. This task is the responsibility of PropertyDefinition.validateValue(Object).

This default implementation simply returns the string representation of the provided value. Sub-classes might want to override this method if this behavior is insufficient (for example, a string property definition might strip white-space and convert characters to lower-case).

Overrides:
normalizeValue in class PropertyDefinition<java.lang.String>
Parameters:
value - The property value to be normalized.
Returns:
Returns the normalized property value.
Throws:
IllegalPropertyValueException - If the property value is invalid.

validateValue

public void validateValue(java.lang.String value)
                   throws IllegalPropertyValueException
Determine if the provided property value is valid according to this property definition.

Specified by:
validateValue in class PropertyDefinition<java.lang.String>
Parameters:
value - The property value (must not be null).
Throws:
IllegalPropertyValueException - If the property value is invalid.