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 Details

    • 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.
    • visitSet

      <C extends ConfigurationClient, S extends Configuration> R visitSet(SetRelationDefinition<C,S> rd, P p)
      Visit a set 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 set 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.