Class MultiBinaryPropertyState
- java.lang.Object
-
- org.apache.jackrabbit.oak.plugins.memory.AbstractPropertyState
-
- org.apache.jackrabbit.oak.plugins.memory.EmptyPropertyState
-
- org.apache.jackrabbit.oak.plugins.memory.MultiBinaryPropertyState
-
- All Implemented Interfaces:
PropertyState
public class MultiBinaryPropertyState extends EmptyPropertyState
-
-
Constructor Summary
Constructors Constructor Description MultiBinaryPropertyState(java.lang.String name, java.lang.Iterable<Blob> values)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static PropertyState
binaryPropertyFromArray(java.lang.String name, java.lang.Iterable<byte[]> values)
Create a multi valuedPropertyState
from a list of byte arrays.static PropertyState
binaryPropertyFromBlob(java.lang.String name, java.lang.Iterable<Blob> values)
Create a multi valuedPropertyState
from a list ofBlob
.int
count()
The number of values of this property.Conversions.Converter
getConverter(Blob 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
-
-
-
-
Constructor Detail
-
MultiBinaryPropertyState
public MultiBinaryPropertyState(java.lang.String name, java.lang.Iterable<Blob> values)
-
-
Method Detail
-
binaryPropertyFromBlob
public static PropertyState binaryPropertyFromBlob(java.lang.String name, java.lang.Iterable<Blob> values)
Create a multi valuedPropertyState
from a list ofBlob
.- Parameters:
name
- The name of the property statevalues
- The values of the property state- Returns:
- The new property state of type
Type.BINARIES
-
binaryPropertyFromArray
public static PropertyState binaryPropertyFromArray(java.lang.String name, java.lang.Iterable<byte[]> values)
Create a multi valuedPropertyState
from a list of byte arrays.- Parameters:
name
- The name of the property statevalues
- The values of the property state- Returns:
- The new property state of type
Type.BINARIES
-
getConverter
public Conversions.Converter getConverter(Blob 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:
java.lang.IllegalStateException
- iftype.isArray()
isfalse
.java.lang.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:
java.lang.IllegalArgumentException
- iftype
is not one of the values defined inType
or iftype.isArray()
istrue
java.lang.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
.
-
-