Package org.forgerock.opendj.config
Class DurationPropertyDefinition.Builder
java.lang.Object
org.forgerock.opendj.config.PropertyDefinition.AbstractBuilder<Long,DurationPropertyDefinition>
org.forgerock.opendj.config.DurationPropertyDefinition.Builder
- Enclosing class:
- DurationPropertyDefinition
public static final class DurationPropertyDefinition.Builder
extends PropertyDefinition.AbstractBuilder<Long,DurationPropertyDefinition>
An interface for incrementally constructing duration property definitions.
-
Method Summary
Modifier and TypeMethodDescriptionprotected DurationPropertyDefinition
buildInstance
(AbstractManagedObjectDefinition<?, ?> d, String propertyName, EnumSet<PropertyOption> options, AdministratorAction adminAction, DefaultBehaviorProvider<ValueOrExpression<Long>> defaultBehavior, Deprecated deprecated) Build a property definition based on the properties of this builder.void
setAllowUnlimited
(boolean allowUnlimited) Specify whether this property definition will allow unlimited values (default is false).void
setBaseUnit
(com.forgerock.opendj.util.DurationUnit unit) Set the base unit for this property definition (values including limits are specified in this unit).void
setBaseUnit
(String unit) Set the base unit for this property definition (values including limits are specified in this unit).void
setLowerLimit
(long lowerLimit) Set the lower limit in milli-seconds.void
setLowerLimit
(String lowerLimit) Set the lower limit using a string representation of the limit.void
setUpperLimit
(Long upperLimit) Set the upper limit in milli-seconds.void
setUpperLimit
(String upperLimit) Set the upper limit using a string representation of the limit.Methods inherited from class org.forgerock.opendj.config.PropertyDefinition.AbstractBuilder
getInstance, setAdministratorAction, setDefaultBehaviorProvider, setDeprecated, setOption
-
Method Details
-
setBaseUnit
Set the base unit for this property definition (values including limits are specified in this unit). By default a duration property definition uses seconds.- Parameters:
unit
- The string representation of the base unit (must not benull
).- Throws:
IllegalArgumentException
- If the provided unit name did not correspond to a known duration unit, or if the base unit is bigger than the maximum unit.
-
setBaseUnit
public void setBaseUnit(com.forgerock.opendj.util.DurationUnit unit) Set the base unit for this property definition (values including limits are specified in this unit). By default a duration property definition uses seconds.- Parameters:
unit
- The base unit (must not benull
).- Throws:
IllegalArgumentException
- If the provided base unit is bigger than the maximum unit.
-
setLowerLimit
public void setLowerLimit(long lowerLimit) Set the lower limit in milli-seconds.- Parameters:
lowerLimit
- The new lower limit (must be>= 0
) in milli-seconds.- Throws:
IllegalArgumentException
- If a negative lower limit was specified, or the lower limit is greater than the upper limit.
-
setLowerLimit
Set the lower limit using a string representation of the limit. If the string does not specify a unit, the current base unit will be used.- Parameters:
lowerLimit
- The string representation of the new lower limit.- Throws:
IllegalArgumentException
- If the lower limit could not be parsed, or if a negative lower limit was specified, or the lower limit is greater than the upper limit.
-
setUpperLimit
Set the upper limit in milli-seconds.- Parameters:
upperLimit
- The new upper limit in milli-seconds, ornull
if there is no upper limit.- Throws:
IllegalArgumentException
- If a negative upper limit was specified, or the lower limit is greater than the upper limit or unlimited durations are permitted.
-
setUpperLimit
Set the upper limit using a string representation of the limit. If the string does not specify a unit, the current base unit will be used.- Parameters:
upperLimit
- The string representation of the new upper limit, ornull
if there is no upper limit.- Throws:
IllegalArgumentException
- If the upper limit could not be parsed, or if the lower limit is greater than the upper limit.
-
setAllowUnlimited
public void setAllowUnlimited(boolean allowUnlimited) Specify whether this property definition will allow unlimited values (default is false).- Parameters:
allowUnlimited
-true
if the property will allow unlimited values, orfalse
otherwise.- Throws:
IllegalArgumentException
- If unlimited values are to be permitted but there is an upper limit specified.
-
buildInstance
protected DurationPropertyDefinition buildInstance(AbstractManagedObjectDefinition<?, ?> d, String propertyName, EnumSet<PropertyOption> options, AdministratorAction adminAction, DefaultBehaviorProvider<ValueOrExpression<Long>> defaultBehavior, Deprecated deprecated) Description copied from class:PropertyDefinition.AbstractBuilder
Build a property definition based on the properties of this builder.- Specified by:
buildInstance
in classPropertyDefinition.AbstractBuilder<Long,
DurationPropertyDefinition> - Parameters:
d
- The managed object definition associated with this property definition.propertyName
- The property name.options
- Options applicable to this definition.adminAction
- The administrator action.defaultBehavior
- The default behavior provider.deprecated
- The deprecation description.- Returns:
- The new property definition.
-