Package org.forgerock.opendj.config
Class ClassPropertyDefinition
java.lang.Object
org.forgerock.opendj.config.PropertyDefinition<String>
org.forgerock.opendj.config.ClassPropertyDefinition
- All Implemented Interfaces:
Comparable<PropertyDefinition<?>>
,Comparator<ValueOrExpression<String>>
Class property definition.
A class property definition defines a property whose values represent a Java class. It is possible to restrict the type of java class by specifying "instance of" constraints.
Note that in a client/server environment, the client is probably not capable of validating the Java class (e.g. it will not be able to load it nor have access to the interfaces it is supposed to implement). For this reason, validation is disabled in client applications.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
An interface for incrementally constructing class 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<String> value, P p) Apply a visitor to a property value associated with this property definition.createBuilder
(AbstractManagedObjectDefinition<?, ?> d, String propertyName) Create a class property definition builder.Get an unmodifiable list of classes which values of this property must implement.<T> Class<? extends T>
Validate and load the named class, and cast it to a subclass of the specified class.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, 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 ClassPropertyDefinition.Builder createBuilder(AbstractManagedObjectDefinition<?, ?> d, String propertyName) Create a class property definition builder.- Parameters:
d
- The managed object definition associated with this property definition.propertyName
- The property name.- Returns:
- Returns the new class property definition builder.
-
accept
Description copied from class:PropertyDefinition
Apply a visitor to this property definition.- Specified by:
accept
in classPropertyDefinition<String>
- 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<String>
- 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.
-
getInstanceOfInterface
Get an unmodifiable list of classes which values of this property must implement.- Returns:
- Returns an unmodifiable list of classes which values of this property must implement.
-
loadClass
Validate and load the named class, and cast it to a subclass of the specified class.- Type Parameters:
T
- The requested type.- Parameters:
className
- The name of the class to validate and load.instanceOf
- The class representing the requested type.- Returns:
- Returns the named class cast to a subclass of the specified class.
- Throws:
PropertyException
- If the named class was invalid, could not be loaded, or did not implement the required interfaces.ClassCastException
- If the referenced class does not implement the requested type.
-