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 DurationPropertyDefinitionbuildInstance(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.voidsetAllowUnlimited(boolean allowUnlimited) Specify whether this property definition will allow unlimited values (default is false).voidsetBaseUnit(com.forgerock.opendj.util.DurationUnit unit) Set the base unit for this property definition (values including limits are specified in this unit).voidsetBaseUnit(String unit) Set the base unit for this property definition (values including limits are specified in this unit).voidsetLowerLimit(long lowerLimit) Set the lower limit in milli-seconds.voidsetLowerLimit(String lowerLimit) Set the lower limit using a string representation of the limit.voidsetUpperLimit(Long upperLimit) Set the upper limit in milli-seconds.voidsetUpperLimit(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, ornullif 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, ornullif 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-trueif the property will allow unlimited values, orfalseotherwise.- 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.AbstractBuilderBuild a property definition based on the properties of this builder.- Specified by:
buildInstancein 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.
-