org.opends.server.admin
Class RelationDefinition.AbstractBuilder<C extends ConfigurationClient,S extends Configuration,D extends RelationDefinition<C,S>>

java.lang.Object
  extended by org.opends.server.admin.RelationDefinition.AbstractBuilder<C,S,D>
Type Parameters:
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.
D - The type of relation definition constructed by this builder.
Direct Known Subclasses:
InstantiableRelationDefinition.Builder, OptionalRelationDefinition.Builder, SingletonRelationDefinition.Builder
Enclosing class:
RelationDefinition<C extends ConfigurationClient,S extends Configuration>

protected abstract static class RelationDefinition.AbstractBuilder<C extends ConfigurationClient,S extends Configuration,D extends RelationDefinition<C,S>>
extends java.lang.Object

An interface for incrementally constructing relation definitions.


Constructor Summary
protected RelationDefinition.AbstractBuilder(AbstractManagedObjectDefinition<?,?> pd, java.lang.String name, AbstractManagedObjectDefinition<C,S> cd)
          Create a property definition builder.
 
Method Summary
protected abstract  D buildInstance(RelationDefinition.Common<C,S> common)
          Build a relation definition based on the properties of this builder.
 D getInstance()
          Construct a relation definition based on the properties of this builder.
 void setOption(RelationOption option)
          Add a relation definition option.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RelationDefinition.AbstractBuilder

protected RelationDefinition.AbstractBuilder(AbstractManagedObjectDefinition<?,?> pd,
                                             java.lang.String name,
                                             AbstractManagedObjectDefinition<C,S> cd)
Create a property definition builder.

Parameters:
pd - The parent managed object definition.
name - The name of the relation.
cd - The child managed object definition.
Method Detail

getInstance

public final D getInstance()
Construct a relation definition based on the properties of this builder.

Returns:
The new relation definition.

setOption

public final void setOption(RelationOption option)
Add a relation definition option.

Parameters:
option - The relation option.

buildInstance

protected abstract D buildInstance(RelationDefinition.Common<C,S> common)
Build a relation definition based on the properties of this builder.

Parameters:
common - The common fields of the new relation definition.
Returns:
The new relation definition.