public final class DurationPropertyDefinition extends PropertyDefinition<Long>
A duration property definition comprises of:
long
values in the base
unit defined for the duration property definition.Modifier and Type | Class and Description |
---|---|
static class |
DurationPropertyDefinition.Builder
An interface for incrementally constructing duration 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,
Long value,
P p)
Apply a visitor to a property value associated with this property
definition.
|
int |
compare(Long o1,
Long o2)
Compares two property values for order.
|
static DurationPropertyDefinition.Builder |
createBuilder(AbstractManagedObjectDefinition<?,?> d,
String propertyName)
Create a duration property definition builder.
|
Long |
decodeValue(String value)
Parse and validate a string representation of a property value.
|
String |
encodeValue(Long value)
Encode the provided property value into its string representation.
|
DurationUnit |
getBaseUnit()
Get the base unit for this property definition (values including limits
are specified in this unit).
|
long |
getLowerLimit()
Get the lower limit in milli-seconds.
|
DurationUnit |
getMaximumUnit()
Get the maximum unit for this property definition if specified.
|
Long |
getUpperLimit()
Get the upper limit in milli-seconds.
|
boolean |
isAllowUnlimited()
Determine whether this property allows unlimited durations.
|
void |
toString(StringBuilder builder)
Append a string representation of the property definition to the provided
string builder.
|
void |
validateValue(Long 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
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
comparing, comparing, comparingDouble, comparingInt, comparingLong, naturalOrder, nullsFirst, nullsLast, reversed, reverseOrder, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
public static DurationPropertyDefinition.Builder createBuilder(AbstractManagedObjectDefinition<?,?> d, String propertyName)
d
- The managed object definition associated with this property
definition.propertyName
- The property name.public DurationUnit getBaseUnit()
public DurationUnit getMaximumUnit()
null
if there is no maximum unit.public long getLowerLimit()
public Long getUpperLimit()
null
if
there is no upper limit.public boolean isAllowUnlimited()
true
if this this property allows unlimited
durations.public void validateValue(Long value)
PropertyDefinition
validateValue
in class PropertyDefinition<Long>
value
- The property value (must not be null
).public String encodeValue(Long value)
PropertyDefinition
This default implementation simply returns invokes the
Object.toString()
method on the provided value.
encodeValue
in class PropertyDefinition<Long>
value
- The property value (must not be null
).public Long decodeValue(String value)
PropertyDefinition
decodeValue
in class PropertyDefinition<Long>
value
- The property string value (must not be null
).public <R,P> R accept(PropertyDefinitionVisitor<R,P> v, P p)
PropertyDefinition
accept
in class PropertyDefinition<Long>
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, Long value, P p)
PropertyDefinition
accept
in class PropertyDefinition<Long>
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)
PropertyDefinition
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<Long>
builder
- The string builder where the string representation should be
appended.public int compare(Long o1, Long o2)
PropertyDefinition
This default implementation normalizes both values using
PropertyDefinition.normalizeValue(Object)
and then performs a case-sensitive string
comparison.
compare
in interface Comparator<Long>
compare
in class PropertyDefinition<Long>
o1
- the first object to be compared.o2
- the second object to be compared.Copyright 2010-2020 ForgeRock AS.