Package org.forgerock.opendj.config
Class PropertyDefinitionVisitor<R,P>
- java.lang.Object
-
- org.forgerock.opendj.config.PropertyDefinitionVisitor<R,P>
-
- Type Parameters:
R
- The return type of this visitor's methods. UseVoid
for visitors that do not need to return results.P
- The type of the additional parameter to this visitor's methods. UseVoid
for visitors that do not need an additional parameter.
public abstract class PropertyDefinitionVisitor<R,P> extends Object
A visitor of property definitions, in the style of the visitor design pattern. Classes implementing this interface can query property definitions in a type-safe manner when the kind of property definition is unknown at compile time. When a visitor is passed to a property definition's accept method, the corresponding visit method most applicable to that property definition is invoked.Each
visitXXX
method is provided with a default implementation which callsvisitUnknown(PropertyDefinition, Object)
. Sub-classes can override any or all of the methods to provide their own type-specific behavior.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
PropertyDefinitionVisitor()
Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description R
visitAci(AciPropertyDefinition pd, P p)
Visit a dseecompat Global ACI property definition.<C extends ConfigurationClient,S extends Configuration>
RvisitAggregation(AggregationPropertyDefinition<C,S> pd, P p)
Visit an aggregation property definition.R
visitAttributeType(AttributeTypePropertyDefinition pd, P p)
Visit an attribute type property definition.R
visitBoolean(BooleanPropertyDefinition pd, P p)
Visit a boolean property definition.R
visitClass(ClassPropertyDefinition pd, P p)
Visit a class property definition.R
visitDn(DnPropertyDefinition pd, P p)
Visit a DN property definition.R
visitDuration(DurationPropertyDefinition pd, P p)
Visit a duration property definition.<E extends Enum<E>>
RvisitEnum(EnumPropertyDefinition<E> pd, P p)
Visit an enumeration property definition.R
visitHost(HostPropertyDefinition pd, P p)
Visit a host property definition.R
visitHostPort(HostPortPropertyDefinition pd, P p)
Visit a host:port property definition.R
visitInteger(IntegerPropertyDefinition pd, P p)
Visit an integer property definition.R
visitIpAddressMask(IpAddressMaskPropertyDefinition pd, P p)
Visit a IP address mask property definition.R
visitSize(SizePropertyDefinition pd, P p)
Visit a size property definition.R
visitString(StringPropertyDefinition pd, P p)
Visit a string property definition.<T> R
visitUnknown(PropertyDefinition<T> pd, P p)
Visit an unknown type of property definition.
-
-
-
Method Detail
-
visitAci
public R visitAci(AciPropertyDefinition pd, P p)
Visit a dseecompat Global ACI property definition.- Parameters:
pd
- The Global ACI property definition to visit.p
- A visitor specified parameter.- Returns:
- Returns a visitor specified result.
-
visitAggregation
public <C extends ConfigurationClient,S extends Configuration> R visitAggregation(AggregationPropertyDefinition<C,S> pd, P p)
Visit an aggregation property definition.- Type Parameters:
C
- The type of client managed object configuration that this aggregation property definition refers to.S
- The type of server managed object configuration that this aggregation property definition refers to.- Parameters:
pd
- The aggregation property definition to visit.p
- A visitor specified parameter.- Returns:
- Returns a visitor specified result.
-
visitAttributeType
public R visitAttributeType(AttributeTypePropertyDefinition pd, P p)
Visit an attribute type property definition.- Parameters:
pd
- The attribute type property definition to visit.p
- A visitor specified parameter.- Returns:
- Returns a visitor specified result.
-
visitBoolean
public R visitBoolean(BooleanPropertyDefinition pd, P p)
Visit a boolean property definition.- Parameters:
pd
- The boolean property definition to visit.p
- A visitor specified parameter.- Returns:
- Returns a visitor specified result.
-
visitClass
public R visitClass(ClassPropertyDefinition pd, P p)
Visit a class property definition.- Parameters:
pd
- The class property definition to visit.p
- A visitor specified parameter.- Returns:
- Returns a visitor specified result.
-
visitDn
public R visitDn(DnPropertyDefinition pd, P p)
Visit a DN property definition.- Parameters:
pd
- The DN property definition to visit.p
- A visitor specified parameter.- Returns:
- Returns a visitor specified result.
-
visitDuration
public R visitDuration(DurationPropertyDefinition pd, P p)
Visit a duration property definition.- Parameters:
pd
- The duration property definition to visit.p
- A visitor specified parameter.- Returns:
- Returns a visitor specified result.
-
visitEnum
public <E extends Enum<E>> R visitEnum(EnumPropertyDefinition<E> pd, P p)
Visit an enumeration property definition.- Type Parameters:
E
- The enumeration that should be used for values of the property definition.- Parameters:
pd
- The enumeration property definition to visit.p
- A visitor specified parameter.- Returns:
- Returns a visitor specified result.
-
visitInteger
public R visitInteger(IntegerPropertyDefinition pd, P p)
Visit an integer property definition.- Parameters:
pd
- The integer property definition to visit.p
- A visitor specified parameter.- Returns:
- Returns a visitor specified result.
-
visitHost
public R visitHost(HostPropertyDefinition pd, P p)
Visit a host property definition.- Parameters:
pd
- The host property definition to visit.p
- A visitor specified parameter.- Returns:
- Returns a visitor specified result.
-
visitHostPort
public R visitHostPort(HostPortPropertyDefinition pd, P p)
Visit a host:port property definition.- Parameters:
pd
- The host:port property definition to visit.p
- A visitor specified parameter.- Returns:
- Returns a visitor specified result.
-
visitIpAddressMask
public R visitIpAddressMask(IpAddressMaskPropertyDefinition pd, P p)
Visit a IP address mask property definition.- Parameters:
pd
- The IP address mask property definition to visit.p
- A visitor specified parameter.- Returns:
- Returns a visitor specified result.
-
visitSize
public R visitSize(SizePropertyDefinition pd, P p)
Visit a size property definition.- Parameters:
pd
- The size property definition to visit.p
- A visitor specified parameter.- Returns:
- Returns a visitor specified result.
-
visitString
public R visitString(StringPropertyDefinition pd, P p)
Visit a string property definition.- Parameters:
pd
- The string property definition to visit.p
- A visitor specified parameter.- Returns:
- Returns a visitor specified result.
-
visitUnknown
public <T> R visitUnknown(PropertyDefinition<T> pd, P p)
Visit an unknown type of property definition. Implementations of this method can provide default behavior for unknown property definition types.The default implementation of this method throws an
PropertyException
. Sub-classes can override this method with their own default behavior.- Type Parameters:
T
- The type of the underlying property.- Parameters:
pd
- The property definition to visit.p
- A visitor specified parameter.- Returns:
- Returns a visitor specified result.
- Throws:
PropertyException
- Visitor implementations may optionally throw this exception.
-
-