|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Node
The Node
interface represents a node in a workspace.
Field Summary | |
---|---|
static java.lang.String |
JCR_CHILD_NODE_DEFINITION
A constant for the node name jcr:childNodeDefinition
declared in nt:nodeType . |
static java.lang.String |
JCR_CONTENT
A constant for the JCR name jcr:content . |
static java.lang.String |
JCR_FROZEN_NODE
A constant for the node name jcr:frozenNode declared in
nt:version . |
static java.lang.String |
JCR_PROPERTY_DEFINITION
A constant for the node name jcr:propertyDefinition declared
in nt:nodeType . |
static java.lang.String |
JCR_ROOT_VERSION
A constant for the node name jcr:rootVersion declared in
nt:versionHistory . |
static java.lang.String |
JCR_VERSION_LABELS
A constant for the node name jcr:versionLabels declared in
nt:versionHistory . |
Method Summary | |
---|---|
void |
addMixin(java.lang.String mixinName)
Adds the mixin node type named mixinName to this node. |
Node |
addNode(java.lang.String relPath)
Creates a new node at relPath . |
Node |
addNode(java.lang.String relPath,
java.lang.String primaryNodeTypeName)
Creates a new node at relPath of the specified node type. |
boolean |
canAddMixin(java.lang.String mixinName)
Returns true if calling addMixin(java.lang.String) on this node
with the mixn node type mixinName will not fail. |
void |
cancelMerge(Version version)
Deprecated. As of JCR 2.0, VersionManager.cancelMerge(java.lang.String, javax.jcr.version.Version)
should be used instead. |
Version |
checkin()
Deprecated. As of JCR 2.0, VersionManager.checkin(java.lang.String)
should be used instead. |
void |
checkout()
Deprecated. As of JCR 2.0, VersionManager.checkout(java.lang.String)
should be used instead. |
void |
doneMerge(Version version)
Deprecated. As of JCR 2.0, VersionManager.doneMerge(java.lang.String, javax.jcr.version.Version)
should be used instead. |
void |
followLifecycleTransition(java.lang.String transition)
Causes the lifecycle state of this node to undergo the specified transition . |
java.lang.String[] |
getAllowedLifecycleTransistions()
Returns the list of valid state transitions for this node. |
Version |
getBaseVersion()
Deprecated. As of JCR 2.0, VersionManager.getBaseVersion(java.lang.String)
should be used instead. |
java.lang.String |
getCorrespondingNodePath(java.lang.String workspaceName)
Returns the absolute path of the node in the specified workspace that corresponds to this node. |
NodeDefinition |
getDefinition()
Returns the node definition that applies to this node. |
java.lang.String |
getIdentifier()
Returns the identifier of this node. |
int |
getIndex()
This method returns the index of this node within the ordered set of its same-name sibling nodes. |
Lock |
getLock()
Deprecated. As of JCR 2.0, LockManager.getLock(String) should be
used instead. |
NodeType[] |
getMixinNodeTypes()
Returns an array of NodeType objects representing the mixin
node types in effect for this node. |
Node |
getNode(java.lang.String relPath)
Returns the node at relPath relative to this node. |
NodeIterator |
getNodes()
Returns all child nodes of this node accessible through the current Session . |
NodeIterator |
getNodes(java.lang.String namePattern)
Gets all child nodes of this node accessible through the current Session that match namePattern . |
NodeIterator |
getNodes(java.lang.String[] nameGlobs)
Gets all child nodes of this node accessible through the current Session that match one or more of the nameGlob
strings in the passed array. |
Item |
getPrimaryItem()
Returns the primary child item of this node. |
NodeType |
getPrimaryNodeType()
Returns the primary node type in effect for this node. |
PropertyIterator |
getProperties()
Returns all properties of this node accessible through the current Session . |
PropertyIterator |
getProperties(java.lang.String namePattern)
Gets all properties of this node accessible through the current Session that match namePattern . |
PropertyIterator |
getProperties(java.lang.String[] nameGlobs)
Gets all properties of this node accessible through the current Session that match one or more of the nameGlob
strings in the passed array. |
Property |
getProperty(java.lang.String relPath)
Returns the property at relPath relative to
this node. |
PropertyIterator |
getReferences()
This method returns all REFERENCE properties that refer to
this node and that are accessible through the current
Session . |
PropertyIterator |
getReferences(java.lang.String name)
This method returns all REFERENCE properties that refer to
this node, have the specified name and that are accessible
through the current Session . |
NodeIterator |
getSharedSet()
Returns an iterator over all nodes that are in the shared set of this node. |
java.lang.String |
getUUID()
Deprecated. As of JCR 2.0, getIdentifier() should be used
instead. |
VersionHistory |
getVersionHistory()
Deprecated. As of JCR 2.0, VersionManager.getVersionHistory(java.lang.String)
should be used instead. |
PropertyIterator |
getWeakReferences()
This method returns all WEAKREFERENCE properties that refer
to this node and that are accessible through the current
Session . |
PropertyIterator |
getWeakReferences(java.lang.String name)
This method returns all WEAKREFERENCE properties that refer
to this node, have the specified name and that are
accessible through the current Session . |
boolean |
hasNode(java.lang.String relPath)
Indicates whether a node exists at relPath Returns
true if a node accessible through the current
Session exists at relPath and
false otherwise. |
boolean |
hasNodes()
Indicates whether this node has child nodes. |
boolean |
hasProperties()
Indicates whether this node has properties. |
boolean |
hasProperty(java.lang.String relPath)
Indicates whether a property exists at relPath Returns
true if a property accessible through the current
Session exists at relPath and
false otherwise. |
boolean |
holdsLock()
Deprecated. As of JCR 2.0, LockManager.holdsLock(String) should
be used instead. |
boolean |
isCheckedOut()
Returns false if this node is currently in the checked-in state
(either due to its own status as a versionable node or due to the effect of
a versionable node being checked in above it). |
boolean |
isLocked()
Returns true if this node is locked either as a result of a
lock held by this node or by a deep lock on a node above this node;
otherwise returns false . |
boolean |
isNodeType(java.lang.String nodeTypeName)
Returns true if this node is of the specified primary node
type or mixin type, or a subtype thereof. |
Lock |
lock(boolean isDeep,
boolean isSessionScoped)
Deprecated. As of JCR 2.0, LockManager.lock(String, boolean,
boolean, long, String) should be used instead. |
NodeIterator |
merge(java.lang.String srcWorkspace,
boolean bestEffort)
Deprecated. As of JCR 2.0, VersionManager.merge(java.lang.String, java.lang.String, boolean)
should be used instead. |
void |
orderBefore(java.lang.String srcChildRelPath,
java.lang.String destChildRelPath)
If this node supports child node ordering, this method inserts the child node at srcChildRelPath into the child node list at the
position immediately the child node at destChildRelPath . |
void |
removeMixin(java.lang.String mixinName)
Removes the specified mixin node type from this node and removes mixinName from this node's jcr:mixinTypes
property. |
void |
removeShare()
Removes this node, but does not remove any other node in the shared set of this node. |
void |
removeSharedSet()
Removes this node and every other node in the shared set of this node. |
void |
restore(java.lang.String versionName,
boolean removeExisting)
Deprecated. As of JCR 2.0, VersionManager.restore(javax.jcr.version.Version[], boolean)
should be used instead. |
void |
restore(Version version,
boolean removeExisting)
Deprecated. As of JCR 2.0, VersionManager.restore(javax.jcr.version.Version[], boolean)
should be used instead. |
void |
restore(Version version,
java.lang.String relPath,
boolean removeExisting)
Deprecated. As of JCR 2.0, VersionManager.restore(javax.jcr.version.Version[], boolean)
should be used instead. |
void |
restoreByLabel(java.lang.String versionLabel,
boolean removeExisting)
Deprecated. As of JCR 2.0, VersionManager.restoreByLabel(java.lang.String, java.lang.String, boolean)
should be used instead. |
void |
setPrimaryType(java.lang.String nodeTypeName)
Changes the primary node type of this node to nodeTypeName . |
Property |
setProperty(java.lang.String name,
java.math.BigDecimal value)
The behavior of this method is identical to that of setProperty(String name, Value value) except that the value is
specified as a BigDecimal and, if possible, the type assigned to
the property is DECIMAL , otherwise a best-effort conversion
is attempted. |
Property |
setProperty(java.lang.String name,
Binary value)
The behavior of this method is identical to that of setProperty(String name, Value value) except that the value is
specified as a Binary and, if possible, the type assigned to the
property is BINARY , otherwise a best-effort conversion is
attempted. |
Property |
setProperty(java.lang.String name,
boolean value)
The behavior of this method is identical to that of setProperty(String name, Value value) except that the value is
specified as a boolean and, if possible, the type assigned
to the property is BOOLEAN , otherwise a best-effort
conversion is attempted. |
Property |
setProperty(java.lang.String name,
java.util.Calendar value)
The behavior of this method is identical to that of setProperty(String name, Value value) except that the value is
specified as a Calendar and, if possible, the type assigned to
the property is DATE , otherwise a best-effort conversion is
attempted. |
Property |
setProperty(java.lang.String name,
double value)
The behavior of this method is identical to that of setProperty(String name, Value value) except that the value is
specified as a double and, if possible, the type assigned to
the property is DOUBLE , otherwise a best-effort conversion
is attempted. |
Property |
setProperty(java.lang.String name,
java.io.InputStream value)
Deprecated. As of JCR 2.0, setProperty(String, Binary) should be
used instead. |
Property |
setProperty(java.lang.String name,
long value)
The behavior of this method is identical to that of setProperty(String name, Value value) except that the value is
specified as a long and, if possible, the type assigned to
the property is LONG , otherwise a best-effort conversion is
attempted. |
Property |
setProperty(java.lang.String name,
Node value)
The behavior of this method is identical to that of setProperty(String name, Value value) except that the value is
specified as a Node and, if possible, the type assigned to the
property is REFERENCE or WEAKREFERENCE ,
otherwise a best-effort conversion is attempted. |
Property |
setProperty(java.lang.String name,
java.lang.String value)
Sets the specified single-value property to the specified value. |
Property |
setProperty(java.lang.String name,
java.lang.String[] values)
Sets the specified property to the specified array of values. |
Property |
setProperty(java.lang.String name,
java.lang.String[] values,
int type)
Sets the specified property to the specified array of values and to the specified type. |
Property |
setProperty(java.lang.String name,
java.lang.String value,
int type)
Sets the specified single-value property to the specified value. |
Property |
setProperty(java.lang.String name,
Value value)
Sets the single-value property of this node called name to
the specified value . |
Property |
setProperty(java.lang.String name,
Value[] values)
Sets the multi-value property of this node called name to
the specified array of values. |
Property |
setProperty(java.lang.String name,
Value[] values,
int type)
Sets the multi-value property of this node called name to
the specified array of values. |
Property |
setProperty(java.lang.String name,
Value value,
int type)
Sets the single-value property of this node called name to
the specified value and the specified type . |
void |
unlock()
Deprecated. As of JCR 2.0, LockManager.unlock(String) should be
used instead. |
void |
update(java.lang.String srcWorkspace)
If this node does have a corresponding node in the workspace srcWorkspace , then this replaces this node and its subgraph
with a clone of the corresponding node and its subgraph. |
Methods inherited from interface javax.jcr.Item |
---|
accept, getAncestor, getDepth, getName, getParent, getPath, getSession, isModified, isNew, isNode, isSame, refresh, remove, save |
Field Detail |
---|
static final java.lang.String JCR_CONTENT
jcr:content
. This is the name of
a child node declared in nt:file
and a property
declared in nt:linkedFile
.
static final java.lang.String JCR_PROPERTY_DEFINITION
jcr:propertyDefinition
declared
in nt:nodeType
.
static final java.lang.String JCR_CHILD_NODE_DEFINITION
jcr:childNodeDefinition
declared in nt:nodeType
.
static final java.lang.String JCR_ROOT_VERSION
jcr:rootVersion
declared in
nt:versionHistory
.
static final java.lang.String JCR_VERSION_LABELS
jcr:versionLabels
declared in
nt:versionHistory
.
static final java.lang.String JCR_FROZEN_NODE
jcr:frozenNode
declared in
nt:version
.
Method Detail |
---|
Node addNode(java.lang.String relPath) throws ItemExistsException, PathNotFoundException, VersionException, ConstraintViolationException, LockException, RepositoryException
relPath
.
This is session-write method, meaning that the addition of the new
node is dispatch upon Session.save()
.
The relPath
provided must not have an index on its final
element, otherwise a Repository
If ordering is supported by the node type of the parent node of the new node then the new node is appended to the end of the child node list.
The new node's primary node type will be determined by the child node definitions in the node types of its parent. This may occur either immediately, on dispatch (save, whether within or without transactions) or on persist (save without transactions, commit within a transaction), depending on the implementation.
An ItemExistsException
will be thrown either immediately, on
dispatch (save, whether within or without transactions) or on persist
(save without transactions, commit within a transaction), if an item at
the specified path already exists and same-name siblings are not allowed.
Implementations may differ on when this validation is performed.
A PathNotFoundException
will be thrown either immediately,
on dispatch (save, whether within or without transactions) or on persist
(save without transactions, commit within a transaction), if the
specified path implies intermediary nodes that do not exist.
Implementations may differ on when this validation is performed.
A ConstraintViolationException
will be thrown either
immediately, on dispatch (save, whether within or without transactions)
or on persist (save without transactions, commit within a transaction),
if adding the node would violate a node type or implementation-specific
constraint or if an attempt is made to add a node as the child of a
property. Implementations may differ on when this validation is
performed.
A VersionException
will be thrown either immediately, on
dispatch (save, whether within or without transactions) or on persist
(save without transactions, commit within a transaction), if the node to
which the new child is being added is read-only due to a checked-in node.
Implementations may differ on when this validation is performed.
A LockException
will be thrown either immediately, on
dispatch (save, whether within or without transactions) or on persist
(save without transactions, commit within a transaction), if a lock
prevents the addition of the node. Implementations may differ on when
this validation is performed.
relPath
- The path of the new node to be created.
ItemExistsException
- if an item at the specified path already
exists, same-name siblings are not allowed and this implementation
performs this validation immediately.
PathNotFoundException
- if the specified path implies intermediary
Node
s that do not exist or the last element of
relPath
has an index, and this implementation performs this
validation immediately.
ConstraintViolationException
- if a node type or
implementation-specific constraint is violated or if an attempt is made
to add a node as the child of a property and this implementation performs
this validation immediately.
VersionException
- if the node to which the new child is being
added is read-only due to a checked-in node and this implementation
performs this validation immediately.
LockException
- if a lock prevents the addition of the node and
this implementation performs this validation immediately.
RepositoryException
- If the last element of relPath
has an index or if another error occurs.Node addNode(java.lang.String relPath, java.lang.String primaryNodeTypeName) throws ItemExistsException, PathNotFoundException, NoSuchNodeTypeException, LockException, VersionException, ConstraintViolationException, RepositoryException
relPath
of the specified node type.
The behavior of this method is identical to addNode(String
relPath)
except that the primary node type of the new node is explicitly
specified.
relPath
- the path of the new node to be created.primaryNodeTypeName
- The name of the primary node type of the new
node.
ItemExistsException
- if an item at the specified path already
exists, same-name siblings are not allowed and this implementation
performs this validation immediately instead of waiting until
save
.
PathNotFoundException
- if the specified path implies intermediary
Node
s that do not exist or the last element of
relPath
has an index, and this implementation performs this
validation immediately instead of waiting until save
.
NoSuchNodeTypeException
- if the specified node type is not
recognized and this implementation performs this validation immediately
instead of waiting until save
.
ConstraintViolationException
- if a node type or
implementation-specific constraint is violated or if an attempt is made
to add a node as the child of a property and this implementation performs
this validation immediately instead of waiting until save
.
VersionException
- if the node to which the new child is being
added is read-only due to a checked-in node and this implementation
performs this validation immediately instead of waiting until
save
.
LockException
- if a lock prevents the addition of the node and
this implementation performs this validation immediately instead of
waiting until save
.
RepositoryException
- if the last element of relPath
has an index or if another error occurs.void orderBefore(java.lang.String srcChildRelPath, java.lang.String destChildRelPath) throws UnsupportedRepositoryOperationException, VersionException, ConstraintViolationException, ItemNotFoundException, LockException, RepositoryException
srcChildRelPath
into the child node list at the
position immediately the child node at destChildRelPath
.
To place the node srcChildRelPath
at the end of the list, a
destChildRelPath
of null
is used.
Note that (apart from the case where destChildRelPath
is
null
) both of these arguments must be relative paths of
depth one, in other words they are the names of the child nodes, possibly
suffixed with an index.
If srcChildRelPath
and destChildRelPath
are the
same, then no change is made.
This is session-write method, meaning that a change made by this method
is dispatched on save
A ConstraintViolationException
will be thrown either
immediately, on dispatch (save whether within or without transactions) or
on persist (save without transactions, commit within a transaction), if
this operation would violate a node type or implementation-specific
constraint. Implementations may differ on when this validation is
performed.
A VersionException
will be thrown either immediately, on
dispatch (save whether within or without transactions) or on persist
(save without transactions, commit within a transaction), if this node is
read-only due to it or a node above it being checked-in Implementations
may differ on when this validation is performed.
A LockException
will be thrown either immediately (by this
method), or on save
, if a lock prevents the re-ordering.
Implementations may differ on when this validation is performed.
srcChildRelPath
- the relative path to the child node (that is, name
plus possible index) to be moved in the orderingdestChildRelPath
- the the relative path to the child node (that is,
name plus possible index) before which the node srcChildRelPath
will be placed.
UnsupportedRepositoryOperationException
- if ordering is not
supported on this node.
ConstraintViolationException
- if an implementation-specific
ordering restriction is violated and this implementation performs this
validation immediately.
ItemNotFoundException
- if either parameter is not the relative
path of a child node of this node.
VersionException
- if this node is read-only due to a checked-in
node and this implementation performs this validation immediately.
LockException
- if a lock prevents the re-ordering and this
implementation performs this validation immediately.
RepositoryException
- if another error occurs.Property setProperty(java.lang.String name, Value value) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
name
to
the specified value
.
If the property does not yet exist, it is created and its property type
determined by the by the node type of this node. If, based on the
name
and value
passed, there is more than one
property definition that applies, the repository chooses one definition
according to some implementation-specific criteria. Once a property with
name P
has been created, the behavior of a subsequent
setProperty(P,V)
may differ across implementations. Some
repositories may allow P
to be dynamically re-bound to a
different property definition (based for example, on the new value being
of a different type than the original value) while other repositories may
not allow such dynamic re-binding.
If the property type of the supplied Value
object is
different from that required, then a best-effort conversion is
attempted.
If the node type of this node does not indicate a specific property type,
then the property type of the supplied Value
object is used
and if the property already exists it assumes both the new value and new
property type.
Passing a null
as the second parameter removes the property.
It is equivalent to calling remove
on the
Property
object itself.
This is a session-write method, meaning that changes made through this
method are dispatched on Session.save()
.
A ConstraintViolationException
will be thrown either
immediately, on dispatch (save whether within or without transactions) or
on persist (save without transactions, commit within a transaction), if
the change would violate a node type or implementation-specific
constraint. Implementations may differ on when this validation is
performed.
A VersionException
will be thrown either immediately, on
dispatch (save whether within or without transactions) or on persist
(save without transactions, commit within a transaction), if this node is
read-only due to a checked-in node. Implementations may differ on when
this validation is performed.
A LockException
will be thrown either immediately, on
dispatch (save whether within or without transactions) or on persist
(save without transactions, commit within a transaction), if a lock
prevents the setting of the property. Implementations may differ on when
this validation is performed.
name
- The name of a property of this nodevalue
- The value to be assigned
Property
object
ValueFormatException
- if the specified property is a
DATE
but the value
cannot be expressed in the
ISO 8601-based format defined in the JCR 2.0 specification and the
implementation does not support dates incompatible with that format or if
value
cannot be converted to the type of the specified
property or if the property already exists and is multi-valued.
VersionException
- if this node is read-only due to a checked-in
node and this implementation performs this validation immediately.
LockException
- if a lock prevents the setting of the property and
this implementation performs this validation immediately.
ConstraintViolationException
- if the change would violate a
node-type or other constraint and this implementation performs this
validation immediately.
RepositoryException
- if another error occurs.Property setProperty(java.lang.String name, Value value, int type) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
name
to
the specified value
and the specified type
.
The behavior of this method is identical to that of setProperty(String name, Value value)
except that the intended property
type is explicitly specified.
If the property does not yet exist, it is created. If the property already exists it assumes both the new value and the new property type.
name
- the name of the property to be set.value
- a Value
object.type
- the type of the property.
Property
object set, or null
if
this method was used to remove a property (by setting its value
to null
).
ValueFormatException
- if value
cannot be converted to
the specified type or if the property already exists and is
multi-valued.
VersionException
- if this node is read-only due to a checked-in
node and this implementation performs this validation immediately.
LockException
- if a lock prevents the setting of the property and
this implementation performs this validation immediately.
ConstraintViolationException
- if the change would violate a
node-type or other constraint and this implementation performs this
validation immediately.
RepositoryException
- if another error occurs.Property setProperty(java.lang.String name, Value[] values) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
name
to
the specified array of values.
If the property does not yet exist, it is created.
The behavior of this method is identical to that of setProperty(String name, Value value)
except that an array of
Value
objects is assigned instead of a single
Value
.
The property type of the property will be that specified by the node type
of this node. If the property type of one or more of the supplied
Value
objects is different from that required, then a
best-effort conversion is attempted, according to an
implemention-dependent definition of "best effort". If the conversion
fails, a ValueFormatException
is thrown.
If the property is not multi-valued then a ValueFormatException
is also thrown. If another error occurs, a RepositoryException
is thrown.
If the node type of this node does not indicate a specific property type,
then the property type of the supplied Value
objects is used
and if the property already exists it assumes both the new values and the
new property type.
Passing a null
as the second parameter removes the property.
It is equivalent to calling remove
on the
Property
object itself. Note that this is different from
passing an array that contains null
elements. In such a
case, the array is compacted by removing the null
values.
The resulting set of values never contains a null. However, the set may
be empty: N.setProperty("P", new Value[]{null})
would set
the property to the empty set of values.
name
- the name of the property to be set.values
- an array of Value
objects.
Property
object.
ValueFormatException
- if value
cannot be converted to
the type of the specified property or if the property already exists and
is not multi-valued.
VersionException
- if this node is read-only due to a checked-in
node and this implementation performs this validation immediately.
LockException
- if a lock prevents the setting of the property and
this implementation performs this validation immediately.
ConstraintViolationException
- if the change would violate a
node-type or other constraint and this implementation performs this
validation immediately.
RepositoryException
- if another error occurs.Property setProperty(java.lang.String name, Value[] values, int type) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
name
to
the specified array of values.
The behavior of this method is identical to that of setProperty(String name, Value[] values)
except that the type of the
property is explicitly specified.
If the property does not yet exist, it is created. The type of the
property is determined by the type
parameter specified.
If the property type of one or more of the supplied Value
objects is different from that specified, then a best-effort conversion
is attempted, according to an implemention-dependent definition of "best
effort". If the conversion fails, a ValueFormatException
is
thrown.
If the property already exists it assumes both the new values and the new property type.
name
- the name of the property to be set.values
- an array of Value
objects.type
- the type of the property.
Property
object.
ValueFormatException
- if a value cannot be converted to the
specified type or if the property already exists and is not
multi-valued.
VersionException
- if this node is read-only due to a checked-in
node and this implementation performs this validation immediately.
LockException
- if a lock prevents the setting of the property and
this implementation performs this validation immediately.
ConstraintViolationException
- if the change would violate a
node-type or other constraint and this implementation performs this
validation immediately.
RepositoryException
- if another error occurs.Property setProperty(java.lang.String name, java.lang.String[] values) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
setProperty(String name, Value[] values)
except that the values
are specified as String
objects instead of
Value
objects.
name
- the name of the property to be set.values
- an array of Value
objects.
Property
object.
ValueFormatException
- if a value cannot be converted to the type
of the specified property or if the property already exists and is not
multi-valued.
VersionException
- if this node is read-only due to a checked-in
node and this implementation performs this validation immediately.
LockException
- if a lock prevents the setting of the property and
this implementation performs this validation immediately.
ConstraintViolationException
- if the change would violate a
node-type or other constraint and this implementation performs this
validation immediately.
RepositoryException
- if another error occurs.Property setProperty(java.lang.String name, java.lang.String[] values, int type) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
setProperty(String name, Value[] values,
int type)
except that the values are specified as String
objects instead of Value
objects.
name
- the name of the property to be set.values
- an array of Value
objects.type
- the type of the property.
Property
object.
ValueFormatException
- if a value cannot be converted to the
specified type or if the property already exists and is not
multi-valued.
VersionException
- if this node is read-only due to a checked-in
node and this implementation performs this validation immediately.
LockException
- if a lock prevents the setting of the property and
this implementation performs this validation immediately.
ConstraintViolationException
- if the change would violate a
node-type or other constraint and this implementation performs this
validation immediately.
RepositoryException
- if another error occurs.Property setProperty(java.lang.String name, java.lang.String value) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
setProperty(String name, Value value)
except that the value is
specified as a String
. and, if possible, the type assigned
to the property is STRING
, otherwise a best-effort
conversion is attempted.
name
- The name of a property of this nodevalue
- The value to assigned
Property
object
ValueFormatException
- if value
cannot be converted to
the type of the specified property or if the property already exists and
is multi-valued.
VersionException
- if this node is read-only due to a checked-in
node and this implementation performs this validation immediately.
LockException
- if a lock prevents the setting of the property and
this implementation performs this validation immediately.
ConstraintViolationException
- if the change would violate a
node-type or other constraint and this implementation performs this
validation immediately.
RepositoryException
- if another error occurs.Property setProperty(java.lang.String name, java.lang.String value, int type) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
The behavior of this method is identical to that of setProperty(String name, String value)
except that the intended type of
the property is explicitly specified by the type
parameter.
name
- the name of the property to be set.value
- a String
object.type
- the type of the property.
Property
object set, or null
if
this method was used to remove a property (by setting its value
to null
).
ValueFormatException
- if value
cannot be converted to
the specified type or if the property already exists and is
multi-valued.
VersionException
- if this node is read-only due to a checked-in
node and this implementation performs this validation immediately.
LockException
- if a lock prevents the setting of the property and
this implementation performs this validation immediately.
ConstraintViolationException
- if the change would violate a
node-type or other constraint and this implementation performs this
validation immediately.
RepositoryException
- if another error occurs.Property setProperty(java.lang.String name, java.io.InputStream value) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
setProperty(String, Binary)
should be
used instead.
setProperty(String name, Value value)
except that the value is
specified as a InputStream
and, if possible, the type assigned to
the property is BINARY
, otherwise a best-effort conversion
is attempted.
The passed stream is closed before this method returns either normally or because of an exception.
name
- The name of a property of this nodevalue
- The value to assigned
Property
object
ValueFormatException
- if value
cannot be converted to
the type of the specified property or if the property already exists and
is multi-valued.
VersionException
- if this node is read-only due to a checked-in
node and this implementation performs this validation immediately.
LockException
- if a lock prevents the setting of the property and
this implementation performs this validation immediately.
ConstraintViolationException
- if the change would violate a
node-type or other constraint and this implementation performs this
validation immediately.
RepositoryException
- if another error occurs.Property setProperty(java.lang.String name, Binary value) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
setProperty(String name, Value value)
except that the value is
specified as a Binary
and, if possible, the type assigned to the
property is BINARY
, otherwise a best-effort conversion is
attempted.
name
- The name of a property of this nodevalue
- The value to assigned
Property
object
ValueFormatException
- if value
cannot be converted to
the type of the specified property or if the property already exists and
is multi-valued.
VersionException
- if this node is read-only due to a checked-in
node and this implementation performs this validation immediately.
LockException
- if a lock prevents the setting of the property and
this implementation performs this validation immediately.
ConstraintViolationException
- if the change would violate a
node-type or other constraint and this implementation performs this
validation immediately.
RepositoryException
- if another error occurs.Property setProperty(java.lang.String name, boolean value) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
setProperty(String name, Value value)
except that the value is
specified as a boolean
and, if possible, the type assigned
to the property is BOOLEAN
, otherwise a best-effort
conversion is attempted.
name
- The name of a property of this nodevalue
- The value to assigned
Property
object
ValueFormatException
- if value
cannot be converted to
the type of the specified property or if the property already exists and
is multi-valued.
VersionException
- if this node is read-only due to a checked-in
node and this implementation performs this validation immediately.
LockException
- if a lock prevents the setting of the property and
this implementation performs this validation immediately.
ConstraintViolationException
- if the change would violate a
node-type or other constraint and this implementation performs this
validation immediately.
RepositoryException
- if another error occurs.Property setProperty(java.lang.String name, double value) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
setProperty(String name, Value value)
except that the value is
specified as a double
and, if possible, the type assigned to
the property is DOUBLE
, otherwise a best-effort conversion
is attempted.
name
- The name of a property of this nodevalue
- The value to assigned
Property
object
ValueFormatException
- if value
cannot be converted to
the type of the specified property or if the property already exists and
is multi-valued.
VersionException
- if this node is read-only due to a checked-in
node and this implementation performs this validation immediately.
LockException
- if a lock prevents the setting of the property and
this implementation performs this validation immediately.
ConstraintViolationException
- if the change would violate a
node-type or other constraint and this implementation performs this
validation immediately.
RepositoryException
- if another error occurs.Property setProperty(java.lang.String name, java.math.BigDecimal value) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
setProperty(String name, Value value)
except that the value is
specified as a BigDecimal
and, if possible, the type assigned to
the property is DECIMAL
, otherwise a best-effort conversion
is attempted.
name
- The name of a property of this nodevalue
- The value to assigned
Property
object
ValueFormatException
- if value
cannot be converted to
the type of the specified property or if the property already exists and
is multi-valued.
VersionException
- if this node is read-only due to a checked-in
node and this implementation performs this validation immediately.
LockException
- if a lock prevents the setting of the property and
this implementation performs this validation immediately.
ConstraintViolationException
- if the change would violate a
node-type or other constraint and this implementation performs this
validation immediately.
RepositoryException
- if another error occurs.Property setProperty(java.lang.String name, long value) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
setProperty(String name, Value value)
except that the value is
specified as a long
and, if possible, the type assigned to
the property is LONG
, otherwise a best-effort conversion is
attempted.
name
- The name of a property of this nodevalue
- The value to assigned
Property
object
ValueFormatException
- if value
cannot be converted to
the type of the specified property or if the property already exists and
is multi-valued.
VersionException
- if this node is read-only due to a checked-in
node and this implementation performs this validation immediately.
LockException
- if a lock prevents the setting of the property and
this implementation performs this validation immediately.
ConstraintViolationException
- if the change would violate a
node-type or other constraint and this implementation performs this
validation immediately.
RepositoryException
- if another error occurs.Property setProperty(java.lang.String name, java.util.Calendar value) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
setProperty(String name, Value value)
except that the value is
specified as a Calendar
and, if possible, the type assigned to
the property is DATE
, otherwise a best-effort conversion is
attempted.
name
- The name of a property of this nodevalue
- The value to assigned
Property
object
ValueFormatException
- if the specified property is a
DATE
but the value
cannot be expressed in the
ISO 8601-based format defined in the JCR 2.0 specification (section
3.6.4.3) and the implementation does not support dates incompatible with
that format or if value
cannot be converted to the type of
the specified property or if the property already exists and is
multi-valued.
VersionException
- if this node is read-only due to a checked-in
node and this implementation performs this validation immediately.
LockException
- if a lock prevents the setting of the property and
this implementation performs this validation immediately.
ConstraintViolationException
- if the change would violate a
node-type or other constraint and this implementation performs this
validation immediately.
RepositoryException
- if another error occurs.Property setProperty(java.lang.String name, Node value) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
setProperty(String name, Value value)
except that the value is
specified as a Node
and, if possible, the type assigned to the
property is REFERENCE
or WEAKREFERENCE
,
otherwise a best-effort conversion is attempted.
The value to which the property is set is the identifier of the passed node.
If the named property does not yet exist and the repository cannot
determine whether a REFERENCE
or WEAKREFERENCE
property is intended, then a REFERENCE
property is created.
name
- The name of a property of this nodevalue
- The value to assigned
Property
object.
ValueFormatException
- if this property is not of type
REFERENCE
or WEAKREFERENCE
or the specified
node is not referenceable or if the specified property already exists and
is multi-valued.
VersionException
- if this node is read-only due to a checked-in
node and this implementation performs this validation immediately.
LockException
- if a lock prevents the setting of the property and
this implementation performs this validation immediately.
ConstraintViolationException
- if the change would violate a
node-type or other constraint and this implementation performs this
validation immediately.
RepositoryException
- if another error occurs.Node getNode(java.lang.String relPath) throws PathNotFoundException, RepositoryException
relPath
relative to this node.
If relPath
contains a path element that refers to a node
with same-name sibling nodes without explicitly including an index using
the array-style notation ([x]
), then the index [1] is
assumed (indexing of same name siblings begins at 1, not 0, in order to
preserve compatibility with XPath).
Within the scope of a single Session
object, if a
Node
object has been acquired, any subsequent call of
getNode
reacquiring the same node must return a
Node
object reflecting the same state as the earlier
Node
object. Whether this object is actually the same
Node
instance, or simply one wrapping the same state, is up
to the implementation.
relPath
- The relative path of the node to retrieve.
relPath
.
PathNotFoundException
- if no node exists at the specified path or
the current Session
does not read access to the node at the
specified path.
RepositoryException
- If another error occurs.NodeIterator getNodes() throws RepositoryException
Session
. Does not include properties of this
Node
. The same reacquisition semantics apply as with getNode(String)
. If this node has no accessible child nodes, then an
empty iterator is returned.
NodeIterator
over all child Node
s of
this Node
.
RepositoryException
- if an error occurs.NodeIterator getNodes(java.lang.String namePattern) throws RepositoryException
Session
that match namePattern
. The pattern may
be a full name or a partial name with one or more wildcard characters
("*
"), or a disjunction (using the "|
"
character to represent logical OR
) of these. For example,
N.getNodes("jcr:* | myapp:report | my doc")
would return a NodeIterator
holding all accessible child
nodes of N
that are either called 'myapp:report
',
begin with the prefix 'jcr:
' or are called 'my
doc
'.
The substrings within the pattern that are delimited by "|
"
characters and which may contain wildcard characters ("*
")
are called globs.
Note that leading and trailing whitespace around a glob is ignored, but whitespace within a disjunct forms part of the pattern to be matched.
The pattern is matched against the names (not the paths) of the immediate child nodes of this node.
If this node has no accessible matching child nodes, then an empty iterator is returned.
The same reacquisition semantics apply as with
.
getNode(String)
namePattern
- a name pattern.
NodeIterator
.
RepositoryException
- if an unexpected error occurs.NodeIterator getNodes(java.lang.String[] nameGlobs) throws RepositoryException
Session
that match one or more of the nameGlob
strings in the passed array.
A glob may be a full name or a partial name with one or more wildcard
characters ("*
"). For example,
N.getNodes(new String[] {"jcr:*", "myapp:report", "my
doc"})
would return a NodeIterator
holding all accessible child
nodes of N
that are either called 'myapp:report
',
begin with the prefix 'jcr:
' or are called 'my
doc
'.
Note that unlike in the case of the getNodes(String)
leading and
trailing whitespace around a glob is not ignored.
The globs are matched against the names (not the paths) of the immediate child nodes of this node.
If this node has no accessible matching child nodes, then an empty iterator is returned.
The same reacquisition semantics apply as with
.
getNode(String)
nameGlobs
- an array of globbing strings.
NodeIterator
.
RepositoryException
- if an unexpected error occurs.Property getProperty(java.lang.String relPath) throws PathNotFoundException, RepositoryException
relPath
relative to
this
node. The same reacquisition semantics apply as with
getNode(String)
.
relPath
- The relative path of the property to retrieve.
relPath
.
PathNotFoundException
- if no property exists at the specified path
or if the current
Session
does not have read access to the specified
property.
RepositoryException
- If another error occurs.PropertyIterator getProperties() throws RepositoryException
Session
. Does not include child nodes of this
node. The same reacquisition semantics apply as with getNode(String)
. If this node has no accessible properties, then
an empty iterator is returned.
PropertyIterator
.
RepositoryException
- if an error occurs.PropertyIterator getProperties(java.lang.String namePattern) throws RepositoryException
Session
that match namePattern
. The pattern may
be a full name or a partial name with one or more wildcard characters
("*
"), or a disjunction (using the "|
"
character to represent logical OR
) of these. For example,
N.getProperties("jcr:* | myapp:name | my doc")
would return a PropertyIterator
holding all accessible
properties of N
that are either called
'myapp:name
', begin with the prefix 'jcr:
' or
are called 'my doc
'.
The substrings within the pattern that are delimited by "|
"
characters and which may contain wildcard characters ("*
")
are called globs.
Note that leading and trailing whitespace around a glob is ignored, but whitespace within a disjunct forms part of the pattern to be matched.
The pattern is matched against the names (not the paths) of the immediate child properties of this node.
If this node has no accessible matching properties, then an empty iterator is returned.
The same reacquisition semantics apply as with
.
getNode(String)
namePattern
- a name pattern.
PropertyIterator
.
RepositoryException
- if an unexpected error occurs.PropertyIterator getProperties(java.lang.String[] nameGlobs) throws RepositoryException
Session
that match one or more of the nameGlob
strings in the passed array.
A glob may be a full name or a partial name with one or more wildcard
characters ("*
"). For example,
N.getProperties(new String[] {"jcr:*", "myapp:report", "my
doc"})
would return a PropertyIterator
holding all accessible
properties of N
that are either called
'myapp:report
', begin with the prefix 'jcr:
' or
are called 'my doc
'.
Note that unlike in the case of the getProperties(String)
leading and trailing whitespace around a glob is not ignored.
The globs are matched against the names (not the paths) of the properties of this node.
If this node has no accessible matching properties, then an empty iterator is returned.
The same reacquisition semantics apply as with
.
getProperty(String)
nameGlobs
- an array of globbing strings.
PropertyIterator
.
RepositoryException
- if an unexpected error occurs.Item getPrimaryItem() throws ItemNotFoundException, RepositoryException
In cases where the primary child item specifies the name of a set same-name sibling child nodes, the node returned will be the one among the same-name siblings with index [1].
The same reacquisition semantics apply as with
.
getNode(String)
ItemNotFoundException
- if this node does not have a primary child
item, either because none is declared in the node type or because a
declared primary item is not present on this node instance, or because
none is accessible through the current Session
.
RepositoryException
- if another error occurs.java.lang.String getUUID() throws UnsupportedRepositoryOperationException, RepositoryException
getIdentifier()
should be used
instead.
jcr:uuid
property. This method only works on nodes of mixin
node type mix:referenceable
.
On nonreferenceable nodes, this method throws an UnsupportedRepositoryOperationException
.
To avoid throwing an exception to determine whether a node has a UUID, a
call to isNodeType("mix:referenceable")
can
be made.
UnsupportedRepositoryOperationException
- if this node
nonreferenceable.
RepositoryException
- if another error occurs.java.lang.String getIdentifier() throws RepositoryException
A RepositoryException
is thrown if an error occurs.
RepositoryException
- if an error occurs.int getIndex() throws RepositoryException
/a[3]/b[4]
. Note that the index always starts at 1 (not 0),
for compatibility with XPath. As a result, for nodes that do not have
same-name-siblings, this method will always return 1.
RepositoryException
- if an error occurs.PropertyIterator getReferences() throws RepositoryException
REFERENCE
properties that refer to
this node and that are accessible through the current
Session
. Equivalent to Node.getReferences(null)
.
If this node has no referring REFERENCE
properties, an
empty iterator is returned. This includes the case where this node is not referenceable.
PropertyIterator
.
RepositoryException
- if an error occurs.getReferences(String).
PropertyIterator getReferences(java.lang.String name) throws RepositoryException
REFERENCE
properties that refer to
this node, have the specified name
and that are accessible
through the current Session
.
If the name
parameter is null
then all
referring REFERENCES
are returned regardless of name.
Some implementations may only return properties that have been persisted. Some may return both properties that have been persisted and those that have been dispatched but not persisted (for example, those saved within a transaction but not yet committed) while others implementations may return these two categories of property as well as properties that are still pending and not yet dispatched.
In implementations that support versioning, this method does not return properties that are part of the frozen state of a version in version storage.
If this node has no referring REFERENCE
properties with the specified name, an
empty iterator is returned. This includes the case where this node is not referenceable.
name
- name of referring REFERENCE
properties to be
returned; if null
then all referring REFERENCE
s
are returned.
PropertyIterator
.
RepositoryException
- if an error occurs.PropertyIterator getWeakReferences() throws RepositoryException
WEAKREFERENCE
properties that refer
to this node and that are accessible through the current
Session
. Equivalent to Node.getWeakReferences(null)
.
If this node has no referring WEAKREFERENCE
properties, an
empty iterator is returned. This includes the case where this node is not referenceable.
PropertyIterator
.
RepositoryException
- if an error occurs.getWeakReferences(String).
PropertyIterator getWeakReferences(java.lang.String name) throws RepositoryException
WEAKREFERENCE
properties that refer
to this node, have the specified name
and that are
accessible through the current Session
.
If the name
parameter is null
then all
referring WEAKREFERENCE
are returned regardless of name.
Some implementations may only return properties that have been persisted. Some may return both properties that have been persisted and those that have been dispatched but not persisted (for example, those saved within a transaction but not yet committed) while others implementations may return these two categories of property as well as properties that are still pending and not yet dispatched.
In implementations that support versioning, this method does not return properties that are part of the frozen state of a version in version storage.
If this node has no referring WEAKREFERENCE
properties with the specified name, an
empty iterator is returned. This includes the case where this node is not referenceable.
name
- name of referring WEAKREFERENCE
properties to be
returned; if null
then all referring
WEAKREFERENCE
s are returned.
PropertyIterator
.
RepositoryException
- if an error occurs.boolean hasNode(java.lang.String relPath) throws RepositoryException
relPath
Returns
true
if a node accessible through the current
Session
exists at relPath
and
false
otherwise.
relPath
- The path of a (possible) node.
true
if a node exists at relPath
;
false
otherwise.
RepositoryException
- if an error occurs.boolean hasProperty(java.lang.String relPath) throws RepositoryException
relPath
Returns
true
if a property accessible through the current
Session
exists at relPath
and
false
otherwise.
relPath
- The path of a (possible) property.
true
if a property exists at relPath
;
false
otherwise.
RepositoryException
- if an error occurs.boolean hasNodes() throws RepositoryException
true
if
this node has one or more child nodes accessible through the current
Session
; false
otherwise.
true
if this node has one or more child nodes;
false
otherwise.
RepositoryException
- if an error occurs.boolean hasProperties() throws RepositoryException
true
if
this node has one or more properties accessible through the current
Session
; false
otherwise.
true
if this node has one or more properties;
false
otherwise.
RepositoryException
- if an error occurs.NodeType getPrimaryNodeType() throws RepositoryException
NodeType
is returned when this method is called on the root
node of a workspace is up to the implementation.
NodeType
object.
RepositoryException
- if an error occursNodeType[] getMixinNodeTypes() throws RepositoryException
NodeType
objects representing the mixin
node types in effect for this node. This includes only those mixin types
explicitly assigned to this node. It does not include mixin types
inherited through the addition of supertypes to the primary type
hierarchy or through the addition of supertypes to the type hierarchy of
any of the declared mixin types.
NodeType
objects.
RepositoryException
- if an error occursboolean isNodeType(java.lang.String nodeTypeName) throws RepositoryException
true
if this node is of the specified primary node
type or mixin type, or a subtype thereof. Returns false
otherwise.
This method respects the effective node type of the node.
nodeTypeName
- the name of a node type.
true
If this node is of the specified primary node
type or mixin type, or a subtype thereof. Returns
false
otherwise.
RepositoryException
- if an error occurs.void setPrimaryType(java.lang.String nodeTypeName) throws NoSuchNodeTypeException, VersionException, ConstraintViolationException, LockException, RepositoryException
nodeTypeName
.
Also immediately changes this node's jcr:primaryType
property appropriately. Semantically, the new node type may take effect
immediately or on dispatch but must take effect on persist. The
behavior adopted must be the same as the behavior adopted for addMixin(java.lang.String)
and the behavior that occurs when a node is first created.
If the presence of an existing property or child node would cause an
incompatibility with the new node type then a ConstraintViolationException
is thrown either immediately, on dispatch or on persist.
If the new node type would cause this node to be incompatible with the
node type of its parent then a ConstraintViolationException
is thrown either immediately, on dispatch or on persist.
A ConstraintViolationException
is also thrown either
immediately, on dispatch or on persist if a conflict with an already
assigned mixin occurs.
A ConstraintViolationException
may also be thrown either
immediately , on dispatch or on persist if the attempted change violates
implementation-specific node type transition rules. A repository that
disallows all primary node type changes would simple throw this exception
in all cases.
If the specified node type is not recognized a NoSuchNodeTypeException
is thrown either immediately, on dispatch or on persist.
A VersionException
is thrown either immediately , on
dispatch or on persist if this node is read-only dues to a check-in.
A LockException
is thrown either immediately, on dispatch or
on persist if a lock prevents the change of node type.
nodeTypeName
- the name of the new node type.
ConstraintViolationException
- if the specified primary node type
creates a type conflict and this implementation performs this validation
immediately.
NoSuchNodeTypeException
- If the specified nodeTypeName
is not recognized and this implementation performs this validation
immediately.
VersionException
- if this node is read-only due to a checked-in
node and this implementation performs this validation immediately.
LockException
- if a lock prevents the change of the primary node
type and this implementation performs this validation immediately.
RepositoryException
- if another error occurs.void addMixin(java.lang.String mixinName) throws NoSuchNodeTypeException, VersionException, ConstraintViolationException, LockException, RepositoryException
mixinName
to this node. If
this node is already of type mixinName
(either due to a
previously added mixin or due to its primary type, through inheritance)
then this method has no effect. Otherwise mixinName
is added
to this node's jcr:mixinTypes
property.
Semantically, the new node type may take effect immediately, on
dispatch or on persist. The behavior adopted must be the same as the
behavior adopted for setPrimaryType(java.lang.String)
and the behavior that occurs
when a node is first created.
A ConstraintViolationException
is thrown either immediately,
on dispatch or on persist, if a conflict with another assigned mixin or
the primary node type or for an implementation-specific reason.
Implementations may differ on when this validation is done.
In some implementations it may only be possible to add mixin types before
a a node is persisted for the first time. I such cases any later
calls to addMixin
will throw a ConstraintViolationException
either immediately, on dispatch or on persist.
A NoSuchNodeTypeException
is thrown either immediately, on
dispatch or on persist, if the specified mixinName
is not
recognized. Implementations may differ on when this validation is done.
A VersionException
is thrown either immediately, on dispatch
or on persist, if this node is read-only due to a checked-in node.
Implementations may differ on when this validation is done.
A LockException
is thrown either immediately, on dispatch or
on persist, if a lock prevents the addition of the mixin. Implementations
may differ on when this validation is done.
mixinName
- the name of the mixin node type to be added
NoSuchNodeTypeException
- If the specified mixinName
is not recognized and this implementation performs this validation
immediately.
ConstraintViolationException
- if the specified mixin node type
creates a conflict and this implementation performs this validation
immediately.
VersionException
- if this node is read-only due to a checked-in
node and this implementation performs this validation immediately.
LockException
- if a lock prevents the addition of the mixin and
this implementation performs this validation immediately.
RepositoryException
- if another error occurs.void removeMixin(java.lang.String mixinName) throws NoSuchNodeTypeException, VersionException, ConstraintViolationException, LockException, RepositoryException
mixinName
from this node's jcr:mixinTypes
property. Both the semantic change in effective node type and the
persistence of the change to the jcr:mixinTypes
property
occur on persist.
If this node does not have the specified mixin, a
NoSuchNodeTypeException
is thrown either immediately, on
dispatch or on persist. Implementations may differ on when this
validation is done.
A ConstraintViolationException
will be thrown either
immediately, on dispatch or on persist, if the removal of a mixin is not
allowed. Implementations are free to enforce any policy with regard to
mixin removal and may differ on when this validation is done.
A VersionException
is thrown either immediately, on dispatch
or on persist, if this node is read-only due to a checked-in node.
Implementations may differ on when this validation is done.
A LockException
is thrown either immediately or on
save
if a lock prevents the removal of the mixin.
Implementations may differ on when this validation is done.
mixinName
- the name of the mixin node type to be removed.
NoSuchNodeTypeException
- if the specified mixinName
is not currently assigned to this node and this implementation performs
this validation immediately.
ConstraintViolationException
- if the specified mixin node type is
prevented from being removed and this implementation performs this
validation immediately.
VersionException
- if this node is read-only due to a checked-in
node and this implementation performs this validation immediately.
LockException
- if a lock prevents the removal of the mixin and
this implementation performs this validation immediately.
RepositoryException
- if another error occurs.boolean canAddMixin(java.lang.String mixinName) throws NoSuchNodeTypeException, RepositoryException
true
if calling addMixin(java.lang.String)
on this node
with the mixn node type mixinName
will not fail. Returns
false
otherwise.
mixinName
- The name of the mixin to be tested.
true
if addMixin will not fail when called on this node with
the specified mixinName
;
false
otherwise.
NoSuchNodeTypeException
- if the specified mixin node type name is
not recognized.
RepositoryException
- if another error occurs.NodeDefinition getDefinition() throws RepositoryException
NodeDefinition
returned when this method is called on the
root node of a workspace is also up to the implementation.
NodeDefinition
object.
RepositoryException
- if an error occurs.NodeType.getChildNodeDefinitions()
Version checkin() throws VersionException, UnsupportedRepositoryOperationException, InvalidItemStateException, LockException, RepositoryException
VersionManager.checkin(java.lang.String)
should be used instead.
Version
object. The new version becomes the base version of this node. The
name of the new version is implementaion determined.
This node becomes checked-in and its jcr:checkedOut
property is set to false to reflect this. On a successful check-in the
change to this property is made as a workspace-write, and therefore does
not require a save
.
The part of the subgraph of this node that is affected by check-in becomes read-only (see the specification for details).
If this node is already checked-in, this method has no effect but returns the current base version of this node.
VersionException
- if a child item of this node has an
OnParentVersion
status of ABORT
. This includes
the case (under full versioning) where an unresolved merge failure exists
on this node, as indicated by the presence of a jcr:mergeFailed
property. Under full versioning this exception is also thrown if the
UnsupportedRepositoryOperationException
- if this node is not
versionable.
InvalidItemStateException
- if unsaved changes exist on this node.
LockException
- If a lock prevents the operation.
RepositoryException
- If another error occurs.void checkout() throws UnsupportedRepositoryOperationException, LockException, ActivityViolationException, RepositoryException
VersionManager.checkout(java.lang.String)
should be used instead.
jcr:isCheckedOut
property to true
. Under full
versioning it also sets the jcr:predecessors
property to be
a reference to the current base version (the same value as held in
jcr:baseVersion
). These changes are made by worksapce-write
and therefore do require a save
.
The part of the subgraph of this node that is affected by the checked-out status of this node becomes no longer read-only.
If this node is already checked-out, this method has no effect.
UnsupportedRepositoryOperationException
- if this node is not
versionable.
LockException
- if a lock prevents the checkout.
ActivityViolationException
- if the checkout conflicts with the
activity present on the current session.
RepositoryException
- if another error occurs.void doneMerge(Version version) throws VersionException, InvalidItemStateException, UnsupportedRepositoryOperationException, RepositoryException
VersionManager.doneMerge(java.lang.String, javax.jcr.version.Version)
should be used instead.
Completes the merge process with respect to this node and the specified
version
.
When the merge(java.lang.String, boolean)
method is called on a node, every versionable
node in that subgraph is compared with its corresponding node in the
indicated other workspace and a "merge test result" is determined
indicating one of the following:
merge(java.lang.String, boolean)
for more details)
In the last case the merging of the subgraph of the versionable node in question must be done by the application (for example, by providing a merge tool for the user).
Additionally, once the subgraphs of the nodes has been merged, their
version graph branches must also be merged. The JCR versioning system
provides for this by keeping a record, for each versionable node that
fails the merge test, of the base version of the corresponding node that
caused the merge failure. This record is kept in the
jcr:mergeFailed
property of this node. After a
merge
, this property will contain one or more (if multiple
merges have been performed) REFERENCE
s that point to the
"failed versions".
To complete the merge process, the client calls doneMerge(Version
v)
passing the version object referred to be the
jcr:mergeFailed
property that the client wishes to connect
to this
node in the version graph. This has the effect of
moving the reference to the indicated version from the
jcr:mergeFailed
property of this
node to the
jcr:predecessors
.
If the client chooses not to connect this node to a particular version
referenced in the jcr:mergeFailed
property, he calls cancelMerge(Version version)
. This has the effect of removing the
reference to the specified version
from
jcr:mergeFailed
without adding it to
jcr:predecessors
.
Once the last reference in jcr:mergeFailed
has been either
moved to jcr:predecessors
(with doneMerge
) or
just removed from jcr:mergeFailed
(with
cancelMerge
) the jcr:mergeFailed
property is
automatically removed, thus enabling this
node to be
checked-in, creating a new version (note that before the
jcr:mergeFailed
is removed, its OnParentVersion
setting of ABORT
prevents checkin). This new version will
have a predecessor connection to each version for which
doneMerge
was called, thus joining those branches of the
version graph.
If successful, these changes are persisted immediately, there is no need
to call save
.
version
- a version referred to by this node's
jcr:mergeFailed
property.
VersionException
- if the version specifed is not among those
referenced in this node's jcr:mergeFailed
or if this node is
currently checked-in.
InvalidItemStateException
- if there are unsaved changes pending on
this node.
UnsupportedRepositoryOperationException
- if this node is not
versionable.
RepositoryException
- if another error occurs.void cancelMerge(Version version) throws VersionException, InvalidItemStateException, UnsupportedRepositoryOperationException, RepositoryException
VersionManager.cancelMerge(java.lang.String, javax.jcr.version.Version)
should be used instead.
Cancels the merge process with respect to this node and specified
version
.
See doneMerge(javax.jcr.version.Version)
for a full explanation. Also see merge(java.lang.String, boolean)
for more details.
If successful, these changes are persisted immediately, there is no need
to call save
.
version
- a version referred to by this node's
jcr:mergeFailed
property.
VersionException
- if the version specified is not among those
referenced in this node's jcr:mergeFailed
or if this node is
currently checked-in.
InvalidItemStateException
- if there are unsaved changes pending on
this node.
UnsupportedRepositoryOperationException
- if this node is not
versionable.
RepositoryException
- if another error occurs.void update(java.lang.String srcWorkspace) throws NoSuchWorkspaceException, AccessDeniedException, LockException, InvalidItemStateException, RepositoryException
srcWorkspace
, then this replaces this node and its subgraph
with a clone of the corresponding node and its subgraph.
If this node does not have a corresponding node in the workspace
srcWorkspace
, then the update
method has no
effect.
If the update
succeeds the changes made are persisted
immediately, there is no need to call save
.
Note that update
does not respect the checked-in status of
nodes. An update
may change a node even if it is currently
checked-in (This fact is only relevant in an implementation that supports
versioning).
srcWorkspace
- the name of the source workspace.
NoSuchWorkspaceException
- If srcWorkspace
does not
exist.
InvalidItemStateException
- if this Session
(not
necessarily this Node
) has pending unsaved changes.
AccessDeniedException
- If the current session does not have
sufficent access to perform the operation.
LockException
- if a lock prevents the update.
RepositoryException
- If another error occurs.NodeIterator merge(java.lang.String srcWorkspace, boolean bestEffort) throws NoSuchWorkspaceException, AccessDeniedException, MergeException, LockException, InvalidItemStateException, RepositoryException
VersionManager.merge(java.lang.String, java.lang.String, boolean)
should be used instead.
This method can be thought of as a version-sensitive update.
It recursively tests each versionable node in the subgraph of this node
against its corresponding node in srcWorkspace
with respect
to the relation between their respective base versions and either updates
the node in question or not, depending on the outcome of the test.
A MergeException
is thrown if bestEffort
is
false
and a versionable node is encountered whose
corresponding node's base version is on a divergent branch from this
node's base version.
If successful, the changes are persisted immediately, there is no need to
call save
.
This method returns a NodeIterator
over all versionable
nodes in the subgraph that received a merge result of fail. If
bestEffort
is false
, this iterator will be
empty (since if merge
returns successfully, instead of
throwing an exception, it will be because no failures were encountered).
If bestEffort
is true
, this iterator will
contain all nodes that received a fail during the course of this
merge
operation.
srcWorkspace
- the name of the source workspace.bestEffort
- a boolean
MergeException
- if bestEffort
is false
and a failed merge result is encountered.
InvalidItemStateException
- if this session (not necessarily this
node
) has pending unsaved changes.
NoSuchWorkspaceException
- if the specified
srcWorkspace
does not exist.
AccessDeniedException
- if the current session does not have
sufficient rights to perform the operation.
LockException
- if a lock prevents the merge.
RepositoryException
- if another error occurs.java.lang.String getCorrespondingNodePath(java.lang.String workspaceName) throws ItemNotFoundException, NoSuchWorkspaceException, AccessDeniedException, RepositoryException
this
node.
workspaceName
- the name of the workspace.
ItemNotFoundException
- if no corresponding node is found.
NoSuchWorkspaceException
- if the workspace is unknown.
AccessDeniedException
- if the current session
has
insufficent access capabilities to perform this operation.
RepositoryException
- if another error occurs.NodeIterator getSharedSet() throws RepositoryException
NodeIterator
.
RepositoryException
- if an error occurs.void removeSharedSet() throws VersionException, LockException, ConstraintViolationException, RepositoryException
This removal must be done atomically, i.e., if one of the nodes cannot be
removed, the method throws the exception Item.remove()
would have
thrown in that case, and none of the nodes are removed.
If this node is not shared this method removes only this node.
VersionException
- if the parent node of this item is versionable
and checked-in or is non-versionable but its nearest versionable ancestor
is checked-in and this implementation performs this validation
immediately instead of waiting until save
.
LockException
- if a lock prevents the removal of this item and
this implementation performs this validation immediately instead of
waiting until save
.
ConstraintViolationException
- if removing the specified item would
violate a node type or implementation-specific constraint and this
implementation performs this validation immediately instead of waiting
until save
.
RepositoryException
- if another error occurs.removeShare()
,
Item.remove()
,
Session.removeItem(String)
void removeShare() throws VersionException, LockException, ConstraintViolationException, RepositoryException
VersionException
- if the parent node of this item is versionable
and checked-in or is non-versionable but its nearest versionable ancestor
is checked-in and this implementation performs this validation
immediately instead of waiting until save
.
LockException
- if a lock prevents the removal of this item and
this implementation performs this validation immediately instead of
waiting until save
.
ConstraintViolationException
- if removing the specified item would
violate a node type or implementation-specific constraint and this
implementation performs this validation immediately instead of waiting
until save
.
RepositoryException
- if if this node cannot be removed without
removing another node in the shared set of this node or another error
occurs.removeSharedSet()
,
Item.remove()
,
Session.removeItem(String)
boolean isCheckedOut() throws RepositoryException
false
if this node is currently in the checked-in state
(either due to its own status as a versionable node or due to the effect of
a versionable node being checked in above it). Otherwise this method returns
true
. This includes the case where the repository does not
support versioning (and therefore all nodes are always "checked-out",
by default).
RepositoryException
- if an error occurs.void restore(java.lang.String versionName, boolean removeExisting) throws VersionException, ItemExistsException, UnsupportedRepositoryOperationException, LockException, InvalidItemStateException, RepositoryException
VersionManager.restore(javax.jcr.version.Version[], boolean)
should be used instead.
this
node to the state defined by the version with
the specified versionName
.
This method will work regardless of whether this node is checked-in or not.
An identifier collision occurs when a node exists outside the subgraph
rooted at this node with the same identifier as a node that would be
introduced by the restore
operation into the subgraph at
this node. The result in such a case is governed by the
removeExisting
flag. If removeExisting
is
true
, then the incoming node takes precedence, and the
existing node (and its subgraph) is removed (if possible; otherwise a
RepositoryException
is thrown). If removeExisting
is false
, then a ItemExistsException
is thrown
and no changes are made. Note that this applies not only to cases where
the restored node itself conflicts with an existing node but also to
cases where a conflict occurs with any node that would be introduced into
the workspace by the restore operation. In particular, conflicts
involving subnodes of the restored node that have
OnParentVersion
settings of COPY
or
VERSION
are also governed by the removeExisting
flag.
versionName
- a Version
objectremoveExisting
- a boolean flag that governs what happens in case of
an identifier collision.
UnsupportedRepositoryOperationException
- if this node is not
versionable.
VersionException
- if the specified version
is not
part of this node's version history or if an attempt is made to restore
the root version (jcr:rootVersion
).
ItemExistsException
- if removeExisting
is
false
and an identifier collision occurs.
LockException
- if a lock prevents the restore.
InvalidItemStateException
- if this Session
(not
necessarily this Node
) has pending unsaved changes.
RepositoryException
- If another error occurs.void restore(Version version, boolean removeExisting) throws VersionException, ItemExistsException, InvalidItemStateException, UnsupportedRepositoryOperationException, LockException, RepositoryException
VersionManager.restore(javax.jcr.version.Version[], boolean)
should be used instead.
this
node to the state defined by the specified
version
.
If successful, the change is persisted immediately and there is no need
to call save
.
This method will work regardless of whether this node is checked-in or not.
An identifier collision occurs when a node exists outside the subgraph
rooted at this node with the same identifier as a node that would be
introduced by the restore
operation into the subgraph at
this node. The result in such a case is governed by the
removeExisting
flag. If removeExisting
is
true
, then the incoming node takes precedence, and the
existing node (and its subgraph) is removed (if possible; otherwise a
RepositoryException
is thrown). If removeExisting
is false
, then a ItemExistsException
is thrown
and no changes are made. Note that this applies not only to cases where
the restored node itself conflicts with an existing node but also to
cases where a conflict occurs with any node that would be introduced into
the workspace by the restore operation. In particular, conflicts
involving subnodes of the restored node that have
OnParentVersion
settings of COPY
or
VERSION
are also governed by the removeExisting
flag.
version
- a Version
objectremoveExisting
- a boolean flag that governs what happens in case of
an identifier collision.
UnsupportedRepositoryOperationException
- if this node is not
versionable.
VersionException
- if the specified version
is not
part of this node's version history or if an attempt is made to restore
the root version (jcr:rootVersion
).
ItemExistsException
- if removeExisting
is
false
and an identifier collision occurs.
InvalidItemStateException
- if this Session
(not
necessarily this Node
) has pending unsaved changes.
LockException
- if a lock prevents the restore.
RepositoryException
- if another error occurs.void restore(Version version, java.lang.String relPath, boolean removeExisting) throws PathNotFoundException, ItemExistsException, VersionException, ConstraintViolationException, UnsupportedRepositoryOperationException, LockException, InvalidItemStateException, RepositoryException
VersionManager.restore(javax.jcr.version.Version[], boolean)
should be used instead.
relPath
, relative to this
node.
If the restore
succeeds, the changes made to this node are
persisted immediately, there is no need to call save
.
A node need not exist at relPath, though the parent of
relPath
must exist.
If a node does exist at relPath then it must correspond to the
version being restored (the version must be a version of that
node) and must not be a root version (jcr:rootVersion
),
otherwise a VersionException
is thrown.
If no node exists at relPath
then a VersionException
is thrown if the parent node of relPath
is read-only due to
a check-in. However, If there is a node at relPath
then the read-only status of that node itself and the read-only status of
its parent are irrelevant. The restore will work even if one or both are
read-only due to a checked-in node.
An identifier collision occurs when a node exists outside the subgraph
rooted at relPath
with the same identifier as a node
that would be introduced by the restore
operation into
the subgraph at relPath
(Note that in cases where there
is no node at relPath
, this amounts to saying that an
identifier collision occurs if there exists a node anywhere in
this workspace with the same identifier as a node that would be
introduced by the restore
). The result in such a case is
governed by the removeExisting
flag. If
removeExisting
is true
, then the incoming node
takes precedence, and the existing node (and its subgraph) is removed (if
possible; otherwise a RepositoryException
is thrown). If
removeExisting
is false
, then a
ItemExistsException
is thrown and no changes are made. Note
that this applies not only to cases where the restored node itself
conflicts with an existing node but also to cases where a conflict occurs
with any node that would be introduced into the workspace by the restore
operation. In particular, conflicts involving subnodes of the restored
node that have OnParentVersion
settings of COPY
or VERSION
are also governed by the removeExisting
flag.
version
- a version objectrelPath
- the path to which the version is to be restoredremoveExisting
- governs what happens on identifier collision.
PathNotFoundException
- if the parent of relPath
does
not exist.
ItemExistsException
- if removeExisting is false and an identifier
collision occurs
ConstraintViolationException
- if the would-be parent of the
location relPath
is actually a property, or if a node type
restriction would be violated
VersionException
- if the parent node of relPath
is
read-only due to a checked-in node or if a node exists at relPath that is
not the node corresponding to the specified version
or if an
attempt is made to restore the root version (jcr:rootVersion
).
UnsupportedRepositoryOperationException
- if versioning is not
supported.
LockException
- if a lock prevents the restore.
InvalidItemStateException
- if this Session
(not
necessarily this Node
) has pending unsaved changes.
RepositoryException
- if another error occursvoid restoreByLabel(java.lang.String versionLabel, boolean removeExisting) throws VersionException, ItemExistsException, UnsupportedRepositoryOperationException, LockException, InvalidItemStateException, RepositoryException
VersionManager.restoreByLabel(java.lang.String, java.lang.String, boolean)
should be used instead.
If successful, the change is persisted immediately and there is no need
to call save
.
This method will work regardless of whether this node is checked-in or not.
An identifier collision occurs when a node exists outside the subgraph
rooted at this node with the same identifier as a node that would be
introduced by the restoreByLabel
operation into the
subgraph at this node. The result in such a case is governed by the
removeExisting
flag. If removeExisting
is
true
, then the incoming node takes precedence, and the
existing node (and its subgraph) is removed (if possible; otherwise a
RepositoryException
is thrown). If removeExisting
is false
, then a ItemExistsException
is thrown
and no changes are made. Note that this applies not only to cases where
the restored node itself conflicts with an existing node but also to
cases where a conflict occurs with any node that would be introduced into
the workspace by the restore operation. In particular, conflicts
involving subnodes of the restored node that have
OnParentVersion
settings of COPY
or
VERSION
are also governed by the removeExisting
flag.
Note the special behavior in case of chained versions where a child node
of this node has an on OnParentVersion
settings of
VERSION
and is mix:versionable: If there is a version of the
child node with the specified label, then that version is restored;
otherwise the determination depends on the configuration of the workspace
and is defined by the implementation.
versionLabel
- a StringremoveExisting
- a boolean flag that governs what happens in case of
an identifier collision.
UnsupportedRepositoryOperationException
- if this node is not
versionable.
VersionException
- if the specified versionLabel
does
not exist in this node's version history.
ItemExistsException
- if removeExisting
is
false
and an identifier collision occurs.
LockException
- if a lock prevents the restore.
InvalidItemStateException
- if this Session
(not
necessarily this Node
) has pending unsaved changes.
RepositoryException
- If another error occurs.VersionHistory getVersionHistory() throws UnsupportedRepositoryOperationException, RepositoryException
VersionManager.getVersionHistory(java.lang.String)
should be used instead.
VersionHistory
object of this node. Under full
versioning this object provides access to the nt:versionHistory
node holding this node's versions.
VersionHistory
object
UnsupportedRepositoryOperationException
- if this node is not
versionable.
RepositoryException
- if another error occurs.Version getBaseVersion() throws UnsupportedRepositoryOperationException, RepositoryException
VersionManager.getBaseVersion(java.lang.String)
should be used instead.
Version
object.
UnsupportedRepositoryOperationException
- if this node is not
versionable.
RepositoryException
- if another error occurs.Lock lock(boolean isDeep, boolean isSessionScoped) throws UnsupportedRepositoryOperationException, LockException, AccessDeniedException, InvalidItemStateException, RepositoryException
LockManager.lock(String, boolean,
boolean, long, String)
should be used instead.
If isDeep
is true
then the lock applies to this
node and all its descendant nodes; if false
, the lock
applies only to this, the holding node.
If isSessionScoped
is true
then this lock will
expire upon the expiration of the current session (either through an
automatic or explicit Session.logout
); if
false
, this lock does not expire until explicitly unlocked
or automatically unlocked due to a implementation-specific limitation,
such as a timeout.
Returns a Lock
object reflecting the state of the new lock.
If the lock is open-scoped the returned lock will include a lock token.
The lock token is also automatically added to the set of lock tokens held
by the current Session
.
If successful, then the property jcr:lockOwner
is created
and set to the value of Session.getUserID
for the current
session and the property jcr:lockIsDeep
is set to the value
passed in as isDeep
. These changes are persisted
automatically; there is no need to call save
.
Note that it is possible to lock a node even if it is checked-in (the lock-related properties will be changed despite the checked-in status).
isDeep
- if true
this lock will apply to this node and
all its descendants; if false
, it applies only to this
node.isSessionScoped
- if true
, this lock expires with the
current session; if false
it expires when explicitly or
automatically unlocked for some other reason.
Lock
object containing a lock token.
UnsupportedRepositoryOperationException
- if this implementation
does not support locking.
LockException
- if this node is not mix:lockable
or
this node is already locked or isDeep
is true
and a descendant node of this node already holds a lock or if this node
has not yet been persisted.
AccessDeniedException
- if this session does not have sufficient
access capabilities to lock this node.
InvalidItemStateException
- if this node has pending unsaved
changes.
RepositoryException
- if another error occurs.Lock getLock() throws UnsupportedRepositoryOperationException, LockException, AccessDeniedException, RepositoryException
LockManager.getLock(String)
should be
used instead.
Lock
object that applies to this node. This may
be either a lock on this node itself or a deep lock on a node above this
node.
Lock
object.
UnsupportedRepositoryOperationException
- if this implementation
does not support locking.
LockException
- if no lock applies to this node.
AccessDeniedException
- if the curent session does not have
sufficent access to get the lock.
RepositoryException
- if another error occurs.void unlock() throws UnsupportedRepositoryOperationException, LockException, AccessDeniedException, InvalidItemStateException, RepositoryException
LockManager.unlock(String)
should be
used instead.
jcr:lockOwner
and jcr:lockIsDeep
from this
node. These changes are persisted automatically; there is no need to call
save
. As well, the corresponding lock token is removed from
the set of lock tokens held by the current Session
.
If this node does not currently hold a lock or holds a lock for which
this Session
is not the owner, then a
LockException
is thrown. Note however that the system may
give permission to a non-owning session to unlock a lock. Typically such
"lock-superuser" capability is intended to facilitate administrational
clean-up of orphaned open-scoped locks.
Note that it is possible to unlock a node even if it is checked-in (the lock-related properties will be changed despite the checked-in status).
UnsupportedRepositoryOperationException
- if this implementation
does not support locking.
LockException
- if this node does not currently hold a lock or
holds a lock for which this Session does not have the correct lock token
AccessDeniedException
- if the current session does not have
sufficent access to unlock this node.
InvalidItemStateException
- if this node has pending unsaved
changes.
RepositoryException
- if another error occurs.boolean holdsLock() throws RepositoryException
LockManager.holdsLock(String)
should
be used instead.
true
if this node holds a lock; otherwise returns
false
. To hold a lock means that this node has
actually had a lock placed on it specifically, as opposed to just having
a lock apply to it due to a deep lock held by a node above.
boolean
.
RepositoryException
- if an error occurs.boolean isLocked() throws RepositoryException
true
if this node is locked either as a result of a
lock held by this node or by a deep lock on a node above this node;
otherwise returns false
. This includes the case
where a repository does not support locking (in which case all
nodes are "unlocked" by default).
boolean
.
RepositoryException
- if an error occurs.void followLifecycleTransition(java.lang.String transition) throws UnsupportedRepositoryOperationException, InvalidLifecycleTransitionException, RepositoryException
transition
.
This method may change the value of the jcr:currentLifecycleState
property, in most cases it is expected that the implementation will
change the value to that of the passed transition
parameter,
though this is an implementation-specific issue. If the
jcr:currentLifecycleState
property is changed the change is
persisted immediately, there is no need to call save
.
transition
- a state transition
UnsupportedRepositoryOperationException
- if this implementation
does not support lifecycle actions or if this node does not have the
mix:lifecycle
mixin.
InvalidLifecycleTransitionException
- if the lifecycle transition
is not successful.
RepositoryException
- if another error occurs.java.lang.String[] getAllowedLifecycleTransistions() throws UnsupportedRepositoryOperationException, RepositoryException
String
array.
UnsupportedRepositoryOperationException
- if this implementation
does not support lifecycle actions or if this node does not have the
mix:lifecycle
mixin.
RepositoryException
- if another error occurs.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |