info.magnolia.cms.core
Class DefaultContent

java.lang.Object
  extended by info.magnolia.cms.core.ContentHandler
      extended by info.magnolia.cms.core.AbstractContent
          extended by info.magnolia.cms.core.DefaultContent
All Implemented Interfaces:
Content, java.lang.Cloneable
Direct Known Subclasses:
ContentVersion

public class DefaultContent
extends AbstractContent

Default, JCR-based, implementation of Content.

Version:
$Revision:2719 $ ($Author:scharles $)
Author:
Sameer Charles

Nested Class Summary
 
Nested classes/interfaces inherited from interface info.magnolia.cms.core.Content
Content.ContentFilter
 
Field Summary
protected  javax.jcr.Node node
          Wrapped jcr node.
 
Fields inherited from class info.magnolia.cms.core.ContentHandler
hierarchyManager
 
Constructor Summary
protected DefaultContent()
          Empty constructor.
  DefaultContent(javax.jcr.Item elem, HierarchyManager hierarchyManager)
          Constructor to get existing node.
 
Method Summary
 void addMixin(java.lang.String type)
          add specified mixin type if allowed.
 javax.jcr.version.Version addVersion()
          add version leaving the node checked out.
 javax.jcr.version.Version addVersion(Rule rule)
          add version leaving the node checked out.
 Content createContent(java.lang.String name, java.lang.String contentType)
          Creates a Content node under the current node with the specified name.
 void delete()
          Remove this path.
protected  int determineNodeDataType(java.lang.String name)
           
 javax.jcr.version.VersionIterator getAllVersions()
           
 Content getAncestor(int level)
          get absolute parent object starting from the root node.
 java.util.Collection<Content> getAncestors()
          Convenience method for taglib.
 ContentVersion getBaseVersion()
          get the current base version of this node.
 java.util.Collection<Content> getChildren(Content.ContentFilter filter, java.lang.String namePattern, java.util.Comparator<Content> orderCriteria)
           
 Content getContent(java.lang.String name)
          Gets the Content node of the current node with the specified name.
 java.lang.String getHandle()
          get a handle representing path relative to the content repository.
 int getIndex()
          This method returns the index of this node within the ordered set of its same-name sibling nodes.
 ItemType getItemType()
          Get the magnolia ItemType.
 javax.jcr.Node getJCRNode()
          utility method to get Node object used to create current content object.
 int getLevel()
          get node level from the ROOT node.
 javax.jcr.lock.Lock getLock()
          Returns the Lock object that applies to this node.
 MetaData getMetaData()
          Returns the meta data of the current node.
 javax.jcr.nodetype.NodeType[] getMixinNodeTypes()
          Returns an array of NodeType objects representing the mixin node types assigned to this node.
 java.lang.String getName()
          get node name.
 java.util.Collection<NodeData> getNodeDataCollection(java.lang.String namePattern)
          Gets all node datas matching the given pattern.
 javax.jcr.nodetype.NodeType getNodeType()
          returns primary node type definition of the associated Node of this object.
 java.lang.String getNodeTypeName()
          returns primary node type name of the associated Node of this object.
 Content getParent()
          get parent content object.
protected  java.util.Collection<NodeData> getPrimitiveNodeDatas(java.lang.String namePattern)
           
 java.lang.String getUUID()
          UUID of the node referenced by this object.
 ContentVersion getVersionedContent(java.lang.String versionName)
          get content view over the jcr version object.
 ContentVersion getVersionedContent(javax.jcr.version.Version version)
          get content view over the jcr version object.
 javax.jcr.version.VersionHistory getVersionHistory()
           
 boolean hasContent(java.lang.String name)
           
 boolean hasMetaData()
          checks if this node has a sub node with name MetaData.
 boolean hasMixin(java.lang.String mixinName)
          Checks whether or not given mixin is assigned to a type.
 boolean hasNodeData(java.lang.String name)
          Delegates to NodeData.isExist().
 boolean holdsLock()
          Returns true if this node holds a lock; otherwise returns false.
