Class MultiGenericPropertyState
java.lang.Object
org.apache.jackrabbit.oak.plugins.memory.AbstractPropertyState
org.apache.jackrabbit.oak.plugins.memory.EmptyPropertyState
org.apache.jackrabbit.oak.plugins.memory.MultiGenericPropertyState
- All Implemented Interfaces:
PropertyState
-
Constructor Summary
ConstructorsConstructorDescriptionMultiGenericPropertyState(String name, Iterable<String> values, Type<?> type) -
Method Summary
Modifier and TypeMethodDescriptionfinal intcount()The number of values of this property.static PropertyStatedateProperty(String name, Iterable<String> values) Create a multi valuedPropertyStatefrom a list of dates.getConverter(String value) Create a converter for converting a value to other types.Type<?> getType()Determine the type of this property<S> SValue of this property.<S> SValue at the givenindex.static PropertyStatenameProperty(String name, Iterable<String> values) Create a multi valuedPropertyStatefrom a list of names.static PropertyStatepathProperty(String name, Iterable<String> values) Create a multi valuedPropertyStatefrom a list of paths.static PropertyStatereferenceProperty(String name, Iterable<String> values) Create a multi valuedPropertyStatefrom a list of references.longsize(int index) The size of the value at the givenindex.static PropertyStateuriProperty(String name, Iterable<String> values) Create a multi valuedPropertyStatefrom a list of URIs.static PropertyStateweakreferenceProperty(String name, Iterable<String> values) Create a multi valuedPropertyStatefrom a list of weak references.Methods inherited from class org.apache.jackrabbit.oak.plugins.memory.EmptyPropertyState
emptyProperty, getName, isArray, size
-
Constructor Details
-
MultiGenericPropertyState
- Throws:
IllegalArgumentException- iftype.isArray()isfalse
-
-
Method Details
-
dateProperty
Create a multi valuedPropertyStatefrom a list of dates.- Parameters:
name- The name of the property statevalues- The values of the property state- Returns:
- The new property state of type
Type.DATES
-
nameProperty
Create a multi valuedPropertyStatefrom a list of names. No validation is performed on the strings passed forvalues.- Parameters:
name- The name of the property statevalues- The values of the property state- Returns:
- The new property state of type
Type.NAMES
-
pathProperty
Create a multi valuedPropertyStatefrom a list of paths. No validation is performed on the strings passed forvalues.- Parameters:
name- The name of the property statevalues- The values of the property state- Returns:
- The new property state of type
Type.PATHS
-
referenceProperty
Create a multi valuedPropertyStatefrom a list of references. No validation is performed on the strings passed forvalues.- Parameters:
name- The name of the property statevalues- The values of the property state- Returns:
- The new property state of type
Type.REFERENCES
-
weakreferenceProperty
Create a multi valuedPropertyStatefrom a list of weak references. No validation is performed on the strings passed forvalues.- Parameters:
name- The name of the property statevalues- The values of the property state- Returns:
- The new property state of type
Type.WEAKREFERENCES
-
uriProperty
Create a multi valuedPropertyStatefrom a list of URIs. No validation is performed on the strings passed forvalues.- Parameters:
name- The name of the property statevalues- The values of the property state- Returns:
- The new property state of type
Type.URIS
-
getConverter
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
Description copied from interface:PropertyStateDetermine the type of this property- Returns:
- the type of this property
-
getValue
Description copied from interface:PropertyStateValue of this property. The type of the return value is determined by the targettypeargument. Iftype.isArray()is true, this method returns anIterableof thebase typeoftypecontaining 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.Conversionsclass.- Specified by:
getValuein interfacePropertyState- Overrides:
getValuein classEmptyPropertyState- Type Parameters:
S-- Parameters:
type- target type- Returns:
- An empty list if
type.isArray()istrue. - Throws:
IllegalStateException- iftype.isArray()isfalse.IllegalArgumentException- iftypeis not one of the values defined inType
-
getValue
Description copied from interface:PropertyStateValue at the givenindex. The type of the return value is determined by the targettypeargument. 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.Conversionsclass.- Specified by:
getValuein interfacePropertyState- Overrides:
getValuein classEmptyPropertyState- Type Parameters:
S-- Parameters:
type- target typeindex-- Returns:
- the value of this property at the given
index - Throws:
IllegalArgumentException- iftypeis not one of the values defined inTypeor iftype.isArray()istrueIndexOutOfBoundsException- ifindex >= count().
-
count
public final int count()Description copied from interface:PropertyStateThe number of values of this property.1for atoms.- Specified by:
countin interfacePropertyState- Overrides:
countin classEmptyPropertyState- Returns:
0
-
size
public long size(int index) Description copied from interface:PropertyStateThe size of the value at the givenindex.- Specified by:
sizein interfacePropertyState- Overrides:
sizein classEmptyPropertyState- Parameters:
index-- Returns:
- size of the value at the given
index.
-