javax.jcr
Interface Value


public interface Value

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.).

The Binary interface and its related methods in Property, Value and ValueFactory replace the deprecated Value.getStream and Property.getStream methods from JCR 1.0. However, though getStream has been deprecated, for reasons of backward compatibility its behavior must still conform to the following rules:

Two Value instances, v1 and v2, are considered equal if and only if:

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
 Binary getBinary()
          Returns a Binary representation of this value.
 boolean getBoolean()
          Returns a Boolean representation of this value.
 java.util.Calendar getDate()
          Returns a Calendar representation of this value.
 java.math.BigDecimal getDecimal()
          Returns a BigDecimal representation of this value.
 double getDouble()
          Returns a double representation of this value.
 long getLong()
          Returns a long representation of this value.
 java.io.InputStream getStream()
          Deprecated. As of JCR 2.0, getBinary() should be used instead.
 java.lang.String getString()
          Returns a String representation of this value.
 int getType()
          Returns the type of this Value.
 

Method Detail

getString

java.lang.String getString()
                           throws ValueFormatException,
                                  java.lang.IllegalStateException,
                                  RepositoryException
Returns a String representation of this value.

Returns:
A String representation of the value of this property.
Throws:
ValueFormatException - if conversion to a String is not possible.
java.lang.IllegalStateException - if getStream has previously been called on this Value instance. In this case a new Value instance must be acquired in order to successfully call this method.
RepositoryException - if another error occurs.

getStream

java.io.InputStream getStream()
                              throws RepositoryException
Deprecated. As of JCR 2.0, getBinary() should be used instead.

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.

Returns:
An InputStream representation of this value.
Throws:
RepositoryException - if an error occurs.

getBinary

Binary getBinary()
                 throws RepositoryException
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).

Returns:
A Binary representation of this value.
Throws:
RepositoryException - if an error occurs.
Since:
JCR 2.0

getLong

long getLong()
             throws ValueFormatException,
                    RepositoryException
Returns a long representation of this value.

Returns:
A long representation of this value.
Throws:
ValueFormatException - if conversion to an long is not possible.
RepositoryException - if another error occurs.

getDouble

double getDouble()
                 throws ValueFormatException,
                        RepositoryException
Returns a double representation of this value.

Returns:
A double representation of this value.
Throws:
ValueFormatException - if conversion to a double is not possible.
RepositoryException - if another error occurs.

getDecimal

java.math.BigDecimal getDecimal()
                                throws ValueFormatException,
                                       RepositoryException
Returns a BigDecimal representation of this value.

Returns:
A BigDecimal representation of this value.
Throws:
ValueFormatException - if conversion to a BigDecimal is not possible.
RepositoryException - if another error occurs.
Since:
JCR 2.0

getDate

java.util.Calendar getDate()
                           throws ValueFormatException,
                                  RepositoryException
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.

Returns:
A Calendar representation of this value.
Throws:
ValueFormatException - if conversion to a Calendar is not possible.
RepositoryException - if another error occurs.

getBoolean

boolean getBoolean()
                   throws ValueFormatException,
                          RepositoryException
Returns a Boolean representation of this value.

Returns:
A Boolean representation of this value.
Throws:
ValueFormatException - if conversion to a Boolean is not possible.
RepositoryException - if another error occurs.

getType

int getType()
Returns the type of this Value. One of: See PropertyType.

The type returned is that which was set at property creation.

Returns:
an int