Class MultiDoublePropertyState

All Implemented Interfaces:
PropertyState

public class MultiDoublePropertyState extends EmptyPropertyState
  • Field Details

  • Constructor Details

  • Method Details

    • doubleProperty

      public static PropertyState doubleProperty(String name, Iterable<Double> values)
      Create a multi valued PropertyState from a list of doubles.
      Parameters:
      name - The name of the property state
      values - The values of the property state
      Returns:
      The new property state of type Type.DOUBLES
    • getConverter

      public Conversions.Converter getConverter(Double value)
      Create a converter for converting a value to other types.
      Parameters:
      value - The value to convert
      Returns:
      A converter for the value of this property
    • getType

      public Type<?> getType()
      Description copied from interface: PropertyState
      Determine the type of this property
      Returns:
      the type of this property
    • getValue

      @NotNull public <S> S getValue(Type<S> type)
      Description copied from interface: PropertyState
      Value of this property. The type of the return value is determined by the target type argument. If type.isArray() is true, this method returns an Iterable of the base type of type containing all values of this property. If the target type is not the same as the type of this property an attempt is made to convert the value to the target type. If the conversion fails an exception is thrown. The actual conversions which take place are those defined in the org.apache.jackrabbit.oak.plugins.value.Conversions class.
      Specified by:
      getValue in interface PropertyState
      Overrides:
      getValue in class EmptyPropertyState
      Parameters:
      type - target type
      Returns:
      An empty list if type.isArray() is true.
      Throws:
      IllegalStateException - if type.isArray() is false.
      IllegalArgumentException - if type is not one of the values defined in Type
    • getValue

      @NotNull public <S> S getValue(Type<S> type, int index)
      Description copied from interface: PropertyState
      Value at the given index. The type of the return value is determined by the target type argument. If the target type is not the same as the type of this property an attempt is made to convert the value to the target type. If the conversion fails an exception is thrown. The actual conversions which take place are those defined in the org.apache.jackrabbit.oak.plugins.value.Conversions class.
      Specified by:
      getValue in interface PropertyState
      Overrides:
      getValue in class EmptyPropertyState
      Parameters:
      type - target type
      Returns:
      the value of this property at the given index
      Throws:
      IllegalArgumentException - if type is not one of the values defined in Type or if type.isArray() is true
      IndexOutOfBoundsException - if index >= count().
    • count

      public final int count()
      Description copied from interface: PropertyState
      The number of values of this property. 1 for atoms.
      Specified by:
      count in interface PropertyState
      Overrides:
      count in class EmptyPropertyState
      Returns:
      0
    • size

      public long size(int index)
      Description copied from interface: PropertyState
      The size of the value at the given index.
      Specified by:
      size in interface PropertyState
      Overrides:
      size in class EmptyPropertyState
      Returns:
      size of the value at the given index.