Package org.forgerock.opendj.config
Class DurationPropertyDefinition
java.lang.Object
org.forgerock.opendj.config.PropertyDefinition<Long>
org.forgerock.opendj.config.DurationPropertyDefinition
- All Implemented Interfaces:
Comparable<PropertyDefinition<?>>
,Comparator<ValueOrExpression<Long>>
Duration property definition.
A duration property definition comprises of:
- a base unit - specifies the minimum granularity which can be used to specify duration property values. For example, if the base unit is in seconds then values represented in milliseconds will not be permitted. The default base unit is seconds
- an optional maximum unit - specifies the biggest duration unit which can be used to specify duration property values. Values presented in units greater than this unit will not be permitted. There is no default maximum unit
- lower limit - specifies the smallest duration permitted by the property. The default lower limit is 0 and can never be less than 0
- an optional upper limit - specifies the biggest duration permitted by the property. By default, there is no upper limit
- support for unlimited durations - when permitted users can specify "unlimited" durations. These are represented using the decoded value, -1, or the encoded string value "unlimited". By default, unlimited durations are not permitted. In addition, it is not possible to define an upper limit and support unlimited values.
long
values in the base
unit defined for the duration property definition.-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
An interface for incrementally constructing duration property definitions.Nested classes/interfaces inherited from class org.forgerock.opendj.config.PropertyDefinition
PropertyDefinition.AbstractBuilder<T,
D extends PropertyDefinition<T>> -
Method Summary
Modifier and TypeMethodDescription<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, ValueOrExpression<Long> value, P p) Apply a visitor to a property value associated with this property definition.createBuilder
(AbstractManagedObjectDefinition<?, ?> d, String propertyName) Create a duration property definition builder.com.forgerock.opendj.util.DurationUnit
Get the base unit for this property definition (values including limits are specified in this unit).long
Get the lower limit in milli-seconds.com.forgerock.opendj.util.DurationUnit
Get the maximum unit for this property definition if specified.Get the upper limit in milli-seconds.boolean
Determine whether this property allows unlimited durations.void
toString
(StringBuilder builder) Append a string representation of the property definition to the provided string builder.Methods inherited from class org.forgerock.opendj.config.PropertyDefinition
compare, compareTo, decodeValue, decodeValueOrExpression, encodeValue, equals, getAdministratorAction, getDefaultBehaviorProvider, getDeprecated, getDescription, getDescription, getManagedObjectDefinition, getName, getSynopsis, getSynopsis, getValueComparator, hashCode, hasOption, initialize, normalizeValue, toString, validateValue
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Comparator
reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
-
Method Details
-
createBuilder
public static DurationPropertyDefinition.Builder createBuilder(AbstractManagedObjectDefinition<?, ?> d, String propertyName) Create a duration property definition builder.- Parameters:
d
- The managed object definition associated with this property definition.propertyName
- The property name.- Returns:
- Returns the new integer property definition builder.
-
getBaseUnit
public com.forgerock.opendj.util.DurationUnit getBaseUnit()Get the base unit for this property definition (values including limits are specified in this unit).- Returns:
- Returns the base unit for this property definition (values including limits are specified in this unit).
-
getMaximumUnit
public com.forgerock.opendj.util.DurationUnit getMaximumUnit()Get the maximum unit for this property definition if specified.- Returns:
- Returns the maximum unit for this property definition, or
null
if there is no maximum unit.
-
getLowerLimit
public long getLowerLimit()Get the lower limit in milli-seconds.- Returns:
- Returns the lower limit in milli-seconds.
-
getUpperLimit
Get the upper limit in milli-seconds.- Returns:
- Returns the upper limit in milli-seconds, or
null
if there is no upper limit.
-
isAllowUnlimited
public boolean isAllowUnlimited()Determine whether this property allows unlimited durations.- Returns:
true
if this this property allows unlimited durations.
-
accept
Description copied from class:PropertyDefinition
Apply a visitor to this property definition.- Specified by:
accept
in classPropertyDefinition<Long>
- 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
Description copied from class:PropertyDefinition
Apply a visitor to a property value associated with this property definition.- Specified by:
accept
in classPropertyDefinition<Long>
- 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.
-
toString
Description copied from class:PropertyDefinition
Append a string representation of the property definition to the provided string builder.This simple implementation just outputs the propertyName of the property definition. Sub-classes should override this method to provide more complete string representations.
- Overrides:
toString
in classPropertyDefinition<Long>
- Parameters:
builder
- The string builder where the string representation should be appended.
-