Class PropertyValueVisitor<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 abstract class PropertyValueVisitor<R,​P>
    extends Object
    A visitor of property values, in the style of the visitor design pattern. Classes implementing this interface can query a property a value and its associated property definition in a type-safe manner when the kind of property value 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 calls visitUnknown(PropertyDefinition, ValueOrExpression, Object). Sub-classes can override any or all of the methods to provide their own type-specific behavior.

    • Constructor Detail

      • PropertyValueVisitor

        protected PropertyValueVisitor()
        Default constructor.
    • Method Detail

      • visitAci

        public R visitAci​(AciPropertyDefinition pd,
                          ValueOrExpression<String> v,
                          P p)
        Visit a dseecompat ACI.
        Parameters:
        pd - The dseecompat ACI property definition.
        v - The property value to visit.
        p - A visitor specified parameter.
        Returns:
        Returns a visitor specified result.
      • visitAggregation

        public <C extends ConfigurationClient,​S extends ConfigurationR visitAggregation​(AggregationPropertyDefinition<C,​S> pd,
                                                                                                ValueOrExpression<String> v,
                                                                                                P p)
        Visit an aggregation property value.
        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.
        v - The property value to visit.
        p - A visitor specified parameter.
        Returns:
        Returns a visitor specified result.
      • visitAttributeType

        public R visitAttributeType​(AttributeTypePropertyDefinition pd,
                                    ValueOrExpression<AttributeType> v,
                                    P p)
        Visit an attribute type.
        Parameters:
        pd - The attribute type property definition.
        v - The property value to visit.
        p - A visitor specified parameter.
        Returns:
        Returns a visitor specified result.
      • visitBoolean

        public R visitBoolean​(BooleanPropertyDefinition pd,
                              ValueOrExpression<Boolean> v,
                              P p)
        Visit a boolean.
        Parameters:
        pd - The boolean property definition.
        v - The property value to visit.
        p - A visitor specified parameter.
        Returns:
        Returns a visitor specified result.
      • visitClass

        public R visitClass​(ClassPropertyDefinition pd,
                            ValueOrExpression<String> v,
                            P p)
        Visit a class.
        Parameters:
        pd - The class property definition.
        v - The property value to visit.
        p - A visitor specified parameter.
        Returns:
        Returns a visitor specified result.
      • visitDn

        public R visitDn​(DnPropertyDefinition pd,
                         ValueOrExpression<Dn> v,
                         P p)
        Visit a DN.
        Parameters:
        pd - The DN property definition.
        v - The property value to visit.
        p - A visitor specified parameter.
        Returns:
        Returns a visitor specified result.
      • visitDuration

        public R visitDuration​(DurationPropertyDefinition pd,
                               ValueOrExpression<Long> v,
                               P p)
        Visit a duration.
        Parameters:
        pd - The duration property definition.
        v - The property value to visit.
        p - A visitor specified parameter.
        Returns:
        Returns a visitor specified result.
      • visitEnum

        public <E extends Enum<E>> R visitEnum​(EnumPropertyDefinition<E> pd,
                                               ValueOrExpression<E> v,
                                               P p)
        Visit an enumeration.
        Type Parameters:
        E - The enumeration that should be used for values of the property definition.
        Parameters:
        pd - The enumeration property definition.
        v - The property value to visit.
        p - A visitor specified parameter.
        Returns:
        Returns a visitor specified result.
      • visitInteger

        public R visitInteger​(IntegerPropertyDefinition pd,
                              ValueOrExpression<Integer> v,
                              P p)
        Visit an integer.
        Parameters:
        pd - The integer property definition.
        v - The property value to visit.
        p - A visitor specified parameter.
        Returns:
        Returns a visitor specified result.
      • visitHost

        public R visitHost​(HostPropertyDefinition pd,
                           ValueOrExpression<com.forgerock.opendj.util.Host> v,
                           P p)
        Visit a host.
        Parameters:
        pd - The host property definition.
        v - The property value to visit.
        p - A visitor specified parameter.
        Returns:
        Returns a visitor specified result.
      • visitHostPort

        public R visitHostPort​(HostPortPropertyDefinition pd,
                               ValueOrExpression<com.forgerock.opendj.util.HostPort> v,
                               P p)
        Visit a host:port.
        Parameters:
        pd - The host:port property definition.
        v - The property value to visit.
        p - A visitor specified parameter.
        Returns:
        Returns a visitor specified result.
      • visitIpAddressMask

        public R visitIpAddressMask​(IpAddressMaskPropertyDefinition pd,
                                    ValueOrExpression<AddressMask> v,
                                    P p)
        Visit a IP address mask.
        Parameters:
        pd - The IP address mask property definition.
        v - The property value to visit.
        p - A visitor specified parameter.
        Returns:
        Returns a visitor specified result.
      • visitSize

        public R visitSize​(SizePropertyDefinition pd,
                           ValueOrExpression<Long> v,
                           P p)
        Visit a size.
        Parameters:
        pd - The size property definition.
        v - The property value to visit.
        p - A visitor specified parameter.
        Returns:
        Returns a visitor specified result.
      • visitString

        public R visitString​(StringPropertyDefinition pd,
                             ValueOrExpression<String> v,
                             P p)
        Visit a string.
        Parameters:
        pd - The string property definition.
        v - The property value to visit.
        p - A visitor specified parameter.
        Returns:
        Returns a visitor specified result.
      • visitUnknown

        public <T> R visitUnknown​(PropertyDefinition<T> pd,
                                  ValueOrExpression<T> v,
                                  P p)
        Visit an unknown type of property value. Implementations of this method can provide default behavior for unknown types of property.

        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 property value to visit.
        Parameters:
        pd - The property definition.
        v - The property value.
        p - A visitor specified parameter.
        Returns:
        Returns a visitor specified result.
        Throws:
        PropertyException - Visitor implementations may optionally throw this exception.