public interface Value
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:
Value
object can be read using type-specific get
methods. These methods are divided into two groups:
get
methods getString()
, getDate()
, getLong()
, getDouble()
and getBoolean()
.getStream()
.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()
.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.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.Two Value
instances, v1
and v2
, are considered equal if and only if:
v1.getType() == v2.getType()
, and,v1.getString().equals(v2.getString())
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.Modifier and Type | Method and Description |
---|---|
boolean |
getBoolean()
Returns a
Boolean representation of this value. |
java.util.Calendar |
getDate()
Returns a
Calendar 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()
Returns an
InputStream representation of this value. |
java.lang.String |
getString()
Returns a
String representation of this value. |
int |
getType()
Returns the
type of this Value . |
java.lang.String getString() throws ValueFormatException, java.lang.IllegalStateException, RepositoryException
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.
String
representation of the value of this property.ValueFormatException
- if conversion to a String
is not possible.java.lang.IllegalStateException
- if getStream
has previously been called on this Value
instance.RepositoryException
- if another error occurs.java.io.InputStream getStream() throws java.lang.IllegalStateException, RepositoryException
InputStream
representation of this value. Uses the standard conversion to binary (see JCR specification)
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.
InputStream
representation of this value.java.lang.IllegalStateException
- if a non-stream get
method has previously been called on this Value
instance.RepositoryException
- if another error occurs.long getLong() throws java.lang.IllegalStateException, RepositoryException
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.
long
representation of this value.ValueFormatException
- if conversion to an long
is not possible.java.lang.IllegalStateException
- if getStream
has previously been called on this Value
instance.RepositoryException
- if another error occurs.double getDouble() throws ValueFormatException, java.lang.IllegalStateException, RepositoryException
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.
double
representation of this value.ValueFormatException
- if conversion to a double
is not possible.java.lang.IllegalStateException
- if getStream
has previously been called on this Value
instance.RepositoryException
- if another error occurs.java.util.Calendar getDate() throws ValueFormatException, java.lang.IllegalStateException, RepositoryException
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.
Calendar
representation of this value.ValueFormatException
- if conversion to a Calendar
is not possible.java.lang.IllegalStateException
- if getStream
has previously been called on this Value
instance.RepositoryException
- if another error occurs.boolean getBoolean() throws ValueFormatException, java.lang.IllegalStateException, RepositoryException
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.
Boolean
representation of this value.ValueFormatException
- if conversion to a Boolean
is not possible.java.lang.IllegalStateException
- if getStream
has previously been called on this Value
instance.RepositoryException
- if another error occurs.int getType()
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
.
The type returned is that which was set at property creation.
Copyright © 2004-2005 Day Software Management AG. All Rights Reserved.