org.opends.server.admin
Class IPAddressPropertyDefinition

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

public final class IPAddressPropertyDefinition
extends PropertyDefinition<java.net.InetAddress>

IP address property definition.


Nested Class Summary
static class IPAddressPropertyDefinition.Builder
          An interface for incrementally constructing IP address 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.net.InetAddress value, P p)
          Apply a visitor to a property value associated with this property definition.
 int compare(java.net.InetAddress o1, java.net.InetAddress o2)
          Compares two property values for order.
static IPAddressPropertyDefinition.Builder createBuilder(AbstractManagedObjectDefinition<?,?> d, java.lang.String propertyName)
          Create a IP address property definition builder.
 java.net.InetAddress decodeValue(java.lang.String value)
          Parse and validate a string representation of a property value.
 java.lang.String encodeValue(java.net.InetAddress value)
          Encode the provided property value into its string representation.
 void validateValue(java.net.InetAddress value)
          Determine if the provided property value is valid according to this property definition.
 
Methods inherited from class org.opends.server.admin.PropertyDefinition
castValue, compareTo, equals, getAdministratorAction, getDefaultBehaviorProvider, getDescription, getDescription, getManagedObjectDefinition, getName, getSynopsis, getSynopsis, hashCode, hasOption, initialize, normalizeValue, toString, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

createBuilder

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

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

validateValue

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

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

decodeValue

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

Specified by:
decodeValue in class PropertyDefinition<java.net.InetAddress>
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.

encodeValue

public java.lang.String encodeValue(java.net.InetAddress value)
                             throws IllegalPropertyValueException
Encode the provided property value into its string representation.

This default implementation simply returns invokes the Object.toString() method on the provided value.

Overrides:
encodeValue in class PropertyDefinition<java.net.InetAddress>
Parameters:
value - The property value (must not be null).
Returns:
Returns the encoded property string value.
Throws:
IllegalPropertyValueException - If the property value is invalid.

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.net.InetAddress>
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.net.InetAddress value,
                      P p)
Apply a visitor to a property value associated with this property definition.

Specified by:
accept in class PropertyDefinition<java.net.InetAddress>
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.

compare

public int compare(java.net.InetAddress o1,
                   java.net.InetAddress o2)
Compares two property values for order. Returns a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.

This default implementation normalizes both values using PropertyDefinition.normalizeValue(Object) and then performs a case-sensitive string comparison.

Specified by:
compare in interface java.util.Comparator<java.net.InetAddress>
Overrides:
compare in class PropertyDefinition<java.net.InetAddress>
Parameters:
o1 - the first object to be compared.
o2 - the second object to be compared.
Returns:
a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.