|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.jackrabbit.commons.AbstractItem
org.apache.jackrabbit.commons.AbstractNode
public abstract class AbstractNode
Abstract base class for implementing the JCR Node
interface.
Item
methods without a default implementation:
Item.accept(javax.jcr.ItemVisitor)
Item.getName()
Item.getParent()
Item.getSession()
Item.isModified()
Item.isNew()
Item.isSame(Item)
Item.refresh(boolean)
Item.remove()
Item.save()
Node
methods without a default implementation:
Node.addMixin(String)
Node.addNode(String)
Node#addNode(String, String))
Node.canAddMixin(String)
Node.cancelMerge(Version)
Node.checkin()
Node.checkout()
Node.doneMerge(Version)
Node.getBaseVersion()
Node.getCorrespondingNodePath(String)
Node.getDefinition()
Node.getIndex()
Node.getLock()
Node.getNode(String)
Node.getNodes()
Node.getNodes(String)
Node.getPrimaryItem()
Node.getProperties()
Node.getProperties(String)
Node.getReferences()
Node.lock(boolean, boolean)
Node.merge(String, boolean)
Node.orderBefore(String, String)
Node.removeMixin(String)
Node.restore(Version, String, boolean)
Node.setProperty(String, Value)
Node.setProperty(String, Value[])
Node.unlock()
Node.update(String)
Constructor Summary | |
---|---|
AbstractNode()
|
Method Summary | |
---|---|
void |
accept(ItemVisitor visitor)
Accepts the given item visitor. |
NodeType[] |
getMixinNodeTypes()
Returns the declared mixin node types of this node. |
String |
getPath()
Returns the path of this node. |
NodeType |
getPrimaryNodeType()
Returns the primary node type of this node. |
Property |
getProperty(String relPath)
Returns the property at the given relative path from this node. |
String |
getUUID()
Returns the UUID of this node. |
VersionHistory |
getVersionHistory()
Returns the version history of this node. |
boolean |
hasNode(String relPath)
Checks whether a node at the given relative path exists. |
boolean |
hasNodes()
Checks if this node has one or more properties. |
boolean |
hasProperties()
Checks if this node has one or more properties. |
boolean |
hasProperty(String relPath)
Checks whether a property at the given relative path exists. |
boolean |
holdsLock()
Checks if this node holds a lock. |
boolean |
isCheckedOut()
Checks whether this node is checked out. |
boolean |
isLocked()
Checks if this node is locked. |
boolean |
isNode()
Returns true . |
boolean |
isNodeType(String name)
Checks whether this node is of the given type. |
void |
restore(String versionName,
boolean removeExisting)
Restores this node to the version with the given name. |
void |
restore(Version version,
boolean removeExisting)
Restores this node to the given version. |
void |
restoreByLabel(String versionLabel,
boolean removeExisting)
Restores this node to the version with the given label. |
Property |
setProperty(String name,
boolean value)
Sets the value of the named property. |
Property |
setProperty(String name,
Calendar value)
Sets the value of the named property. |
Property |
setProperty(String name,
double value)
Sets the value of the named property. |
Property |
setProperty(String name,
InputStream value)
Sets the value of the named property. |
Property |
setProperty(String name,
long value)
Sets the value of the named property. |
Property |
setProperty(String name,
Node value)
Sets the value of the named property. |
Property |
setProperty(String name,
String value)
Sets the value of the named property. |
Property |
setProperty(String name,
String[] strings)
Sets the value of the named property. |
Property |
setProperty(String name,
String[] strings,
int type)
Sets the value of the named property. |
Property |
setProperty(String name,
String value,
int type)
Sets the value of the named property. |
Property |
setProperty(String name,
Value[] values,
int type)
Sets the value of the named property. |
Property |
setProperty(String name,
Value value,
int type)
Sets the value of the named property. |
Methods inherited from class org.apache.jackrabbit.commons.AbstractItem |
---|
getAncestor, getDepth, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface javax.jcr.Node |
---|
addMixin, addNode, addNode, canAddMixin, cancelMerge, checkin, checkout, doneMerge, getBaseVersion, getCorrespondingNodePath, getDefinition, getIndex, getLock, getNode, getNodes, getNodes, getPrimaryItem, getProperties, getProperties, getReferences, lock, merge, orderBefore, removeMixin, restore, setProperty, setProperty, unlock, update |
Methods inherited from interface javax.jcr.Item |
---|
getAncestor, getDepth, getName, getParent, getSession, isModified, isNew, isSame, refresh, remove, save |
Constructor Detail |
---|
public AbstractNode()
Method Detail |
---|
public void accept(ItemVisitor visitor) throws RepositoryException
The default implementation calls ItemVisitor.visit(Node)
on
the given visitor with this node as the argument.
accept
in interface Item
visitor
- item visitor
RepositoryException
- if an error occurspublic String getPath() throws RepositoryException
The default implementation recursively calls this method on the parent node and appends the name and optionally the index of this node to construct the full path. Returns "/" if the parent node is not available (i.e. this is the root node).
getPath
in interface Item
RepositoryException
- if an error occurspublic boolean isNode()
true
.
isNode
in interface Item
true
public NodeType[] getMixinNodeTypes() throws RepositoryException
The default implementation uses the values of the
jcr:mixinTypes
property to look up the mixin node types
from the NodeTypeManager
of the current workspace.
getMixinNodeTypes
in interface Node
RepositoryException
- if an error occurspublic NodeType getPrimaryNodeType() throws RepositoryException
The default implementation uses the value of the
jcr:primaryType
property to look up the primary
node type from the NodeTypeManager
of the current workspace.
getPrimaryNodeType
in interface Node
RepositoryException
- if an error occurspublic Property getProperty(String relPath) throws PathNotFoundException, RepositoryException
The default implementation looks up the parent node of the given relative path and iterates through the properties of that node to find and return the identified property.
getProperty
in interface Node
relPath
- relative path of the property
PathNotFoundException
- if the property is not found
RepositoryException
- if an error occurspublic String getUUID() throws UnsupportedRepositoryOperationException, RepositoryException
The default implementation checks if this node is referenceable (i.e. of
type mix:referenceable
) and returns the contents of the
jcr:uuid
property if it is.
getUUID
in interface Node
UnsupportedRepositoryOperationException
- if this node is not referenceable
RepositoryException
- if an error occurspublic VersionHistory getVersionHistory() throws RepositoryException
The default implementation returns the containing version history of the base version of this node.
getVersionHistory
in interface Node
RepositoryException
- if an error occurspublic boolean hasNode(String relPath) throws RepositoryException
The default implementation looks up the node using
Node.getNode(String)
and returns true
if
a PathNotFoundException
is not thrown.
hasNode
in interface Node
relPath
- relative path
true
if a node exists at the given path,
false
otherwise
RepositoryException
- if an error occurspublic boolean hasNodes() throws RepositoryException
The default implementation calls Node.getNodes()
and returns
true
iff returned iterator has at least one element.
hasNodes
in interface Node
true
if this node has child nodes,
false
otherwise
RepositoryException
- if an error occurspublic boolean hasProperties() throws RepositoryException
The default implementation calls Node.getProperties()
and
returns true
iff returned iterator has at least one element.
Note that in normal circumstances (i.e. no weird access controls) this
method will always return true
since all nodes always have
at least the jcr:primaryType
property.
hasProperties
in interface Node
true
if this node has properties,
false
otherwise
RepositoryException
- if an error occurspublic boolean hasProperty(String relPath) throws RepositoryException
The default implementation looks up the property using
Node.getProperty(String)
and returns true
if
a PathNotFoundException
is not thrown.
hasProperty
in interface Node
relPath
- relative path
true
if a property exists at the given path,
false
otherwise
RepositoryException
- if an error occurspublic boolean holdsLock() throws RepositoryException
The default implementation calls Node.getLock()
and returns
true
iff the holding node of the lock is the same as this
node.
holdsLock
in interface Node
true
if this node holds a lock,
false
otherwise
RepositoryException
- if an error occurspublic boolean isCheckedOut() throws RepositoryException
The default implementation checks the jcr:isCheckedOut
property if this node is versionable, and recursively calls this method
on the parent node if this node is not versionable. A non-versionable
root node always returns true
from this method.
isCheckedOut
in interface Node
true
if this node is checked out,
false
otherwise
RepositoryException
- if an error occurspublic boolean isLocked() throws RepositoryException
The default implementation calls Node.getLock()
and returns
true
iff a LockException
is not thrown.
isLocked
in interface Node
true
if this node is locked,
false
otherwise
RepositoryException
- if an error occurspublic boolean isNodeType(String name) throws RepositoryException
The default implementation iterates through the primary and mixin
types and all the supertypes of this node, returning true
if a type with the given name is encountered. Returns false
if none of the types matches.
isNodeType
in interface Node
name
- type name
true
if this node is of the given type,
false
otherwise
RepositoryException
- if an error occurspublic void restore(String versionName, boolean removeExisting) throws RepositoryException
The default implement retrieves the named Version
from the
associated VersionHistory
and forwards the call to the
Node.restore(Version, boolean)
method.
restore
in interface Node
versionName
- version nameremoveExisting
- passed through
RepositoryException
- if an error occurspublic void restore(Version version, boolean removeExisting) throws RepositoryException
The default implementation forwards the call to the
Node.restore(Version, String, boolean)
method using the
relative path ".".
restore
in interface Node
version
- passed throughremoveExisting
- passed through
RepositoryException
- if an error occurspublic void restoreByLabel(String versionLabel, boolean removeExisting) throws RepositoryException
The default implement retrieves the labeled Version
from the
associated VersionHistory
and forwards the call to the
Node.restore(Version, boolean)
method.
restoreByLabel
in interface Node
versionLabel
- version labelremoveExisting
- passed through
RepositoryException
- if an error occurspublic Property setProperty(String name, String[] strings) throws RepositoryException
The default implementation uses the ValueFactory
of the
current Session
to create a Value
instances from
the given string values and forwards the call to the
Node.setProperty(String, Value[])
method.
setProperty
in interface Node
name
- property namestrings
- string values
RepositoryException
- if an error occurspublic Property setProperty(String name, String value) throws RepositoryException
The default implementation uses the ValueFactory
of the
current Session
to create a Value
instance from
the given string value and forwards the call to the
Node.setProperty(String, Value)
method.
setProperty
in interface Node
name
- property namevalue
- string value
RepositoryException
- if an error occurspublic Property setProperty(String name, InputStream value) throws RepositoryException
The default implementation uses the ValueFactory
of the
current Session
to create a Value
instance from
the given binary value and forwards the call to the
Node.setProperty(String, Value)
method.
setProperty
in interface Node
name
- property namevalue
- binary value
RepositoryException
- if an error occurspublic Property setProperty(String name, boolean value) throws RepositoryException
The default implementation uses the ValueFactory
of the
current Session
to create a Value
instance from
the given boolean value and forwards the call to the
Node.setProperty(String, Value)
method.
setProperty
in interface Node
name
- property namevalue
- boolean value
RepositoryException
- if an error occurspublic Property setProperty(String name, double value) throws RepositoryException
The default implementation uses the ValueFactory
of the
current Session
to create a Value
instance from
the given double value and forwards the call to the
Node.setProperty(String, Value)
method.
setProperty
in interface Node
name
- property namevalue
- double value
RepositoryException
- if an error occurspublic Property setProperty(String name, long value) throws RepositoryException
The default implementation uses the ValueFactory
of the
current Session
to create a Value
instance from
the given long value and forwards the call to the
Node.setProperty(String, Value)
method.
setProperty
in interface Node
name
- property namevalue
- long value
RepositoryException
- if an error occurspublic Property setProperty(String name, Calendar value) throws RepositoryException
The default implementation uses the ValueFactory
of the
current Session
to create a Value
instance from
the given date value and forwards the call to the
Node.setProperty(String, Value)
method.
setProperty
in interface Node
name
- property namevalue
- date value
RepositoryException
- if an error occurspublic Property setProperty(String name, Node value) throws RepositoryException
The default implementation uses the ValueFactory
of the
current Session
to create a Value
instance from
the given reference value and forwards the call to the
Node.setProperty(String, Value)
method.
setProperty
in interface Node
name
- property namevalue
- reference value
RepositoryException
- if an error occurspublic Property setProperty(String name, Value value, int type) throws RepositoryException
The default implementation uses the ValueFactory
of the
current Session
to convert the given value to the given
type and forwards the call to the
Node.setProperty(String, Value)
method.
setProperty
in interface Node
name
- property namevalue
- property valuetype
- property type
RepositoryException
- if an error occurspublic Property setProperty(String name, Value[] values, int type) throws RepositoryException
The default implementation uses the ValueFactory
of the
current Session
to convert the given values to the given
type and forwards the call to the
Node.setProperty(String, Value[])
method.
setProperty
in interface Node
name
- property namevalues
- property valuestype
- property type
RepositoryException
- if an error occurspublic Property setProperty(String name, String[] strings, int type) throws RepositoryException
The default implementation uses the ValueFactory
of the
current Session
to create Value
instances of the
given type from the given string values and forwards the call to the
Node.setProperty(String, Value[])
method.
setProperty
in interface Node
name
- property namestrings
- string valuestype
- property type
RepositoryException
- if an error occurspublic Property setProperty(String name, String value, int type) throws RepositoryException
The default implementation uses the ValueFactory
of the
current Session
to create a Value
instance of the
given type from the given string value and forwards the call to the
Node.setProperty(String, Value)
method.
setProperty
in interface Node
name
- property namevalue
- string valuetype
- property type
RepositoryException
- if an error occurs
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |