org.apache.jackrabbit.jcr2spi.hierarchy
Interface HierarchyManager

All Known Implementing Classes:
HierarchyManagerImpl

public interface HierarchyManager

HierarchyManager...


Method Summary
 void dispose()
          Dispose this HierarchyManager
 int getDepth(HierarchyEntry hierarchyEntry)
          Returns the depth of the specified item.
 HierarchyEntry getHierarchyEntry(ItemId itemId)
          Resolves a itemId into a HierarchyEntry.
 HierarchyEntry getHierarchyEntry(Path qPath)
          Resolves a path into a HierarchyEntry.
 ItemState getItemState(Path qPath)
          Retrieves the HierarchyEntry corresponding to the given path and resolves it to the underlying ItemState.
 int getRelativeDepth(NodeEntry ancestor, HierarchyEntry descendant)
          Returns the depth of the specified descendant relative to the given ancestor.
 NodeEntry getRootEntry()
           
 HierarchyEntry lookup(ItemId workspaceItemId)
          Lookup of HierarchyEntry workspace Id, that may be different if a entry (or any of its ancestors) has been transiently moved or reordered.

If the Hierarchy already lists the entry with the given workspaceItemId it is returned otherwise null.

 

Method Detail

dispose

void dispose()
Dispose this HierarchyManager


getRootEntry

NodeEntry getRootEntry()
Returns:

lookup

HierarchyEntry lookup(ItemId workspaceItemId)
Lookup of HierarchyEntry workspace Id, that may be different if a entry (or any of its ancestors) has been transiently moved or reordered.

If the Hierarchy already lists the entry with the given workspaceItemId it is returned otherwise null. See getHierarchyEntry(ItemId) for a method that resolves the ItemId including lookup in the persistence layer if the entry has not been loaded yet.

Parameters:
workspaceItemId -
Returns:

getHierarchyEntry

HierarchyEntry getHierarchyEntry(ItemId itemId)
                                 throws ItemNotFoundException,
                                        RepositoryException
Resolves a itemId into a HierarchyEntry.

Parameters:
itemId -
Returns:
Throws:
PathNotFoundException
RepositoryException
ItemNotFoundException

getHierarchyEntry

HierarchyEntry getHierarchyEntry(Path qPath)
                                 throws PathNotFoundException,
                                        RepositoryException
Resolves a path into a HierarchyEntry.

Parameters:
qPath -
Returns:
Throws:
PathNotFoundException
RepositoryException

getItemState

ItemState getItemState(Path qPath)
                       throws PathNotFoundException,
                              RepositoryException
Retrieves the HierarchyEntry corresponding to the given path and resolves it to the underlying ItemState.

Parameters:
qPath -
Returns:
Throws:
PathNotFoundException
RepositoryException

getDepth

int getDepth(HierarchyEntry hierarchyEntry)
             throws ItemNotFoundException,
                    RepositoryException
Returns the depth of the specified item. The depth reflects the absolute hierarchy level.

Parameters:
hierarchyEntry -
Returns:
the depth of the specified item
Throws:
RepositoryException - if another error occurs
ItemNotFoundException

getRelativeDepth

int getRelativeDepth(NodeEntry ancestor,
                     HierarchyEntry descendant)
                     throws ItemNotFoundException,
                            RepositoryException
Returns the depth of the specified descendant relative to the given ancestor. If ancestor and descendant denote the same item 0 is returned. If ancestor does not denote an ancestor -1 is returned.

Parameters:
ancestor - NodeEntry that must be an ancestor of the descendant
descendant - HierarchyEntry
Returns:
the relative depth; -1 if ancestor does not denote an ancestor of the item denoted by descendant (or itself).
Throws:
ItemNotFoundException - If either of the specified id's does not denote an existing item.
RepositoryException - If another error occurs.


Copyright © 2004-2008 The Apache Software Foundation. All Rights Reserved.