org.opends.server.admin
Interface RelationDefinitionVisitor<R,P>

Type Parameters:
R - The return type of this visitor's methods. Use Void for visitors that do not need to return results.
P - The type of the additional parameter to this visitor's methods. Use Void for visitors that do not need an additional parameter.

public interface RelationDefinitionVisitor<R,P>

A visitor of relation definitions, in the style of the visitor design pattern. Classes implementing this interface can query relation definitions in a type-safe manner when the kind of relation definition is unknown at compile time. When a visitor is passed to a relation definition's accept method, the corresponding visit method most applicable to that relation definition is invoked.


Method Summary
<C extends ConfigurationClient,S extends Configuration>
R
visitInstantiable(InstantiableRelationDefinition<C,S> rd, P p)
          Visit an instantiable relation definition.
<C extends ConfigurationClient,S extends Configuration>
R
visitOptional(OptionalRelationDefinition<C,S> rd, P p)
          Visit an optional relation definition.
<C extends ConfigurationClient,S extends Configuration>
R
visitSingleton(SingletonRelationDefinition<C,S> rd, P p)
          Visit a singleton relation definition.
 

Method Detail

visitInstantiable

<C extends ConfigurationClient,S extends Configuration> R visitInstantiable(InstantiableRelationDefinition<C,S> rd,
                                                                            P p)
Visit an instantiable relation definition.

Type Parameters:
C - The type of client managed object configuration that the relation definition refers to.
S - The type of server managed object configuration that the relation definition refers to.
Parameters:
rd - The instantiable relation definition to visit.
p - A visitor specified parameter.
Returns:
Returns a visitor specified result.

visitOptional

<C extends ConfigurationClient,S extends Configuration> R visitOptional(OptionalRelationDefinition<C,S> rd,
                                                                        P p)
Visit an optional relation definition.

Type Parameters:
C - The type of client managed object configuration that the relation definition refers to.
S - The type of server managed object configuration that the relation definition refers to.
Parameters:
rd - The optional relation definition to visit.
p - A visitor specified parameter.
Returns:
Returns a visitor specified result.

visitSingleton

<C extends ConfigurationClient,S extends Configuration> R visitSingleton(SingletonRelationDefinition<C,S> rd,
                                                                         P p)
Visit a singleton relation definition.

Type Parameters:
C - The type of client managed object configuration that the relation definition refers to.
S - The type of server managed object configuration that the relation definition refers to.
Parameters:
rd - The singleton relation definition to visit.
p - A visitor specified parameter.
Returns:
Returns a visitor specified result.