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
public class MultiGenericPropertyState extends EmptyPropertyState
-
-
Constructor Summary
Constructors Constructor Description MultiGenericPropertyState(java.lang.String name, java.lang.Iterable<java.lang.String> values, Type<?> type)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intcount()The number of values of this property.static PropertyStatedateProperty(java.lang.String name, java.lang.Iterable<java.lang.String> values)Create a multi valuedPropertyStatefrom a list of dates.Conversions.ConvertergetConverter(java.lang.String value)Create a converter for converting a value to other types.Type<?>getType()Determine the type of this property<S> SgetValue(Type<S> type)Value of this property.<S> SgetValue(Type<S> type, int index)Value at the givenindex.static PropertyStatenameProperty(java.lang.String name, java.lang.Iterable<java.lang.String> values)Create a multi valuedPropertyStatefrom a list of names.static PropertyStatepathProperty(java.lang.String name, java.lang.Iterable<java.lang.String> values)Create a multi valuedPropertyStatefrom a list of paths.static PropertyStatereferenceProperty(java.lang.String name, java.lang.Iterable<java.lang.String> values)Create a multi valuedPropertyStatefrom a list of references.longsize(int index)The size of the value at the givenindex.static PropertyStateuriProperty(java.lang.String name, java.lang.Iterable<java.lang.String> values)Create a multi valuedPropertyStatefrom a list of URIs.static PropertyStateweakreferenceProperty(java.lang.String name, java.lang.Iterable<java.lang.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 Detail
-
MultiGenericPropertyState
public MultiGenericPropertyState(java.lang.String name, java.lang.Iterable<java.lang.String> values, Type<?> type)- Throws:
java.lang.IllegalArgumentException- iftype.isArray()isfalse
-
-
Method Detail
-
dateProperty
public static PropertyState dateProperty(java.lang.String name, java.lang.Iterable<java.lang.String> values)
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
public static PropertyState nameProperty(java.lang.String name, java.lang.Iterable<java.lang.String> values)
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
public static PropertyState pathProperty(java.lang.String name, java.lang.Iterable<java.lang.String> values)
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
public static PropertyState referenceProperty(java.lang.String name, java.lang.Iterable<java.lang.String> values)
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
public static PropertyState weakreferenceProperty(java.lang.String name, java.lang.Iterable<java.lang.String> values)
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
public static PropertyState uriProperty(java.lang.String name, java.lang.Iterable<java.lang.String> values)
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
public Conversions.Converter getConverter(java.lang.String 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:PropertyStateDetermine the type of this property- Returns:
- the type of this property
-
getValue
@NotNull public <S> S getValue(Type<S> type)
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- Parameters:
type- target type- Returns:
- An empty list if
type.isArray()istrue. - Throws:
java.lang.IllegalStateException- iftype.isArray()isfalse.java.lang.IllegalArgumentException- iftypeis not one of the values defined inType
-
getValue
@NotNull public <S> S getValue(Type<S> type, int index)
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- Parameters:
type- target type- Returns:
- the value of this property at the given
index - Throws:
java.lang.IllegalArgumentException- iftypeis not one of the values defined inTypeor iftype.isArray()istruejava.lang.IndexOutOfBoundsException- 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- Returns:
- size of the value at the given
index.
-
-