public final class ClassPropertyDefinition extends PropertyDefinition<String>
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.
Modifier and Type | Class and Description |
---|---|
static class |
ClassPropertyDefinition.Builder
An interface for incrementally constructing class 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,
ValueOrExpression<String> value,
P p)
Apply a visitor to a property value associated with this property
definition.
|
static ClassPropertyDefinition.Builder |
createBuilder(AbstractManagedObjectDefinition<?,?> d,
String propertyName)
Create a class property definition builder.
|
List<String> |
getInstanceOfInterface()
Get an unmodifiable list of classes which values of this property must
implement.
|
<T> Class<? extends T> |
loadClass(String className,
Class<T> instanceOf)
Validate and load the named class, and cast it to a subclass of the
specified class.
|
compare, compareTo, decodeValue, encodeValue, equals, getAdministratorAction, getDefaultBehaviorProvider, getDescription, getDescription, getManagedObjectDefinition, getName, getSynopsis, getSynopsis, getValueComparator, hashCode, hasOption, initialize, normalizeValue, toString, toString, validateValue
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 ClassPropertyDefinition.Builder createBuilder(AbstractManagedObjectDefinition<?,?> d, String propertyName)
d
- The managed object definition associated with this property
definition.propertyName
- The property name.public <R,P> R accept(PropertyDefinitionVisitor<R,P> v, P p)
PropertyDefinition
accept
in class PropertyDefinition<String>
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, ValueOrExpression<String> value, P p)
PropertyDefinition
accept
in class PropertyDefinition<String>
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 List<String> getInstanceOfInterface()
public <T> Class<? extends T> loadClass(String className, Class<T> instanceOf)
T
- The requested type.className
- The name of the class to validate and load.instanceOf
- The class representing the requested type.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.Copyright 2010-2018 ForgeRock AS.