C
- The type of client managed object configuration that this
relation definition refers to.S
- The type of server managed object configuration that this
relation definition refers to.public static final class InstantiableRelationDefinition.Builder<C extends ConfigurationClient,S extends Configuration> extends RelationDefinition.AbstractBuilder<C,S,InstantiableRelationDefinition<C,S>>
Constructor and Description |
---|
Builder(AbstractManagedObjectDefinition<?,?> pd,
String name,
String pluralName,
AbstractManagedObjectDefinition<C,S> cd)
Creates a new builder which can be used to incrementally build an
instantiable relation definition.
|
Modifier and Type | Method and Description |
---|---|
protected InstantiableRelationDefinition<C,S> |
buildInstance(RelationDefinition.Common<C,S> common)
Build a relation definition based on the properties of this builder.
|
void |
setDefaultManagedObject(String name,
DefaultManagedObject<? extends C,? extends S> defaultManagedObject)
Adds the named default managed object to this instantiable relation
definition.
|
void |
setNamingProperty(PropertyDefinition<?> namingPropertyDefinition)
Sets the naming property for the instantiable relation definition.
|
getInstance, setOption
public Builder(AbstractManagedObjectDefinition<?,?> pd, String name, String pluralName, AbstractManagedObjectDefinition<C,S> cd)
pd
- The parent managed object definition.name
- The name of the relation.pluralName
- The plural name of the relation.cd
- The child managed object definition.public void setDefaultManagedObject(String name, DefaultManagedObject<? extends C,? extends S> defaultManagedObject)
name
- The name of the default managed object.defaultManagedObject
- The default managed object.public void setNamingProperty(PropertyDefinition<?> namingPropertyDefinition)
namingPropertyDefinition
- The property of the child managed object definition which
should be used for naming, or null
if this
relation does not use a property for naming.protected InstantiableRelationDefinition<C,S> buildInstance(RelationDefinition.Common<C,S> common)
RelationDefinition.AbstractBuilder
buildInstance
in class RelationDefinition.AbstractBuilder<C extends ConfigurationClient,S extends Configuration,InstantiableRelationDefinition<C extends ConfigurationClient,S extends Configuration>>
common
- The common fields of the new relation definition.Copyright 2010-2018 ForgeRock AS.