|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.jackrabbit.core.ItemImpl
org.apache.jackrabbit.core.NodeImpl
public class NodeImpl
NodeImpl
implements the Node
interface.
Field Summary | |
---|---|
protected static short |
CREATED
|
Fields inherited from class org.apache.jackrabbit.core.ItemImpl |
---|
id, itemMgr, rep, session, stateMgr, STATUS_DESTROYED, STATUS_INVALIDATED, STATUS_MODIFIED, STATUS_NORMAL |
Constructor Summary | |
---|---|
protected |
NodeImpl(ItemManager itemMgr,
SessionImpl session,
AbstractNodeData data)
Protected constructor. |
Method Summary | |
---|---|
void |
accept(ItemVisitor visitor)
|
void |
addMixin(Name mixinName)
Same as Node.addMixin(String) except that it takes a
Name instead of a String . |
void |
addMixin(String mixinName)
|
NodeImpl |
addNode(Name nodeName,
Name nodeTypeName,
UUID uuid)
Same as except that
this method takes Name arguments instead of
String s and has an additional uuid argument. |
Node |
addNode(String relPath)
|
Node |
addNode(String relPath,
String nodeTypeName)
|
boolean |
canAddMixin(String mixinName)
|
void |
cancelMerge(Version version)
|
Version |
checkin()
|
protected void |
checkLock()
Check whether this node is locked by somebody else. |
void |
checkout()
|
protected void |
checkSetProperty()
Checks various pre-conditions that are common to all setProperty() methods. |
NodeImpl |
clone(NodeImpl src,
Name name)
Create a child node that is a clone of a shareable node. |
protected InternalValue[] |
computeSystemGeneratedPropertyValues(Name name,
PropertyDefinitionImpl def)
Computes the values of well-known system (i.e. protected) properties. |
protected NodeImpl |
createChildNode(Name name,
NodeDefinitionImpl def,
NodeTypeImpl nodeType,
NodeId id)
|
protected PropertyImpl |
createChildProperty(Name name,
int type,
PropertyDefinitionImpl def)
|
void |
doneMerge(Version version)
|
protected NodeDefinitionImpl |
getApplicableChildNodeDefinition(Name nodeName,
Name nodeTypeName)
Returns the applicable child node definition for a child node with the specified name and node type. |
protected PropertyDefinitionImpl |
getApplicablePropertyDefinition(Name propertyName,
int type,
boolean multiValued,
boolean exactTypeMatch)
Returns the applicable property definition for a property with the specified name and type. |
Version |
getBaseVersion()
|
String |
getCorrespondingNodePath(String workspaceName)
|
NodeDefinition |
getDefinition()
|
EffectiveNodeType |
getEffectiveNodeType()
Returns the effective (i.e. merged and resolved) node type representation of this node's primary and mixin node types. |
String |
getIdentifier()
Returns the identifier of this node. |
int |
getIndex()
|
Lock |
getLock()
|
NodeType[] |
getMixinNodeTypes()
|
Set |
getMixinTypeNames()
Returns the Name s of this node's mixin types. |
String |
getName()
|
NodeImpl |
getNode(Name name)
Returns the child node of this node with the specified
name . |
NodeImpl |
getNode(Name name,
int index)
Returns the child node of this node with the specified
name . |
Node |
getNode(String relPath)
|
NodeId |
getNodeId()
Returns the identifier of this Node . |
NodeIterator |
getNodes()
|
NodeIterator |
getNodes(String namePattern)
|
protected PropertyImpl |
getOrCreateProperty(Name name,
int type,
boolean multiValued,
boolean exactTypeMatch,
BitSet status)
|
protected PropertyImpl |
getOrCreateProperty(String name,
int type,
boolean multiValued,
boolean exactTypeMatch,
BitSet status)
|
protected ItemState |
getOrCreateTransientItemState()
|
Node |
getParent()
|
Item |
getPrimaryItem()
|
NodeType |
getPrimaryNodeType()
|
Path |
getPrimaryPath()
Returns the primary path to this Item . |
PropertyIterator |
getProperties()
|
PropertyIterator |
getProperties(String namePattern)
|
PropertyImpl |
getProperty(Name name)
Returns the property of this node with the specified
name . |
Property |
getProperty(String relPath)
|
Name |
getQName()
Same as except that
this method returns a Name instead of a
String . |
PropertyIterator |
getReferences()
|
PropertyIterator |
getReferences(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. |
String |
getUUID()
|
VersionHistory |
getVersionHistory()
|
boolean |
hasNode(Name name)
Indicates whether a child node with the specified name exists. |
boolean |
hasNode(Name name,
int index)
Indicates whether a child node with the specified name exists. |
boolean |
hasNode(String relPath)
|
boolean |
hasNodes()
|
protected boolean |
hasPendingChanges()
Determines if there are pending unsaved changes either on this node or on any node or property in the subtree below it. |
boolean |
hasProperties()
|
boolean |
hasProperty(Name name)
Indicates whether a property with the specified name exists. |
boolean |
hasProperty(String relPath)
|
boolean |
holdsLock()
|
protected NodeImpl |
internalAddChildNode(Name nodeName,
NodeTypeImpl nodeType)
|
protected NodeImpl |
internalAddChildNode(Name nodeName,
NodeTypeImpl nodeType,
NodeId id)
|
protected NodeImpl |
internalAddNode(String relPath,
NodeTypeImpl nodeType)
|
protected NodeImpl |
internalAddNode(String relPath,
NodeTypeImpl nodeType,
NodeId id)
|
protected void |
internalCopyPropertyFrom(PropertyImpl prop)
Copies a property to this node |
UUID |
internalGetUUID()
Returns the (internal) uuid of this node. |
protected boolean |
internalIsCheckedOut()
Determines the checked-out status of this node. |
protected Version[] |
internalRestore(VersionImpl version,
VersionSelector vsel,
boolean removeExisting)
Internal method to restore a version. |
protected Property |
internalSetProperty(Name name,
InternalValue value)
Sets the internal value of a property without checking any constraints. |
protected Property |
internalSetProperty(Name name,
InternalValue[] values)
Sets the internal value of a property without checking any constraints. |
protected Property |
internalSetProperty(Name name,
InternalValue[] values,
int type)
Sets the internal value of a property without checking any constraints. |
boolean |
isCheckedOut()
|
boolean |
isLocked()
|
boolean |
isNode()
|
boolean |
isNodeType(Name ntName)
Same as Node.isNodeType(String) except that it takes a
Name instead of a String . |
boolean |
isNodeType(String nodeTypeName)
|
Lock |
lock(boolean isDeep,
boolean isSessionScoped)
|
protected void |
makePersistent()
|
NodeIterator |
merge(String srcWorkspace,
boolean bestEffort)
|
protected void |
onRedefine(NodeDefId defId)
|
protected void |
onRemove(NodeId parentId)
|
void |
orderBefore(Path.Element srcName,
Path.Element dstName)
Same as except that
this method takes a Path.Element arguments instead of
String s. |
void |
orderBefore(String srcName,
String destName)
|
protected void |
removeChildNode(Name nodeName,
int index)
|
protected void |
removeChildProperty(Name propName)
|
protected void |
removeChildProperty(String propName)
|
void |
removeMixin(Name mixinName)
Same as Node.removeMixin(String) except that it takes a
Name instead of a String . |
void |
removeMixin(String mixinName)
|
void |
removeShare()
A special kind of remove() that removes this node, but does
not remove any other node in the shared set of this node. |
void |
removeSharedSet()
A special kind of remove() that removes this node and every
other node in the shared set of this node. |
protected void |
renameChildNode(Name oldName,
int index,
NodeId id,
Name newName)
|
NodeImpl |
replaceChildNode(NodeId id,
Name nodeName,
Name nodeTypeName,
Name[] mixinNames)
Replaces the child node with the specified id
by a new child node with the same id and specified nodeName ,
nodeTypeName and mixinNames . |
protected NodeId |
resolveRelativeNodePath(String relPath)
Returns the id of the node at relPath or null
if no node exists at relPath . |
protected PropertyId |
resolveRelativePropertyPath(String relPath)
Returns the id of the property at relPath or null
if no property exists at relPath . |
void |
restore(String versionName,
boolean removeExisting)
|
void |
restore(Version version,
boolean removeExisting)
|
void |
restore(Version version,
String relPath,
boolean removeExisting)
|
void |
restoreByLabel(String versionLabel,
boolean removeExisting)
|
protected void |
restoreTransient(NodeState transientState)
|
void |
setPrimaryType(String nodeTypeName)
Changes the primary node type of this node to nodeTypeName . |
PropertyImpl |
setProperty(Name name,
Value value)
Same as except that
this method takes a Name name argument instead of a
String . |
PropertyImpl |
setProperty(Name name,
Value[] values)
Same as except that
this method takes a Name name argument instead of a
String . |
PropertyImpl |
setProperty(Name name,
Value[] values,
int type)
Same as except
that this method takes a Name name argument instead of a
String . |
Property |
setProperty(String name,
boolean value)
|
Property |
setProperty(String name,
Calendar value)
|
Property |
setProperty(String name,
double value)
|
Property |
setProperty(String name,
InputStream value)
|
Property |
setProperty(String name,
long value)
|
Property |
setProperty(String name,
Node value)
|
Property |
setProperty(String name,
String value)
|
Property |
setProperty(String name,
String[] values)
|
Property |
setProperty(String name,
String[] values,
int type)
|
Property |
setProperty(String name,
String value,
int type)
|
Property |
setProperty(String name,
Value value)
|
Property |
setProperty(String name,
Value[] values)
|
Property |
setProperty(String name,
Value[] values,
int type)
|
Property |
setProperty(String name,
Value value,
int type)
|
String |
toString()
Return a string representation of this node for diagnostic purposes. |
void |
unlock()
|
void |
update(String srcWorkspaceName)
|
Methods inherited from class org.apache.jackrabbit.core.ItemImpl |
---|
getAncestor, getDepth, getId, getPath, getSession, internalRemove, isModified, isNew, isSame, isTransactionalNew, isTransient, refresh, remove, safeGetJCRPath, sanityCheck, save, setRemoved |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface javax.jcr.Item |
---|
getAncestor, getDepth, getPath, getSession, isModified, isNew, isSame, refresh, remove, save |
Field Detail |
---|
protected static final short CREATED
Constructor Detail |
---|
protected NodeImpl(ItemManager itemMgr, SessionImpl session, AbstractNodeData data)
itemMgr
- the ItemManager
that created this Node
instancesession
- the Session
through which this Node
is acquireddata
- the node dataMethod Detail |
---|
protected PropertyId resolveRelativePropertyPath(String relPath) throws RepositoryException
relPath
or null
if no property exists at relPath
.
Note that access rights are not checked.
relPath
- relative path of a (possible) property
relPath
or
null
if no property exists at relPath
RepositoryException
- if relPath
is not a valid
relative pathprotected NodeId resolveRelativeNodePath(String relPath) throws RepositoryException
relPath
or null
if no node exists at relPath
.
Note that access rights are not checked.
relPath
- relative path of a (possible) node
relPath
or
null
if no node exists at relPath
RepositoryException
- if relPath
is not a valid
relative pathprotected boolean hasPendingChanges() throws RepositoryException
true
if there are pending unsaved changes,
false
otherwise.
RepositoryException
- if an error occurredprotected ItemState getOrCreateTransientItemState() throws RepositoryException
getOrCreateTransientItemState
in class ItemImpl
RepositoryException
protected InternalValue[] computeSystemGeneratedPropertyValues(Name name, PropertyDefinitionImpl def) throws RepositoryException
name
- def
-
RepositoryException
protected PropertyImpl getOrCreateProperty(String name, int type, boolean multiValued, boolean exactTypeMatch, BitSet status) throws ConstraintViolationException, RepositoryException
name
- type
- multiValued
- exactTypeMatch
- status
-
ConstraintViolationException
- if no applicable property definition
could be found
RepositoryException
- if another error occursprotected PropertyImpl getOrCreateProperty(Name name, int type, boolean multiValued, boolean exactTypeMatch, BitSet status) throws ConstraintViolationException, RepositoryException
name
- type
- multiValued
- exactTypeMatch
- status
-
ConstraintViolationException
- if no applicable property definition
could be found
RepositoryException
- if another error occursprotected PropertyImpl createChildProperty(Name name, int type, PropertyDefinitionImpl def) throws RepositoryException
RepositoryException
protected NodeImpl createChildNode(Name name, NodeDefinitionImpl def, NodeTypeImpl nodeType, NodeId id) throws RepositoryException
RepositoryException
protected void renameChildNode(Name oldName, int index, NodeId id, Name newName) throws RepositoryException
RepositoryException
protected void removeChildProperty(String propName) throws RepositoryException
RepositoryException
protected void removeChildProperty(Name propName) throws RepositoryException
RepositoryException
protected void removeChildNode(Name nodeName, int index) throws RepositoryException
RepositoryException
protected void onRedefine(NodeDefId defId) throws RepositoryException
RepositoryException
protected void onRemove(NodeId parentId) throws RepositoryException
RepositoryException
protected NodeImpl internalAddNode(String relPath, NodeTypeImpl nodeType) throws ItemExistsException, PathNotFoundException, VersionException, ConstraintViolationException, LockException, RepositoryException
ItemExistsException
PathNotFoundException
VersionException
ConstraintViolationException
LockException
RepositoryException
protected NodeImpl internalAddNode(String relPath, NodeTypeImpl nodeType, NodeId id) throws ItemExistsException, PathNotFoundException, VersionException, ConstraintViolationException, LockException, RepositoryException
ItemExistsException
PathNotFoundException
VersionException
ConstraintViolationException
LockException
RepositoryException
protected NodeImpl internalAddChildNode(Name nodeName, NodeTypeImpl nodeType) throws ItemExistsException, ConstraintViolationException, RepositoryException
ItemExistsException
ConstraintViolationException
RepositoryException
protected NodeImpl internalAddChildNode(Name nodeName, NodeTypeImpl nodeType, NodeId id) throws ItemExistsException, ConstraintViolationException, RepositoryException
ItemExistsException
ConstraintViolationException
RepositoryException
public Set getMixinTypeNames()
Name
s of this node's mixin types.
Name
s of this node's mixin types.public EffectiveNodeType getEffectiveNodeType() throws RepositoryException
RepositoryException
- if an error occursprotected NodeDefinitionImpl getApplicableChildNodeDefinition(Name nodeName, Name nodeTypeName) throws ConstraintViolationException, RepositoryException
nodeName
- nodeTypeName
-
ConstraintViolationException
- if no applicable child node definition
could be found
RepositoryException
- if another error occursprotected PropertyDefinitionImpl getApplicablePropertyDefinition(Name propertyName, int type, boolean multiValued, boolean exactTypeMatch) throws ConstraintViolationException, RepositoryException
propertyName
- type
- multiValued
- exactTypeMatch
-
ConstraintViolationException
- if no applicable property definition
could be found
RepositoryException
- if another error occursprotected void makePersistent() throws InvalidItemStateException
makePersistent
in class ItemImpl
InvalidItemStateException
protected void restoreTransient(NodeState transientState) throws RepositoryException
RepositoryException
public void addMixin(Name mixinName) throws NoSuchNodeTypeException, VersionException, ConstraintViolationException, LockException, RepositoryException
Node.addMixin(String)
except that it takes a
Name
instead of a String
.
NoSuchNodeTypeException
VersionException
ConstraintViolationException
LockException
RepositoryException
Node.addMixin(String)
public void removeMixin(Name mixinName) throws NoSuchNodeTypeException, VersionException, ConstraintViolationException, LockException, RepositoryException
Node.removeMixin(String)
except that it takes a
Name
instead of a String
.
NoSuchNodeTypeException
VersionException
ConstraintViolationException
LockException
RepositoryException
Node.removeMixin(String)
public boolean isNodeType(Name ntName) throws RepositoryException
Node.isNodeType(String)
except that it takes a
Name
instead of a String
.
ntName
- name of node type
true
if this node is of the specified node type;
otherwise false
RepositoryException
public UUID internalGetUUID()
protected void checkSetProperty() throws VersionException, LockException, RepositoryException
setProperty()
methods. The checks performed are:
Property.setValue()
methods.
VersionException
- if this node is not checked-out
LockException
- if this node is locked by somebody else
RepositoryException
- if another error occursNode.setProperty(java.lang.String, javax.jcr.Value)
protected Property internalSetProperty(Name name, InternalValue value) throws ValueFormatException, RepositoryException
name
- value
-
ValueFormatException
RepositoryException
protected Property internalSetProperty(Name name, InternalValue[] values) throws ValueFormatException, RepositoryException
name
- values
-
ValueFormatException
RepositoryException
protected Property internalSetProperty(Name name, InternalValue[] values, int type) throws ValueFormatException, RepositoryException
name
- values
- type
-
ValueFormatException
RepositoryException
public NodeImpl getNode(Name name) throws ItemNotFoundException, RepositoryException
this
node with the specified
name
.
name
- The qualified name of the child node to retrieve.
name
.
ItemNotFoundException
- If no child node exists with the
specified name.
RepositoryException
- If another error occurs.public NodeImpl getNode(Name name, int index) throws ItemNotFoundException, RepositoryException
this
node with the specified
name
.
name
- The qualified name of the child node to retrieve.index
- The index of the child node to retrieve (in the case of same-name siblings).
name
.
ItemNotFoundException
- If no child node exists with the
specified name.
RepositoryException
- If another error occurs.public boolean hasNode(Name name) throws RepositoryException
name
exists.
Returns true
if the child node exists and false
otherwise.
name
- The qualified name of the child node.
true
if the child node exists; false
otherwise.
RepositoryException
- If an unspecified error occurs.public boolean hasNode(Name name, int index) throws RepositoryException
name
exists.
Returns true
if the child node exists and false
otherwise.
name
- The qualified name of the child node.index
- The index of the child node (in the case of same-name siblings).
true
if the child node exists; false
otherwise.
RepositoryException
- If an unspecified error occurs.public PropertyImpl getProperty(Name name) throws ItemNotFoundException, RepositoryException
this
node with the specified
name
.
name
- The qualified name of the property to retrieve.
name
.
ItemNotFoundException
- If no property exists with the
specified name.
RepositoryException
- If another error occurs.public boolean hasProperty(Name name) throws RepositoryException
name
exists.
Returns true
if the property exists and false
otherwise.
name
- The qualified name of the property.
true
if the property exists; false
otherwise.
RepositoryException
- If an unspecified error occurs.public NodeImpl addNode(Name nodeName, Name nodeTypeName, UUID uuid) throws ItemExistsException, NoSuchNodeTypeException, VersionException, ConstraintViolationException, LockException, RepositoryException
Node.addNode(String, String)
except that
this method takes Name
arguments instead of
String
s and has an additional uuid
argument.
Important Notice: This method is for internal use only! Passing
already assigned uuid's might lead to unexpected results and
data corruption in the worst case.
nodeName
- name of the new nodenodeTypeName
- name of the new node's node type or null
if it should be determined automaticallyuuid
- uuid of the new node or null
if a new
uuid should be assigned
ItemExistsException
NoSuchNodeTypeException
VersionException
ConstraintViolationException
LockException
RepositoryException
public PropertyImpl setProperty(Name name, Value[] values) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
Node.setProperty(String, Value[])
except that
this method takes a Name
name argument instead of a
String
.
name
- values
-
ValueFormatException
VersionException
LockException
ConstraintViolationException
RepositoryException
public PropertyImpl setProperty(Name name, Value[] values, int type) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
Node.setProperty(String, Value[], int)
except
that this method takes a Name
name argument instead of a
String
.
name
- values
- type
-
ValueFormatException
VersionException
LockException
ConstraintViolationException
RepositoryException
public PropertyImpl setProperty(Name name, Value value) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
Node.setProperty(String, Value)
except that
this method takes a Name
name argument instead of a
String
.
name
- value
-
ValueFormatException
VersionException
LockException
ConstraintViolationException
RepositoryException
public Name getQName() throws RepositoryException
ItemImpl
Item.getName()
except that
this method returns a Name
instead of a
String
.
getQName
in class ItemImpl
Name
RepositoryException
- if an error occurs.ItemImpl.getQName()
public NodeId getNodeId()
Node
.
Node
public void orderBefore(Path.Element srcName, Path.Element dstName) throws UnsupportedRepositoryOperationException, VersionException, ConstraintViolationException, ItemNotFoundException, LockException, RepositoryException
Node.orderBefore(String, String)
except that
this method takes a Path.Element
arguments instead of
String
s.
srcName
- dstName
-
UnsupportedRepositoryOperationException
VersionException
ConstraintViolationException
ItemNotFoundException
LockException
RepositoryException
public NodeImpl replaceChildNode(NodeId id, Name nodeName, Name nodeTypeName, Name[] mixinNames) throws ItemNotFoundException, NoSuchNodeTypeException, VersionException, ConstraintViolationException, LockException, RepositoryException
id
by a new child node with the same id and specified nodeName
,
nodeTypeName
and mixinNames
.
id
- id of the child node to be replacednodeName
- name of the new nodenodeTypeName
- name of the new node's node typemixinNames
- name of the new node's mixin types
ItemNotFoundException
NoSuchNodeTypeException
VersionException
ConstraintViolationException
LockException
RepositoryException
public NodeImpl clone(NodeImpl src, Name name) throws ItemExistsException, VersionException, ConstraintViolationException, LockException, RepositoryException
src
- shareable source nodename
- name of new node
ItemExistsException
- if there already is a child node with the
name given and the definition does not allow creating another one
VersionException
- if this node is not checked out
ConstraintViolationException
- if no definition is found in this
node that would allow creating the child node
LockException
- if this node is locked
RepositoryException
- if some other error occurspublic boolean isNode()
isNode
in interface Item
isNode
in class ItemImpl
public String getName() throws RepositoryException
getName
in interface Item
getName
in class ItemImpl
RepositoryException
public void accept(ItemVisitor visitor) throws RepositoryException
accept
in interface Item
accept
in class ItemImpl
RepositoryException
public Node getParent() throws ItemNotFoundException, AccessDeniedException, RepositoryException
getParent
in interface Item
getParent
in class ItemImpl
ItemNotFoundException
AccessDeniedException
RepositoryException
public Node addNode(String relPath) throws ItemExistsException, PathNotFoundException, VersionException, ConstraintViolationException, LockException, RepositoryException
addNode
in interface Node
ItemExistsException
PathNotFoundException
VersionException
ConstraintViolationException
LockException
RepositoryException
public Node addNode(String relPath, String nodeTypeName) throws ItemExistsException, PathNotFoundException, NoSuchNodeTypeException, VersionException, ConstraintViolationException, LockException, RepositoryException
addNode
in interface Node
ItemExistsException
PathNotFoundException
NoSuchNodeTypeException
VersionException
ConstraintViolationException
LockException
RepositoryException
public void orderBefore(String srcName, String destName) throws UnsupportedRepositoryOperationException, VersionException, ConstraintViolationException, ItemNotFoundException, LockException, RepositoryException
orderBefore
in interface Node
UnsupportedRepositoryOperationException
VersionException
ConstraintViolationException
ItemNotFoundException
LockException
RepositoryException
public Property setProperty(String name, Value[] values) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
setProperty
in interface Node
ValueFormatException
VersionException
LockException
ConstraintViolationException
RepositoryException
public Property setProperty(String name, Value[] values, int type) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
setProperty
in interface Node
ValueFormatException
VersionException
LockException
ConstraintViolationException
RepositoryException
public Property setProperty(String name, String[] values) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
setProperty
in interface Node
ValueFormatException
VersionException
LockException
ConstraintViolationException
RepositoryException
public Property setProperty(String name, String[] values, int type) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
setProperty
in interface Node
ValueFormatException
VersionException
LockException
ConstraintViolationException
RepositoryException
public Property setProperty(String name, String value) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
setProperty
in interface Node
ValueFormatException
VersionException
LockException
ConstraintViolationException
RepositoryException
public Property setProperty(String name, String value, int type) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
setProperty
in interface Node
ValueFormatException
VersionException
LockException
ConstraintViolationException
RepositoryException
public Property setProperty(String name, Value value, int type) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
setProperty
in interface Node
ValueFormatException
VersionException
LockException
ConstraintViolationException
RepositoryException
public Property setProperty(String name, Value value) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
setProperty
in interface Node
ValueFormatException
VersionException
LockException
ConstraintViolationException
RepositoryException
public Property setProperty(String name, InputStream value) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
setProperty
in interface Node
ValueFormatException
VersionException
LockException
ConstraintViolationException
RepositoryException
public Property setProperty(String name, boolean value) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
setProperty
in interface Node
ValueFormatException
VersionException
LockException
ConstraintViolationException
RepositoryException
public Property setProperty(String name, double value) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
setProperty
in interface Node
ValueFormatException
VersionException
LockException
ConstraintViolationException
RepositoryException
public Property setProperty(String name, long value) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
setProperty
in interface Node
ValueFormatException
VersionException
LockException
ConstraintViolationException
RepositoryException
public Property setProperty(String name, Calendar value) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
setProperty
in interface Node
ValueFormatException
VersionException
LockException
ConstraintViolationException
RepositoryException
public Property setProperty(String name, Node value) throws ValueFormatException, VersionException, LockException, ConstraintViolationException, RepositoryException
setProperty
in interface Node
ValueFormatException
VersionException
LockException
ConstraintViolationException
RepositoryException
public Node getNode(String relPath) throws PathNotFoundException, RepositoryException
getNode
in interface Node
PathNotFoundException
RepositoryException
public NodeIterator getNodes() throws RepositoryException
getNodes
in interface Node
RepositoryException
public PropertyIterator getProperties() throws RepositoryException
getProperties
in interface Node
RepositoryException
public Property getProperty(String relPath) throws PathNotFoundException, RepositoryException
getProperty
in interface Node
PathNotFoundException
RepositoryException
public boolean hasNode(String relPath) throws RepositoryException
hasNode
in interface Node
RepositoryException
public boolean hasNodes() throws RepositoryException
hasNodes
in interface Node
RepositoryException
public boolean hasProperties() throws RepositoryException
hasProperties
in interface Node
RepositoryException
public boolean isNodeType(String nodeTypeName) throws RepositoryException
isNodeType
in interface Node
RepositoryException
public NodeType getPrimaryNodeType() throws RepositoryException
getPrimaryNodeType
in interface Node
RepositoryException
public NodeType[] getMixinNodeTypes() throws RepositoryException
getMixinNodeTypes
in interface Node
RepositoryException
public void addMixin(String mixinName) throws NoSuchNodeTypeException, VersionException, ConstraintViolationException, LockException, RepositoryException
addMixin
in interface Node
NoSuchNodeTypeException
VersionException
ConstraintViolationException
LockException
RepositoryException
public void removeMixin(String mixinName) throws NoSuchNodeTypeException, VersionException, ConstraintViolationException, LockException, RepositoryException
removeMixin
in interface Node
NoSuchNodeTypeException
VersionException
ConstraintViolationException
LockException
RepositoryException
public boolean canAddMixin(String mixinName) throws NoSuchNodeTypeException, RepositoryException
canAddMixin
in interface Node
NoSuchNodeTypeException
RepositoryException
public boolean hasProperty(String relPath) throws RepositoryException
hasProperty
in interface Node
RepositoryException
public PropertyIterator getReferences() throws RepositoryException
getReferences
in interface Node
RepositoryException
public NodeDefinition getDefinition() throws RepositoryException
getDefinition
in interface Node
RepositoryException
public NodeIterator getNodes(String namePattern) throws RepositoryException
getNodes
in interface Node
RepositoryException
public PropertyIterator getProperties(String namePattern) throws RepositoryException
getProperties
in interface Node
RepositoryException
public Item getPrimaryItem() throws ItemNotFoundException, RepositoryException
getPrimaryItem
in interface Node
ItemNotFoundException
RepositoryException
public String getUUID() throws UnsupportedRepositoryOperationException, RepositoryException
getUUID
in interface Node
UnsupportedRepositoryOperationException
RepositoryException
public String getCorrespondingNodePath(String workspaceName) throws ItemNotFoundException, NoSuchWorkspaceException, AccessDeniedException, RepositoryException
getCorrespondingNodePath
in interface Node
ItemNotFoundException
NoSuchWorkspaceException
AccessDeniedException
RepositoryException
public int getIndex() throws RepositoryException
getIndex
in interface Node
RepositoryException
public NodeIterator getSharedSet() throws RepositoryException
NodeIterator
RepositoryException
- if an error occurs.public void removeSharedSet() throws VersionException, LockException, ConstraintViolationException, RepositoryException
remove()
that removes this node and every
other node in the shared set of this node.
This removal must be done atomically, i.e., if one of the nodes cannot be
removed, the function throws the exception 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
LockException
ConstraintViolationException
RepositoryException
removeShare()
,
Item.remove()
public void removeShare() throws VersionException, LockException, ConstraintViolationException, RepositoryException
remove()
that removes this node, but does
not remove any other node in the shared set of this node.
All of the exceptions defined for remove()
apply to this
function. In addition, a RepositoryException
is thrown if
this node cannot be removed without removing another node in the shared
set of this node.
If this node is not shared this method removes only this node.
VersionException
LockException
ConstraintViolationException
RepositoryException
removeSharedSet()
,
Item.remove()
public Path getPrimaryPath() throws RepositoryException
Item
.
Overridden to return a different path for shareable nodes.
TODO SN: copies functionality in that is already available in
HierarchyManagerImpl, namely composing a path by
concatenating the parent path + this node's name and index:
rather use hierarchy manager to do this
getPrimaryPath
in class ItemImpl
Item
RepositoryException
public Version checkin() throws VersionException, UnsupportedRepositoryOperationException, InvalidItemStateException, LockException, RepositoryException
checkin
in interface Node
VersionException
UnsupportedRepositoryOperationException
InvalidItemStateException
LockException
RepositoryException
public void checkout() throws UnsupportedRepositoryOperationException, LockException, RepositoryException
checkout
in interface Node
UnsupportedRepositoryOperationException
LockException
RepositoryException
public void update(String srcWorkspaceName) throws NoSuchWorkspaceException, AccessDeniedException, LockException, InvalidItemStateException, RepositoryException
update
in interface Node
NoSuchWorkspaceException
AccessDeniedException
LockException
InvalidItemStateException
RepositoryException
public NodeIterator merge(String srcWorkspace, boolean bestEffort) throws NoSuchWorkspaceException, AccessDeniedException, VersionException, LockException, InvalidItemStateException, RepositoryException
merge
in interface Node
NoSuchWorkspaceException
AccessDeniedException
VersionException
LockException
InvalidItemStateException
RepositoryException
public void cancelMerge(Version version) throws VersionException, InvalidItemStateException, UnsupportedRepositoryOperationException, RepositoryException
cancelMerge
in interface Node
VersionException
InvalidItemStateException
UnsupportedRepositoryOperationException
RepositoryException
public void doneMerge(Version version) throws VersionException, InvalidItemStateException, UnsupportedRepositoryOperationException, RepositoryException
doneMerge
in interface Node
VersionException
InvalidItemStateException
UnsupportedRepositoryOperationException
RepositoryException
public boolean isCheckedOut() throws RepositoryException
isCheckedOut
in interface Node
RepositoryException
public void restore(String versionName, boolean removeExisting) throws VersionException, ItemExistsException, UnsupportedRepositoryOperationException, LockException, InvalidItemStateException, RepositoryException
restore
in interface Node
VersionException
ItemExistsException
UnsupportedRepositoryOperationException
LockException
InvalidItemStateException
RepositoryException
public void restore(Version version, boolean removeExisting) throws VersionException, ItemExistsException, UnsupportedRepositoryOperationException, LockException, RepositoryException
restore
in interface Node
VersionException
ItemExistsException
UnsupportedRepositoryOperationException
LockException
RepositoryException
public void restore(Version version, String relPath, boolean removeExisting) throws PathNotFoundException, ItemExistsException, VersionException, ConstraintViolationException, UnsupportedRepositoryOperationException, LockException, InvalidItemStateException, RepositoryException
restore
in interface Node
PathNotFoundException
ItemExistsException
VersionException
ConstraintViolationException
UnsupportedRepositoryOperationException
LockException
InvalidItemStateException
RepositoryException
public void restoreByLabel(String versionLabel, boolean removeExisting) throws VersionException, ItemExistsException, UnsupportedRepositoryOperationException, LockException, InvalidItemStateException, RepositoryException
restoreByLabel
in interface Node
VersionException
ItemExistsException
UnsupportedRepositoryOperationException
LockException
InvalidItemStateException
RepositoryException
public VersionHistory getVersionHistory() throws UnsupportedRepositoryOperationException, RepositoryException
getVersionHistory
in interface Node
UnsupportedRepositoryOperationException
RepositoryException
public Version getBaseVersion() throws UnsupportedRepositoryOperationException, RepositoryException
getBaseVersion
in interface Node
UnsupportedRepositoryOperationException
RepositoryException
protected boolean internalIsCheckedOut() throws RepositoryException
RepositoryException
Node.isCheckedOut()
protected Version[] internalRestore(VersionImpl version, VersionSelector vsel, boolean removeExisting) throws RepositoryException
version
- vsel
- the version selector that will select the correct version for
OPV=Version child nodes.removeExisting
-
RepositoryException
protected void internalCopyPropertyFrom(PropertyImpl prop) throws RepositoryException
prop
-
RepositoryException
public Lock lock(boolean isDeep, boolean isSessionScoped) throws UnsupportedRepositoryOperationException, LockException, AccessDeniedException, InvalidItemStateException, RepositoryException
lock
in interface Node
UnsupportedRepositoryOperationException
LockException
AccessDeniedException
InvalidItemStateException
RepositoryException
public Lock getLock() throws UnsupportedRepositoryOperationException, LockException, AccessDeniedException, RepositoryException
getLock
in interface Node
UnsupportedRepositoryOperationException
LockException
AccessDeniedException
RepositoryException
public void unlock() throws UnsupportedRepositoryOperationException, LockException, AccessDeniedException, InvalidItemStateException, RepositoryException
unlock
in interface Node
UnsupportedRepositoryOperationException
LockException
AccessDeniedException
InvalidItemStateException
RepositoryException
public boolean holdsLock() throws RepositoryException
holdsLock
in interface Node
RepositoryException
public boolean isLocked() throws RepositoryException
isLocked
in interface Node
RepositoryException
protected void checkLock() throws LockException, RepositoryException
LockException
- if this node is locked by somebody else
RepositoryException
- if some other error occurspublic String getIdentifier() throws RepositoryException
RepositoryException
is thrown if an error occurs.
RepositoryException
- If an error occurs.public PropertyIterator getReferences(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 level 2 implementations may only return properties that have been
saved (in a transactional setting this includes both those properties
that have been saved but not yet committed, as well as properties that
have been committed). Other level 2 implementations may additionally
return properties that have been added within the current Session
but are not yet saved.
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 properties with the specified name,
an empty iterator is returned.
name
- name of referring REFERENCE
properties to be
returned; if null
then all referring REFERENCE
s
are returned
PropertyIterator
.
RepositoryException
- if an error occurspublic void setPrimaryType(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 and must take effect on save
. Whichever
behavior is adopted it must be the same as the behavior adopted for
addMixin()
(see below) 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 a ConstraintViolationException
is thrown either immediately or on save
.
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 or on save
.
A ConstraintViolationException
is also thrown either
immediately or on save
if a conflict with an already
assigned mixin occurs.
A ConstraintViolationException
may also be thrown either
immediately or on save
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
or on save
.
A VersionException
is thrown either immediately or on
save
if this node is versionable and checked-in, or is
non-versionable but its nearest versionable ancestor is checked-in.
A LockException
is thrown either immediately or on
save
if a lock prevents the change of node type.
A RepositoryException
will be thrown if another error occurs.
nodeTypeName
- the name of the new node type.
ConstraintViolationException
- If the specified primary node type
is prevented from being assigned.
NoSuchNodeTypeException
- If the specified nodeTypeName
is not recognized and this implementation performs this validation
immediately instead of waiting until save
.
VersionException
- if this node 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 change of the primary node type
and this implementation performs this validation immediately instead of
waiting until save
.
RepositoryException
- if another error occurs.public String toString()
toString
in class ItemImpl
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |