Package org.apache.jackrabbit.value
Class ValueHelper
- java.lang.Object
-
- org.apache.jackrabbit.value.ValueHelper
-
public class ValueHelper extends java.lang.Object
TheValueHelper
class provides severalValue
related utility methods.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
checkSupportedConversion(int fromType, int toType)
static Value[]
convert(java.io.InputStream[] srcValues, int targetType, ValueFactory factory)
static Value
convert(java.io.InputStream srcValue, int targetType, ValueFactory factory)
static Value[]
convert(java.lang.String[] srcValues, int targetType, ValueFactory factory)
Same asconvert(String[], int, ValueFactory)
usingValueFactoryImpl
.static Value
convert(java.lang.String srcValue, int targetType, ValueFactory factory)
static Value[]
convert(Value[] srcValues, int targetType, ValueFactory factory)
static Value
convert(Value srcValue, int targetType, ValueFactory factory)
Converts the given value to a value of the specified target type.static Value[]
copy(Value[] srcValues, ValueFactory factory)
static Value
copy(Value srcValue, ValueFactory factory)
static Value
deserialize(java.io.Reader reader, int type, boolean decodeBlanks, ValueFactory factory)
Deserializes the string data read from the given reader to aValue
of the given type.static Value
deserialize(java.lang.String value, int type, boolean decodeBlanks, ValueFactory factory)
Deserializes the given string to aValue
of the given type.static int
getType(Value[] values)
Determine thePropertyType
of the passed values if all are of the same type.static boolean
isSupportedConversion(int fromType, int toType)
static java.lang.String
serialize(Value value, boolean encodeBlanks)
Serializes the given value to aString
.static void
serialize(Value value, boolean encodeBlanks, boolean enforceBase64, java.io.Writer writer)
Outputs the serialized value to aWriter
.
-
-
-
Method Detail
-
isSupportedConversion
public static boolean isSupportedConversion(int fromType, int toType)
-
checkSupportedConversion
public static void checkSupportedConversion(int fromType, int toType) throws ValueFormatException
- Throws:
ValueFormatException
-
convert
public static Value convert(java.lang.String srcValue, int targetType, ValueFactory factory) throws ValueFormatException, java.lang.IllegalArgumentException
- Parameters:
srcValue
-targetType
-factory
-- Throws:
ValueFormatException
java.lang.IllegalArgumentException
- See Also:
convert(Value, int, ValueFactory)
-
convert
public static Value convert(java.io.InputStream srcValue, int targetType, ValueFactory factory) throws ValueFormatException, java.lang.IllegalArgumentException
- Parameters:
srcValue
-targetType
-factory
-- Throws:
ValueFormatException
java.lang.IllegalArgumentException
-
convert
public static Value[] convert(java.lang.String[] srcValues, int targetType, ValueFactory factory) throws ValueFormatException, java.lang.IllegalArgumentException
Same asconvert(String[], int, ValueFactory)
usingValueFactoryImpl
.- Parameters:
srcValues
-targetType
-- Throws:
ValueFormatException
java.lang.IllegalArgumentException
- See Also:
convert(Value, int, ValueFactory)
-
convert
public static Value[] convert(java.io.InputStream[] srcValues, int targetType, ValueFactory factory) throws ValueFormatException, java.lang.IllegalArgumentException
- Parameters:
srcValues
-targetType
-- Throws:
ValueFormatException
java.lang.IllegalArgumentException
- See Also:
convert(Value, int, ValueFactory)
-
convert
public static Value[] convert(Value[] srcValues, int targetType, ValueFactory factory) throws ValueFormatException, java.lang.IllegalArgumentException
- Parameters:
srcValues
-targetType
-factory
-- Throws:
ValueFormatException
java.lang.IllegalArgumentException
- See Also:
convert(Value, int, ValueFactory)
-
convert
public static Value convert(Value srcValue, int targetType, ValueFactory factory) throws ValueFormatException, java.lang.IllegalStateException, java.lang.IllegalArgumentException
Converts the given value to a value of the specified target type. The conversion is performed according to the rules described in "3.6.4 Property Type Conversion" in the JSR 283 specification.- Parameters:
srcValue
-targetType
-factory
-- Throws:
ValueFormatException
java.lang.IllegalStateException
java.lang.IllegalArgumentException
-
copy
public static Value copy(Value srcValue, ValueFactory factory) throws java.lang.IllegalStateException
- Parameters:
srcValue
-factory
-- Throws:
java.lang.IllegalStateException
-
copy
public static Value[] copy(Value[] srcValues, ValueFactory factory) throws java.lang.IllegalStateException
- Parameters:
srcValues
-factory
-- Throws:
java.lang.IllegalStateException
-
serialize
public static java.lang.String serialize(Value value, boolean encodeBlanks) throws java.lang.IllegalStateException, RepositoryException
Serializes the given value to aString
. The serialization format is the same as used by Document & System View XML, i.e. binary values will be Base64-encoded whereas for all others
will be used.Value.getString()
- Parameters:
value
- the value to be serializedencodeBlanks
- iftrue
space characters will be encoded as"_x0020_"
within he output string.- Returns:
- a string representation of the given value.
- Throws:
java.lang.IllegalStateException
- if the given value is in an illegal stateRepositoryException
- if an error occured during the serialization.
-
serialize
public static void serialize(Value value, boolean encodeBlanks, boolean enforceBase64, java.io.Writer writer) throws java.lang.IllegalStateException, java.io.IOException, RepositoryException
Outputs the serialized value to aWriter
. The serialization format is the same as used by Document & System View XML, i.e. binary values will be Base64-encoded whereas for all others
will be used for serialization.Value.getString()
- Parameters:
value
- the value to be serializedencodeBlanks
- iftrue
space characters will be encoded as"_x0020_"
within he output string.enforceBase64
- iftrue
, base64 encoding will always be usedwriter
- writer to output the encoded data- Throws:
java.lang.IllegalStateException
- if the given value is in an illegal statejava.io.IOException
- if an i/o error occured during the serializationRepositoryException
- if an error occured during the serialization.
-
deserialize
public static Value deserialize(java.lang.String value, int type, boolean decodeBlanks, ValueFactory factory) throws ValueFormatException, RepositoryException
Deserializes the given string to aValue
of the given type.- Parameters:
value
- string to be deserializedtype
- type of valuedecodeBlanks
- iftrue
"_x0020_"
character sequences will be decoded to single space characters each.factory
- ValueFactory used to build theValue
object.- Returns:
- the deserialized
Value
- Throws:
ValueFormatException
- if the string data is not of the required formatRepositoryException
- if an error occured during the deserialization.
-
deserialize
public static Value deserialize(java.io.Reader reader, int type, boolean decodeBlanks, ValueFactory factory) throws java.io.IOException, ValueFormatException, RepositoryException
Deserializes the string data read from the given reader to aValue
of the given type.- Parameters:
reader
- reader for the string data to be deserializedtype
- type of valuedecodeBlanks
- iftrue
"_x0020_"
character sequences will be decoded to single space characters each.factory
- ValueFactory used to build theValue
object.- Returns:
- the deserialized
Value
- Throws:
java.io.IOException
- if an i/o error occured during the serializationValueFormatException
- if the string data is not of the required formatRepositoryException
- if an error occured during the deserialization.
-
getType
public static int getType(Value[] values) throws ValueFormatException
Determine thePropertyType
of the passed values if all are of the same type.- Parameters:
values
- array of values of the same type- Returns:
PropertyType.UNDEFINED
ifvalues
is empty,values[0].getType()
otherwise.- Throws:
ValueFormatException
- if not allvalues
are of the same type
-
-