Class MultiDecimalPropertyState

    • Field Detail

      • values

        protected final List<T> values
    • Method Detail

      • decimalProperty

        public static PropertyState decimalProperty​(String name,
                                                    Iterable<BigDecimal> values)
        Create a multi valued PropertyState from a list of decimals.
        Parameters:
        name - The name of the property state
        values - The values of the property state
        Returns:
        The new property state of type Type.DECIMALS
      • getConverter

        public Conversions.Converter getConverter​(BigDecimal 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().
      • 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.