public abstract class AbstractProperty extends AbstractItem implements Item, Property
Property
interface.
Item
methods without a default implementation:
Item.getName()
Item.getParent()
Item.getSession()
Item.isModified()
Item.isNew()
Item.isSame(Item)
Item.refresh(boolean)
Item.save()
Property
methods without a default implementation:
NOTE: Many of the default method implementations in
this base class rely on the parent node being accessible through the
Item.getParent()
call. It is possible (though unlikely) that
access controls deny access to a containing node even though a property
is accessible. In such cases the default method implementations in this
class will not work.
JCR_ACTIVITY, JCR_AUTOCREATED, JCR_BASE_VERSION, JCR_CHILD_VERSION_HISTORY, JCR_CONFIGURATION, JCR_CONTENT, JCR_COPIED_FROM, JCR_CREATED, JCR_CREATED_BY, JCR_CURRENT_LIFECYCLE_STATE, JCR_DATA, JCR_DEFAULT_PRIMARY_TYPE, JCR_DEFAULT_VALUES, JCR_DESCRIPTION, JCR_ENCODING, JCR_FROZEN_MIXIN_TYPES, JCR_FROZEN_PRIMARY_TYPE, JCR_FROZEN_UUID, JCR_HAS_ORDERABLE_CHILD_NODES, JCR_HOST, JCR_ID, JCR_IS_ABSTRACT, JCR_IS_CHECKED_OUT, JCR_IS_MIXIN, JCR_LANGUAGE, JCR_LAST_MODIFIED, JCR_LAST_MODIFIED_BY, JCR_LIFECYCLE_POLICY, JCR_LOCK_IS_DEEP, JCR_LOCK_OWNER, JCR_MANDATORY, JCR_MERGE_FAILED, JCR_MIMETYPE, JCR_MIXIN_TYPES, JCR_MULTIPLE, JCR_NAME, JCR_NODE_TYPE_NAME, JCR_ON_PARENT_VERSION, JCR_PATH, JCR_PORT, JCR_PREDECESSORS, JCR_PRIMARY_ITEM_NAME, JCR_PRIMARY_TYPE, JCR_PROTECTED, JCR_PROTOCOL, JCR_REPOSITORY, JCR_REQUIRED_PRIMARY_TYPES, JCR_REQUIRED_TYPE, JCR_ROOT, JCR_SAME_NAME_SIBLINGS, JCR_STATEMENT, JCR_SUCCESSORS, JCR_SUPERTYPES, JCR_TITLE, JCR_UUID, JCR_VALUE_CONSTRAINTS, JCR_VERSION_HISTORY, JCR_VERSIONABLE_UUID, JCR_WORKSPACE
Constructor and Description |
---|
AbstractProperty() |
Modifier and Type | Method and Description |
---|---|
void |
accept(ItemVisitor visitor)
Accepts the given item visitor.
|
boolean |
getBoolean()
Returns the boolean value of this property.
|
Calendar |
getDate()
Returns the date value of this property.
|
double |
getDouble()
Returns the double value of this property.
|
long |
getLength()
Returns the length of the value of this property.
|
long[] |
getLengths()
Returns the lengths of the values of this property.
|
long |
getLong()
Returns the long value of this property.
|
Node |
getNode()
If this property is of type
REFERENCE ,
WEAKREFERENCE or PATH (or convertible to one of
these types) this method returns the Node to which this
property refers. |
String |
getPath()
Returns the path of this property.
|
Property |
getProperty()
If this property is of type
PATH (or convertible to this
type) this method returns the Property to which this
property refers. |
InputStream |
getStream()
Returns the binary value of this property.
|
String |
getString()
Returns the string value of this property.
|
int |
getType()
Returns the type of this property.
|
boolean |
isNode()
Returns
false . |
void |
remove()
Removes this property.
|
void |
setValue(boolean value)
Sets the value of this property.
|
void |
setValue(Calendar value)
Sets the value of this property.
|
void |
setValue(double value)
Sets the value of this property.
|
void |
setValue(InputStream value)
Sets the value of this property.
|
void |
setValue(long value)
Sets the value of this property.
|
void |
setValue(Node value)
Sets the value of this property.
|
void |
setValue(String value)
Sets the value of this property.
|
void |
setValue(String[] values)
Sets the values of this property.
|
void |
setValue(Value value)
Sets the value of this property.
|
void |
setValue(Value[] values)
Sets the values of this property.
|
getAncestor, getDepth, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getBinary, getDecimal, getDefinition, getValue, getValues, isMultiple, setValue, setValue
getAncestor, getDepth, getName, getParent, getSession, isModified, isNew, isSame, refresh, save
public void accept(ItemVisitor visitor) throws RepositoryException
The default implementation calls ItemVisitor.visit(Property)
on the given visitor with this property as the argument.
accept
in interface Item
visitor
- item visitorRepositoryException
- if an error occurspublic String getPath() throws RepositoryException
The default implementation constructs the path from the path of the parent node and the name of this property.
getPath
in interface Item
RepositoryException
- if an error occurspublic void remove() throws RepositoryException
The default implementation calls Node.setProperty(String, Value)
with a null
value on the parent node.
remove
in interface Item
RepositoryException
- if an error occurspublic boolean getBoolean() throws RepositoryException
The default implementation forwards the method call to the
Value
instance returned by the generic
Property.getValue()
method.
getBoolean
in interface Property
RepositoryException
- if an error occurspublic Calendar getDate() throws RepositoryException
The default implementation forwards the method call to the
Value
instance returned by the generic
Property.getValue()
method.
getDate
in interface Property
RepositoryException
- if an error occurspublic double getDouble() throws RepositoryException
The default implementation forwards the method call to the
Value
instance returned by the generic
Property.getValue()
method.
getDouble
in interface Property
RepositoryException
- if an error occurspublic long getLength() throws RepositoryException
The default implementation measures the length of the Value
instance returned by the generic Property.getValue()
method.
getLength
in interface Property
RepositoryException
- if an error occurspublic long[] getLengths() throws RepositoryException
The default implementation measures the lengths of the Value
instances returned by the generic Property.getValues()
method.
getLengths
in interface Property
RepositoryException
- if an error occurspublic long getLong() throws RepositoryException
The default implementation forwards the method call to the
Value
instance returned by the generic
Property.getValue()
method.
getLong
in interface Property
RepositoryException
- if an error occurspublic Node getNode() throws ValueFormatException, RepositoryException
REFERENCE
,
WEAKREFERENCE
or PATH
(or convertible to one of
these types) this method returns the Node
to which this
property refers.
If this property is of type PATH
and it contains a relative
path, it is interpreted relative to the parent node of this property. For
example ".
" refers to the parent node itself,
"..
" to the parent of the parent node and "foo
"
to a sibling node of this property.
getNode
in interface Property
ValueFormatException
- if this property cannot be converted to a
referring type (REFERENCE
, WEAKREFERENCE
or
PATH
), if the property is multi-valued or if this property
is a referring type but is currently part of the frozen state of a
version in version storage.ItemNotFoundException
- If this property is of type
PATH
or WEAKREFERENCE
and no target node
accessible by the current Session
exists in this workspace.
Note that this applies even if the property is a PATHS
and a
property exists at the specified location. To dereference to a
target property (as opposed to a target node), the method
Property.getProperty
is used.RepositoryException
- if another error occurs.public Property getProperty() throws RepositoryException
PATH
(or convertible to this
type) this method returns the Property
to which this
property refers.
If this property contains a relative path, it is interpreted relative to
the parent node of this property. Therefore, when resolving such a
relative path, the segment ".
" refers to
the parent node itself, "..
" to the parent of the parent
node and "foo
" to a sibling property of this property or
this property itself.
For example, if this property is located at
/a/b/c
and it has a value of "../d
" then this
method will return the property at /a/d
if such exists.
If this property is multi-valued, this method throws a
ValueFormatException
.
If this property cannot be converted to a PATH
then a
ValueFormatException
is thrown.
If this property is currently part of the frozen state of a version in
version storage, this method will throw a ValueFormatException
.
getProperty
in interface Property
ValueFormatException
- if this property cannot be converted to a
PATH
, if the property is multi-valued or if this property is
a referring type but is currently part of the frozen state of a version
in version storage.ItemNotFoundException
- If no property accessible by the current
Session
exists in this workspace at the specified path. Note
that this applies even if a node exists at the specified location.
To dereference to a target node, the method Property.getNode
is used.RepositoryException
- if another error occurs.public InputStream getStream() throws RepositoryException
The default implementation forwards the method call to the
Value
instance returned by the generic
Property.getValue()
method.
getStream
in interface Property
RepositoryException
- if an error occurspublic String getString() throws RepositoryException
The default implementation forwards the method call to the
Value
instance returned by the generic
Property.getValue()
method.
getString
in interface Property
RepositoryException
- if an error occurspublic int getType() throws RepositoryException
The default implementation forwards the method call to the
Value
instance returned by the generic
Property.getValue()
method.
getType
in interface Property
RepositoryException
- if an error occurspublic void setValue(Value value) throws RepositoryException
The default implementation forwards the call to the
Node.setProperty(String, Value)
method of the parent node
using the name of this property.
setValue
in interface Property
value
- passed throughRepositoryException
- if an error occurspublic void setValue(Value[] values) throws RepositoryException
The default implementation forwards the call to the
Node.setProperty(String, Value[])
method of the parent node
using the name of this property.
setValue
in interface Property
values
- passed throughRepositoryException
- if an error occurspublic void setValue(String value) throws RepositoryException
The default implementation forwards the call to the
Node.setProperty(String, String)
method of the parent node
using the name of this property.
setValue
in interface Property
value
- passed throughRepositoryException
- if an error occurspublic void setValue(String[] values) throws RepositoryException
The default implementation forwards the call to the
Node.setProperty(String, String[])
method of the parent node
using the name of this property.
setValue
in interface Property
values
- passed throughRepositoryException
- if an error occurspublic void setValue(InputStream value) throws RepositoryException
The default implementation forwards the call to the
Node.setProperty(String, InputStream)
method of the parent node
using the name of this property.
setValue
in interface Property
value
- passed throughRepositoryException
- if an error occurspublic void setValue(long value) throws RepositoryException
The default implementation forwards the call to the
Node.setProperty(String, long)
method of the parent node
using the name of this property.
setValue
in interface Property
value
- passed throughRepositoryException
- if an error occurspublic void setValue(double value) throws RepositoryException
The default implementation forwards the call to the
Node.setProperty(String, double)
method of the parent node
using the name of this property.
setValue
in interface Property
value
- passed throughRepositoryException
- if an error occurspublic void setValue(Calendar value) throws RepositoryException
The default implementation forwards the call to the
Node.setProperty(String, Calendar)
method of the parent node
using the name of this property.
setValue
in interface Property
value
- passed throughRepositoryException
- if an error occurspublic void setValue(boolean value) throws RepositoryException
The default implementation forwards the call to the
Node.setProperty(String, boolean)
method of the parent node
using the name of this property.
setValue
in interface Property
value
- passed throughRepositoryException
- if an error occurspublic void setValue(Node value) throws RepositoryException
The default implementation forwards the call to the
Node.setProperty(String, Node)
method of the parent node
using the name of this property.
setValue
in interface Property
value
- passed throughRepositoryException
- if an error occursCopyright © 2004–2022 The Apache Software Foundation. All rights reserved.