| javax.jcr.Value
Value | public interface Value (Code) | | A generic holder for the value of a property. A Value object can be used without knowing the actual
property type (STRING , DOUBLE , BINARY etc.).
Any implementation of this interface must adhere to the following behavior:
-
A
Value object can be read using type-specific
get methods. These methods are divided into two groups:
-
The non-stream
get methods getString() ,
getBinary() , getDate() , getDecimal() ,
getLong() , getDouble() and getBoolean() .
-
getStream() .
-
Once a
Value object has been read once using getStream() , all subsequent calls to
getStream() will return the same Stream object. This may mean, for example, that the
stream returned is fully or partially consumed. In order to get a fresh stream the Value object
must be reacquired via
Property.getValue or
Property.getValues .
-
Once a
Value object has been read once using getStream() , any subsequent call to any
of the non-stream get methods will throw an IllegalStateException . In order to
successfully invoke a non-stream get method, the Value must be reacquired
via
Property.getValue or
Property.getValues .
-
Once a
Value object has been read once using a non-stream get method, any subsequent call to
getStream() will throw an IllegalStateException . In order to successfully invoke
getStream() , the Value must be reacquired via
Property.getValue or
Property.getValues .
Two Value instances, v1 and v2 , are considered equal if and only if:
v1.getType() == v2.getType() , and,
v1.getString().equals(v2.getString())
Actually comparing two Value instances by converting them to
string form may not be practical in some cases (for example, if the values are very large
binaries). Consequently, the above is intended as a normative definition of Value equality
but not as a procedural test of equality. It is assumed that implementations will have efficient means
of determining equality that conform with the above definition.
An implementation is only required to support equality comparisons on Value instances that were
acquired from the same Session and whose contents have not been read. The equality comparison must not
change the state of the Value instances even though the getString() method in the above
definition implies a state change.
|
Method Summary | |
public Binary | getBinary() Returns a Binary representation of this value. | public boolean | getBoolean() Returns a Boolean representation of this value. | public Calendar | getDate() Returns a Calendar representation of this value. | public BigDecimal | getDecimal() Returns a BigDecimal representation of this value. | public double | getDouble() Returns a double representation of this value. | public long | getLong() Returns a long representation of this value. | public InputStream | getStream() Returns an InputStream representation of this value. | public String | getString() Returns a String representation of this value. | public int | getType() Returns the type of this Value . |
getBinary | public Binary getBinary() throws RepositoryException(Code) | | Returns a Binary representation of this value. The
Binary object in turn provides methods to access the binary
data itself.
Uses the standard conversion to binary (see JCR specification).
A Binary representation of this value. throws: RepositoryException - if an error occurs. since: JCR 2.0 |
getBoolean | public boolean getBoolean() throws ValueFormatException, IllegalStateException, RepositoryException(Code) | | Returns a Boolean representation of this value.
If this value cannot be converted to a Boolean , a
ValueFormatException is thrown.
If getStream has previously been called on this
Value instance, an IllegalStateException is thrown.
In this case a new Value instance must be acquired in order to
successfully call getBoolean .
A RepositoryException is thrown if another error occurs.
A Boolean representation of this value. throws: ValueFormatException - if conversion to a Boolean is not possible. throws: IllegalStateException - if getStream has previouslybeen called on this Value instance. throws: RepositoryException - if another error occurs. |
getDate | public Calendar getDate() throws ValueFormatException, IllegalStateException, RepositoryException(Code) | | Returns a Calendar representation of this value.
The object returned is a copy of the stored value, so changes to it are not reflected in internal storage.
If this value cannot be converted to a Calendar , a
ValueFormatException is thrown.
If getStream has previously been called on this
Value instance, an IllegalStateException is thrown.
In this case a new Value instance must be acquired in order to
successfully call getDate .
A RepositoryException is thrown if another error occurs.
A Calendar representation of this value. throws: ValueFormatException - if conversion to a Calendar is not possible. throws: IllegalStateException - if getStream has previouslybeen called on this Value instance. throws: RepositoryException - if another error occurs. |
getDecimal | public BigDecimal getDecimal() throws ValueFormatException, IllegalStateException, RepositoryException(Code) | | Returns a BigDecimal representation of this value.
If this value cannot be converted to a BigDecimal , a
ValueFormatException is thrown.
If getStream has previously been called on this
Value instance, an IllegalStateException is thrown.
In this case a new Value instance must be acquired in order to
successfully call getDouble .
A RepositoryException is thrown if another error occurs.
A BigDecimal representation of this value. throws: ValueFormatException - if conversion to a BigDecimal is not possible. throws: IllegalStateException - if getStream has previouslybeen called on this Value instance. throws: RepositoryException - if another error occurs. since: JCR 2.0 |
getDouble | public double getDouble() throws ValueFormatException, IllegalStateException, RepositoryException(Code) | | Returns a double representation of this value.
If this value cannot be converted to a double , a
ValueFormatException is thrown.
If getStream has previously been called on this
Value instance, an IllegalStateException is thrown.
In this case a new Value instance must be acquired in order to
successfully call getDouble .
A RepositoryException is thrown if another error occurs.
A double representation of this value. throws: ValueFormatException - if conversion to a double is not possible. throws: IllegalStateException - if getStream has previouslybeen called on this Value instance. throws: RepositoryException - if another error occurs. |
getLong | public long getLong() throws ValueFormatException, IllegalStateException, RepositoryException(Code) | | Returns a long representation of this value.
If this value cannot be converted to a long ,
a ValueFormatException is thrown.
If getStream has previously been called on this
Value instance, an IllegalStateException is thrown.
In this case a new Value instance must be acquired in order to
successfully call getLong .
A RepositoryException is thrown if another error occurs.
A long representation of this value. throws: ValueFormatException - if conversion to an long is not possible. throws: IllegalStateException - if getStream has previouslybeen called on this Value instance. throws: RepositoryException - if another error occurs. |
getStream | public InputStream getStream() throws IllegalStateException, RepositoryException(Code) | | Returns an InputStream representation of this value.
Uses the standard conversion to binary (see JCR specification).
It is the responsibility of the caller to close the returned InputStream.
If a non-stream get method has previously been called on this
Value instance, an IllegalStateException is thrown.
In this case a new Value instance must be acquired in order to successfully call
getStream .
A RepositoryException is thrown if another error occurs.
Value.getBinary() An InputStream representation of this value. throws: IllegalStateException - if a non-stream get method has previouslybeen called on this Value instance. throws: RepositoryException - if another error occurs. |
getString | public String getString() throws ValueFormatException, IllegalStateException, RepositoryException(Code) | | Returns a String representation of this value.
If this value cannot be converted to a string, a
ValueFormatException is thrown.
If getStream has previously been called on this
Value instance, an IllegalStateException is thrown.
In this case a new Value instance must be acquired in order to
successfully call getString .
A RepositoryException is thrown if another error occurs.
A String representation of the value of this property. throws: ValueFormatException - if conversion to a String is not possible. throws: IllegalStateException - if getStream has previouslybeen called on this Value instance. throws: RepositoryException - if another error occurs. |
getType | public int getType()(Code) | | Returns the type of this Value .
One of:
PropertyType.STRING
PropertyType.DATE
PropertyType.BINARY
PropertyType.DOUBLE
PropertyType.LONG
PropertyType.BOOLEAN
PropertyType.NAME
PropertyType.PATH
PropertyType.REFERENCE
PropertyType.WEAKREFERENCE
PropertyType.URI
See
PropertyType .
The type returned is that which was set at property creation.
|
|
|