public final class IntegerPropertyDefinition extends PropertyDefinition<Integer>
All values must be zero or positive and within the lower/upper limit constraints. Support is provided for "unlimited" values. These are represented using a negative value or using the string "unlimited".
Modifier and Type | Class and Description |
---|---|
static class |
IntegerPropertyDefinition.Builder
An interface for incrementally constructing integer property definitions.
|
PropertyDefinition.AbstractBuilder<T,D extends PropertyDefinition<T>>
Modifier and Type | Method and Description |
---|---|
<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,
Integer value,
P p)
Apply a visitor to a property value associated with this property
definition.
|
int |
compare(Integer o1,
Integer o2)
Compares two property values for order.
|
static IntegerPropertyDefinition.Builder |
createBuilder(AbstractManagedObjectDefinition<?,?> d,
String propertyName)
Create an integer property definition builder.
|
Integer |
decodeValue(String value)
Parse and validate a string representation of a property value.
|
String |
encodeValue(Integer value)
Encode the provided property value into its string
representation.
|
int |
getLowerLimit()
Get the lower limit.
|
LocalizableMessage |
getUnitSynopsis()
Gets the optional unit synopsis of this integer property
definition in the default locale.
|
LocalizableMessage |
getUnitSynopsis(Locale locale)
Gets the optional unit synopsis of this integer property
definition in the specified locale.
|
Integer |
getUpperLimit()
Get the upper limit.
|
boolean |
isAllowUnlimited()
Determine whether this property allows unlimited values.
|
void |
toString(StringBuilder builder)
Append a string representation of the property definition to the
provided string builder.
|
void |
validateValue(Integer value)
Determine if the provided property value is valid according to
this property definition.
|
castValue, compareTo, equals, getAdministratorAction, getDefaultBehaviorProvider, getDescription, getDescription, getManagedObjectDefinition, getName, getSynopsis, getSynopsis, hashCode, hasOption, initialize, normalizeValue, toString
public static IntegerPropertyDefinition.Builder createBuilder(AbstractManagedObjectDefinition<?,?> d, String propertyName)
d
- The managed object definition associated with this
property definition.propertyName
- The property name.public int getLowerLimit()
public Integer getUpperLimit()
null
if there is no upper
limit.public LocalizableMessage getUnitSynopsis()
null
if there is no unit synopsis.public LocalizableMessage getUnitSynopsis(Locale locale)
locale
- The locale.null
if there is no unit synopsis.public boolean isAllowUnlimited()
true
if this this property allows unlimited
values.public void validateValue(Integer value) throws PropertyException
validateValue
in class PropertyDefinition<Integer>
value
- The property value (must not be null
).PropertyException
- If the property value is invalid.public String encodeValue(Integer value) throws PropertyException
This default implementation simply returns invokes the
Object.toString()
method on the provided value.
encodeValue
in class PropertyDefinition<Integer>
value
- The property value (must not be null
).PropertyException
- If the property value is invalid.public Integer decodeValue(String value) throws PropertyException
decodeValue
in class PropertyDefinition<Integer>
value
- The property string value (must not be null
).PropertyException
- If the property value string is invalid.public <R,P> R accept(PropertyDefinitionVisitor<R,P> v, P p)
accept
in class PropertyDefinition<Integer>
R
- The return type of the visitor's methods.P
- The type of the additional parameters to the visitor's
methods.v
- The property definition visitor.p
- Optional additional visitor parameter.public <R,P> R accept(PropertyValueVisitor<R,P> v, Integer value, P p)
accept
in class PropertyDefinition<Integer>
R
- The return type of the visitor's methods.P
- The type of the additional parameters to the visitor's
methods.v
- The property value visitor.value
- The property value.p
- Optional additional visitor parameter.public void toString(StringBuilder builder)
This simple implementation just outputs the propertyName of the property definition. Sub-classes should override this method to provide more complete string representations.
toString
in class PropertyDefinition<Integer>
builder
- The string builder where the string representation
should be appended.public int compare(Integer o1, Integer o2)
This default implementation normalizes both values using
PropertyDefinition.normalizeValue(Object)
and then performs a
case-sensitive string comparison.
compare
in interface Comparator<Integer>
compare
in class PropertyDefinition<Integer>
o1
- the first object to be compared.o2
- the second object to be compared.Copyright © 2010-2016 ForgeRock AS. All Rights Reserved.