protected  boolean isCheckedOut()
          Returns true if this node is either
  • versionable and currently checked-out,
  • non-versionable and its nearest versionable ancestor is checked-out or
  • non-versionable and it has no versionable ancestor.
  •  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 isModified()
              Returns true if this Item has been saved but has subsequently been modified through the current session and therefore the state of this item as recorded in the session differs from the state of this item as saved.
    protected  boolean isNodeType(javax.jcr.Node node, java.lang.String type)
              private Helper method to evaluate primary node type of the given node.
     boolean isNodeType(java.lang.String type)
              evaluate primary node type of the associated Node of this object.
     javax.jcr.lock.Lock lock(boolean isDeep, boolean isSessionScoped)
              places a lock on this object.
     javax.jcr.lock.Lock lock(boolean isDeep, boolean isSessionScoped, long yieldFor)
              places a lock on this object.
     NodeData newNodeDataInstance(java.lang.String name, int type, boolean createIfNotExisting)
              As defined in Content.getNodeData(String) this method always returns a node data object.
     void orderBefore(java.lang.String srcName, java.lang.String beforeName)
              move current node to the specified location above the named beforename.
     void refresh(boolean keepChanges)
              If keepChanges is false, this method discards all pending changes recorded in this session.
     void removeMixin(java.lang.String type)
              Removes the specified mixin node type from this node.
     void removeVersionHistory()
              removes all versions of this node and associated version graph.
     void restore(java.lang.String versionName, boolean removeExisting)
              Restores this node to the state defined by the version with the specified versionName.
     void restore(javax.jcr.version.Version version, boolean removeExisting)
              Restores this node to the state defined by the specified version.
     void restore(javax.jcr.version.Version version, java.lang.String relPath, boolean removeExisting)
              Restores the specified version to relPath, relative to this node.
     void restoreByLabel(java.lang.String versionLabel, boolean removeExisting)
              Restores this node to the state recorded in the version specified by versionLabel.
     void save()
              Persists all changes to the repository if validation succeeds.
    protected  void setNode(javax.jcr.Node node)
               
    protected  void setPath(java.lang.String path)
               
    protected  void setRootNode(javax.jcr.Node node)
               
     void unlock()
              Removes the lock on this node.
     
    Methods inherited from class info.magnolia.cms.core.AbstractContent
    createContent, createContent, createNodeData, createNodeData, createNodeData, createNodeData, createNodeData, delete, deleteNodeData, getBinaryNodeDatas, getChildByName, getChildren, getChildren, getChildren, getChildren, getChildren, getChildren, getNodeData, getNodeDataCollection, getTemplate, getTitle, getWorkspace, hasChildren, hasChildren, isGranted, isNodeData, setNodeData, setNodeData, setNodeData, setNodeData, setNodeData, setNodeData, setNodeData, setNodeData, setNodeData, setNodeData, toString, updateMetaData
     
    Methods inherited from class info.magnolia.cms.core.ContentHandler
    clone, getAccessManager, getHierarchyManager, setAccessManager, setHierarchyManager
     
    Methods inherited from class java.lang.Object
    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
     
    Methods inherited from interface info.magnolia.cms.core.Content
    getAccessManager, getHierarchyManager
     

    Field Detail

    node

    protected javax.jcr.Node node
    Wrapped jcr node.

    Constructor Detail

    DefaultContent

    protected DefaultContent()
    Empty constructor. Should NEVER be used for standard use, test only.


    DefaultContent

    public DefaultContent(javax.jcr.Item elem,
                          HierarchyManager hierarchyManager)
                   throws javax.jcr.RepositoryException,
                          AccessDeniedException
    Constructor to get existing node.

    Parameters:
    elem - initialized node object
    hierarchyManager - HierarchyManager instance
    Throws:
    AccessDeniedException - if the current session does not have sufficient access rights to complete the operation
    javax.jcr.RepositoryException - if an error occurs
    Method Detail

    setNode

    protected void setNode(javax.jcr.Node node)
    Parameters:
    node -

    setRootNode

    protected void setRootNode(javax.jcr.Node node)
    Parameters:
    node -

    setPath

    protected void setPath(java.lang.String path)
    Parameters:
    path -

    getContent

    public Content getContent(java.lang.String name)
                       throws javax.jcr.PathNotFoundException,
                              javax.jcr.RepositoryException,
                              AccessDeniedException
    Description copied from interface: Content
    Gets the Content node of the current node with the specified name.

    Parameters:
    name - of the node acting as Content
    Returns:
    Content
    Throws:
    javax.jcr.PathNotFoundException
    javax.jcr.RepositoryException - if an error occurs
    AccessDeniedException - if the current session does not have sufficient access rights to complete the operation

    createContent

    public Content createContent(java.lang.String name,
                                 java.lang.String contentType)
                          throws javax.jcr.PathNotFoundException,
                                 javax.jcr.RepositoryException,
                                 AccessDeniedException
    Description copied from interface: Content
    Creates a Content node under the current node with the specified name.

    Parameters:
    name - of the node to be created as Content
    contentType - JCR node type as configured
    Returns:
    newly created Content
    Throws:
    javax.jcr.PathNotFoundException
    javax.jcr.RepositoryException - if an error occurs
    AccessDeniedException - if the current session does not have sufficient access rights to complete the operation

    hasNodeData

    public boolean hasNodeData(java.lang.String name)
                        throws javax.jcr.RepositoryException
    Description copied from class: AbstractContent
    Delegates to NodeData.isExist().

    Specified by:
    hasNodeData in interface Content
    Overrides:
    hasNodeData in class AbstractContent
    Throws:
    javax.jcr.RepositoryException - if an error occurs

    newNodeDataInstance

    public NodeData newNodeDataInstance(java.lang.String name,
                                        int type,
                                        boolean createIfNotExisting)
                                 throws AccessDeniedException,
                                        javax.jcr.RepositoryException
    Description copied from class: AbstractContent
    As defined in Content.getNodeData(String) this method always returns a node data object. If the type is PropertyType.UNDEFINED the implementation should check if the node data exists and determine the type to use.

    Specified by:
    newNodeDataInstance in class AbstractContent
    createIfNotExisting - if false an empty non-mutable node data will be returned if the node data doesn't exist otherwise a mutable nodedata object is returned (depending on the type)
    Throws:
    AccessDeniedException
    javax.jcr.RepositoryException

    determineNodeDataType

    protected int determineNodeDataType(java.lang.String name)

    getMetaData

    public MetaData getMetaData()
    Description copied from interface: Content
    Returns the meta data of the current node.

    Returns:
    MetaData meta information of the content Node

    getName

    public java.lang.String getName()
    Description copied from interface: Content
    get node name.

    Returns:
    String name of the current Node

    getChildren

    public java.util.Collection<Content> getChildren(Content.ContentFilter filter,
                                                     java.lang.String namePattern,
                                                     java.util.Comparator<Content> orderCriteria)
    Specified by:
    getChildren in class AbstractContent
    namePattern - ignored if null.

    getNodeDataCollection

    public java.util.Collection<NodeData> getNodeDataCollection(java.lang.String namePattern)
    Description copied from interface: Content
    Gets all node datas matching the given pattern. If no pattern is given (null), gets all node datas.


    getPrimitiveNodeDatas

    protected java.util.Collection<NodeData> getPrimitiveNodeDatas(java.lang.String namePattern)
                                                            throws javax.jcr.RepositoryException
    Throws:
    javax.jcr.RepositoryException

    hasContent

    public boolean hasContent(java.lang.String name)
                       throws javax.jcr.RepositoryException
    Throws:
    javax.jcr.RepositoryException - if an error occurs

    getHandle

    public java.lang.String getHandle()
    Description copied from interface: Content
    get a handle representing path relative to the content repository.

    Returns:
    String representing path (handle) of the content

    getParent

    public Content getParent()
                      throws javax.jcr.PathNotFoundException,
                             javax.jcr.RepositoryException,
                             AccessDeniedException
    Description copied from interface: Content
    get parent content object.

    Returns:
    Content representing parent node
    Throws:
    javax.jcr.PathNotFoundException
    AccessDeniedException - if the current session does not have sufficient access rights to complete the operation
    javax.jcr.RepositoryException - if an error occurs

    getAncestor

    public Content getAncestor(int level)
                        throws javax.jcr.PathNotFoundException,
                               javax.jcr.RepositoryException,
                               AccessDeniedException
    Description copied from interface: Content
    get absolute parent object starting from the root node.

    Parameters:
    level - level at which the requested node exist, relative to the ROOT node
    Returns:
    Content representing parent node
    Throws:
    AccessDeniedException - if the current session does not have sufficient access rights to complete the operation
    javax.jcr.RepositoryException - if an error occurs
    javax.jcr.PathNotFoundException

    getAncestors

    public java.util.Collection<Content> getAncestors()
                                               throws javax.jcr.PathNotFoundException,
                                                      javax.jcr.RepositoryException
    Description copied from interface: Content
    Convenience method for taglib.

    Returns:
    Content representing node on level 0
    Throws:
    javax.jcr.RepositoryException - if an error occurs
    javax.jcr.PathNotFoundException

    getLevel

    public int getLevel()
                 throws javax.jcr.PathNotFoundException,
                        javax.jcr.RepositoryException
    Description copied from interface: Content
    get node level from the ROOT node.

    Returns:
    level at which current node exist, relative to the ROOT node
    Throws:
    javax.jcr.PathNotFoundException
    javax.jcr.RepositoryException - if an error occurs

    orderBefore

    public void orderBefore(java.lang.String srcName,
                            java.lang.String beforeName)
                     throws javax.jcr.RepositoryException
    Description copied from interface: Content
    move current node to the specified location above the named beforename.

    Parameters:
    srcName - where current node has to be moved
    beforeName - name of the node before the current node has to be placed
    Throws:
    javax.jcr.RepositoryException - if an error occurs

    getIndex

    public int getIndex()
                 throws javax.jcr.RepositoryException
    Description copied from interface: Content
    This method returns the index of this node within the ordered set of its same-name sibling nodes. This index is the one used to address same-name siblings using the square-bracket notation, e.g., /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.

    Returns:
    The index of this node within the ordered set of its same-name sibling nodes.
    Throws:
    javax.jcr.RepositoryException - if an error occurs

    getJCRNode

    public javax.jcr.Node getJCRNode()
    Description copied from interface: Content
    utility method to get Node object used to create current content object.

    Returns:
    Node

    isNodeType

    public boolean isNodeType(java.lang.String type)
    Description copied from interface: Content
    evaluate primary node type of the associated Node of this object.


    isNodeType

    protected boolean isNodeType(javax.jcr.Node node,
                                 java.lang.String type)
    private Helper method to evaluate primary node type of the given node.

    Parameters:
    node -
    type -

    getNodeType

    public javax.jcr.nodetype.NodeType getNodeType()
                                            throws javax.jcr.RepositoryException
    Description copied from interface: Content
    returns primary node type definition of the associated Node of this object.

    Throws:
    javax.jcr.RepositoryException - if an error occurs

    getNodeTypeName

    public java.lang.String getNodeTypeName()
                                     throws javax.jcr.RepositoryException
    Description copied from interface: Content
    returns primary node type name of the associated Node of this object.

    Throws:
    javax.jcr.RepositoryException - if an error occurs

    getItemType

    public ItemType getItemType()
                         throws javax.jcr.RepositoryException
    Description copied from interface: Content
    Get the magnolia ItemType.

    Returns:
    the type
    Throws:
    javax.jcr.RepositoryException

    restore

    public void restore(java.lang.String versionName,
                        boolean removeExisting)
                 throws javax.jcr.version.VersionException,
                        javax.jcr.UnsupportedRepositoryOperationException,
                        javax.jcr.RepositoryException
    Description copied from interface: Content
    Restores this node to the state defined by the version with the specified versionName.

    Throws:
    javax.jcr.version.VersionException - if the specified versionName does not exist in this node's version history
    javax.jcr.RepositoryException - if an error occurs
    javax.jcr.UnsupportedRepositoryOperationException

    restore

    public void restore(javax.jcr.version.Version version,
                        boolean removeExisting)
                 throws javax.jcr.version.VersionException,
                        javax.jcr.UnsupportedRepositoryOperationException,
                        javax.jcr.RepositoryException
    Description copied from interface: Content
    Restores this node to the state defined by the specified version.

    Throws:
    javax.jcr.version.VersionException - if the specified version is not part of this node's version history
    javax.jcr.RepositoryException - if an error occurs
    javax.jcr.UnsupportedRepositoryOperationException

    restore

    public void restore(javax.jcr.version.Version version,
                        java.lang.String relPath,
                        boolean removeExisting)
                 throws javax.jcr.version.VersionException,
                        javax.jcr.UnsupportedRepositoryOperationException,
                        javax.jcr.RepositoryException
    Description copied from interface: Content
    Restores the specified version to relPath, relative to this node.

    Throws:
    javax.jcr.version.VersionException - if the specified version is not part of this node's version history
    javax.jcr.RepositoryException - if an error occurs
    javax.jcr.UnsupportedRepositoryOperationException

    restoreByLabel

    public void restoreByLabel(java.lang.String versionLabel,
                               boolean removeExisting)
                        throws javax.jcr.version.VersionException,
                               javax.jcr.UnsupportedRepositoryOperationException,
                               javax.jcr.RepositoryException
    Description copied from interface: Content
    Restores this node to the state recorded in the version specified by versionLabel.

    Throws:
    javax.jcr.version.VersionException - if the specified versionLabel does not exist in this node's version history
    javax.jcr.RepositoryException - if an error occurs
    javax.jcr.UnsupportedRepositoryOperationException

    addVersion

    public javax.jcr.version.Version addVersion()
                                         throws javax.jcr.UnsupportedRepositoryOperationException,
                                                javax.jcr.RepositoryException
    Description copied from interface: Content
    add version leaving the node checked out.

    Throws:
    javax.jcr.UnsupportedRepositoryOperationException
    javax.jcr.RepositoryException - if an error occurs

    addVersion

    public javax.jcr.version.Version addVersion(Rule rule)
                                         throws javax.jcr.UnsupportedRepositoryOperationException,
                                                javax.jcr.RepositoryException
    Description copied from interface: Content
    add version leaving the node checked out.

    Parameters:
    rule - to be used to collect content
    Throws:
    javax.jcr.UnsupportedRepositoryOperationException
    javax.jcr.RepositoryException - if an error occurs
    See Also:
    Rule

    isCheckedOut

    protected boolean isCheckedOut()
                            throws javax.jcr.RepositoryException
    Returns true if this node is either Returns false if this node is either

    Returns:
    true if the node is checked out
    Throws:
    javax.jcr.RepositoryException

    isModified

    public boolean isModified()
    Description copied from interface: Content
    Returns true if this Item has been saved but has subsequently been modified through the current session and therefore the state of this item as recorded in the session differs from the state of this item as saved. Within a transaction, isModified on an Item may return false (because the Item has been saved since the modification) even if the modification in question is not in persistent storage (because the transaction has not yet been committed).

    Note that in level 1 (that is, read-only) implementations, this method will always return false.

    Returns:
    true if this item is modified; false otherwise.

    getVersionHistory

    public javax.jcr.version.VersionHistory getVersionHistory()
                                                       throws javax.jcr.UnsupportedRepositoryOperationException,
                                                              javax.jcr.RepositoryException
    Returns:
    version history
    Throws:
    javax.jcr.RepositoryException - if an error occurs
    javax.jcr.UnsupportedRepositoryOperationException

    getAllVersions

    public javax.jcr.version.VersionIterator getAllVersions()
                                                     throws javax.jcr.UnsupportedRepositoryOperationException,
                                                            javax.jcr.RepositoryException
    Returns:
    Version iterator retreived from version history
    Throws:
    javax.jcr.RepositoryException - if an error occurs
    javax.jcr.UnsupportedRepositoryOperationException

    getBaseVersion

    public ContentVersion getBaseVersion()
                                  throws javax.jcr.UnsupportedRepositoryOperationException,
                                         javax.jcr.RepositoryException
    Description copied from interface: Content
    get the current base version of this node.

    Returns:
    base ContentVersion
    Throws:
    javax.jcr.UnsupportedRepositoryOperationException
    javax.jcr.RepositoryException

    getVersionedContent

    public ContentVersion getVersionedContent(javax.jcr.version.Version version)
                                       throws javax.jcr.RepositoryException
    Description copied from interface: Content
    get content view over the jcr version object.

    Returns:
    version object wrapped in ContentVersion
    Throws:
    javax.jcr.RepositoryException
    See Also:
    ContentVersion

    getVersionedContent

    public ContentVersion getVersionedContent(java.lang.String versionName)
                                       throws javax.jcr.RepositoryException
    Description copied from interface: Content
    get content view over the jcr version object.

    Returns:
    version object wrapped in ContentVersion
    Throws:
    javax.jcr.RepositoryException
    See Also:
    ContentVersion

    removeVersionHistory

    public void removeVersionHistory()
                              throws AccessDeniedException,
                                     javax.jcr.RepositoryException
    Description copied from interface: Content
    removes all versions of this node and associated version graph.

    Throws:
    AccessDeniedException - If not allowed to do write operations on this node
    javax.jcr.RepositoryException - if unable to remove versions from version store

    save

    public void save()
              throws javax.jcr.RepositoryException
    Description copied from interface: Content
    Persists all changes to the repository if validation succeeds.

    Throws:
    javax.jcr.RepositoryException - if an error occurs

    delete

    public void delete()
                throws javax.jcr.RepositoryException
    Description copied from interface: Content
    Remove this path.

    Throws:
    javax.jcr.RepositoryException - if an error occurs

    refresh

    public void refresh(boolean keepChanges)
                 throws javax.jcr.RepositoryException
    Description copied from interface: Content
    If keepChanges is false, this method discards all pending changes recorded in this session.

    Throws:
    javax.jcr.RepositoryException - if an error occurs
    See Also:
    Item.refresh(boolean)

    getUUID

    public java.lang.String getUUID()
    Description copied from interface: Content
    UUID of the node referenced by this object.

    Returns:
    uuid

    addMixin

    public void addMixin(java.lang.String type)
                  throws javax.jcr.RepositoryException
    Description copied from interface: Content
    add specified mixin type if allowed.

    Parameters:
    type - mixin type to be added
    Throws:
    javax.jcr.RepositoryException - if an error occurs

    removeMixin

    public void removeMixin(java.lang.String type)
                     throws javax.jcr.RepositoryException
    Description copied from interface: Content
    Removes the specified mixin node type from this node. Also removes mixinName from this node's jcr:mixinTypes property. The mixin node type removal takes effect on save.

    Parameters:
    type - , mixin type to be removed
    Throws:
    javax.jcr.RepositoryException - if an error occurs

    getMixinNodeTypes

    public javax.jcr.nodetype.NodeType[] getMixinNodeTypes()
                                                    throws javax.jcr.RepositoryException
    Description copied from interface: Content
    Returns an array of NodeType objects representing the mixin node types assigned to this node. This includes only those mixin types explicitly assigned to this node, and therefore listed in the property jcr:mixinTypes. It does not include mixin types inherited through the addition of supertypes to the primary type hierarchy.

    Returns:
    an array of mixin NodeType objects.
    Throws:
    javax.jcr.RepositoryException - if an error occurs

    lock

    public javax.jcr.lock.Lock lock(boolean isDeep,
                                    boolean isSessionScoped)
                             throws javax.jcr.lock.LockException,
                                    javax.jcr.RepositoryException
    Description copied from interface: Content
    places a lock on this object.

    Parameters:
    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.
    Returns:
    A Lock object containing a lock token.
    Throws:
    javax.jcr.lock.LockException - if this node is already locked or isDeep is true and a descendant node of this node already holds a lock.
    javax.jcr.RepositoryException - if an error occurs
    See Also:
    Node.lock(boolean,boolean)

    lock

    public javax.jcr.lock.Lock lock(boolean isDeep,
                                    boolean isSessionScoped,
                                    long yieldFor)
                             throws javax.jcr.lock.LockException,
                                    javax.jcr.RepositoryException
    Description copied from interface: Content
    places a lock on this object.

    Parameters:
    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.
    yieldFor - number of milliseconds for which this method will try to get a lock
    Returns:
    A Lock object containing a lock token.
    Throws:
    javax.jcr.lock.LockException - if this node is already locked or isDeep is true and a descendant node of this node already holds a lock.
    javax.jcr.RepositoryException - if an error occurs
    See Also:
    Node.lock(boolean,boolean)

    getLock

    public javax.jcr.lock.Lock getLock()
                                throws javax.jcr.lock.LockException,
                                       javax.jcr.RepositoryException
    Description copied from interface: Content
    Returns the 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.

    Throws:
    javax.jcr.lock.LockException - If no lock applies to this node, a LockException is thrown.
    javax.jcr.RepositoryException - if an error occurs

    unlock

    public void unlock()
                throws javax.jcr.lock.LockException,
                       javax.jcr.RepositoryException
    Description copied from interface: Content
    Removes the lock on this node. Also removes the properties jcr:lockOwner and jcr:lockIsDeep from this node. These changes are persisted automatically; there is no need to call save.

    Throws:
    javax.jcr.lock.LockException - if either does not currently hold a lock, or holds a lock for which this Session does not have the correct lock token
    javax.jcr.RepositoryException - if an error occurs

    holdsLock

    public boolean holdsLock()
                      throws javax.jcr.RepositoryException
    Description copied from interface: Content
    Returns 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.

    Returns:
    a boolean
    Throws:
    javax.jcr.RepositoryException - if an error occurs

    isLocked

    public boolean isLocked()
                     throws javax.jcr.RepositoryException
    Description copied from interface: Content
    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.

    Returns:
    a boolean
    Throws:
    javax.jcr.RepositoryException - if an error occurs

    hasMetaData

    public boolean hasMetaData()
    Description copied from interface: Content
    checks if this node has a sub node with name MetaData.

    Returns:
    true if MetaData exists

    hasMixin

    public boolean hasMixin(java.lang.String mixinName)
                     throws javax.jcr.RepositoryException
    Description copied from interface: Content
    Checks whether or not given mixin is assigned to a type.

    Throws:
    javax.jcr.RepositoryException


    Copyright © 2003-2011 Magnolia International Ltd.. All Rights Reserved.