Class MultiDecimalPropertyState
- java.lang.Object
-
- org.apache.jackrabbit.oak.plugins.memory.AbstractPropertyState
-
- org.apache.jackrabbit.oak.plugins.memory.EmptyPropertyState
-
- org.apache.jackrabbit.oak.plugins.memory.MultiDecimalPropertyState
-
- All Implemented Interfaces:
PropertyState
public class MultiDecimalPropertyState extends EmptyPropertyState
-
-
Field Summary
Fields Modifier and Type Field Description protected List<T>
values
-
Constructor Summary
Constructors Constructor Description MultiDecimalPropertyState(String name, Iterable<BigDecimal> values)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
count()
The number of values of this property.static PropertyState
decimalProperty(String name, Iterable<BigDecimal> values)
Create a multi valuedPropertyState
from a list of decimals.Conversions.Converter
getConverter(BigDecimal value)
Create a converter for converting a value to other types.Type<?>
getType()
Determine the type of this property<S> S
getValue(Type<S> type)
Value of this property.<S> S
getValue(Type<S> type, int index)
Value at the givenindex
.long
size(int index)
The size of the value at the givenindex
.-
Methods inherited from class org.apache.jackrabbit.oak.plugins.memory.EmptyPropertyState
emptyProperty, getName, isArray, size
-
-
-
-
Field Detail
-
values
protected final List<T> values
-
-
Constructor Detail
-
MultiDecimalPropertyState
public MultiDecimalPropertyState(String name, Iterable<BigDecimal> values)
-
-
Method Detail
-
decimalProperty
public static PropertyState decimalProperty(String name, Iterable<BigDecimal> values)
Create a multi valuedPropertyState
from a list of decimals.- Parameters:
name
- The name of the property statevalues
- 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 targettype
argument. Iftype.isArray()
is true, this method returns anIterable
of thebase type
oftype
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 theorg.apache.jackrabbit.oak.plugins.value.Conversions
class.- Specified by:
getValue
in interfacePropertyState
- Overrides:
getValue
in classEmptyPropertyState
- Parameters:
type
- target type- Returns:
- An empty list if
type.isArray()
istrue
. - Throws:
IllegalStateException
- iftype.isArray()
isfalse
.IllegalArgumentException
- iftype
is not one of the values defined inType
-
getValue
@NotNull public <S> S getValue(Type<S> type, int index)
Description copied from interface:PropertyState
Value at the givenindex
. The type of the return value is determined by the targettype
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 theorg.apache.jackrabbit.oak.plugins.value.Conversions
class.- Specified by:
getValue
in interfacePropertyState
- Overrides:
getValue
in classEmptyPropertyState
- Parameters:
type
- target type- Returns:
- the value of this property at the given
index
- Throws:
IllegalArgumentException
- iftype
is not one of the values defined inType
or iftype.isArray()
istrue
IndexOutOfBoundsException
- ifindex >= 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 interfacePropertyState
- Overrides:
count
in classEmptyPropertyState
- Returns:
0
-
size
public long size(int index)
Description copied from interface:PropertyState
The size of the value at the givenindex
.- Specified by:
size
in interfacePropertyState
- Overrides:
size
in classEmptyPropertyState
- Returns:
- size of the value at the given
index
.
-
-