org.apache.jackrabbit.jcr2spi.hierarchy
Class HierarchyManagerImpl

java.lang.Object
  extended by org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyManagerImpl
All Implemented Interfaces:
HierarchyManager

public class HierarchyManagerImpl
extends Object
implements HierarchyManager

HierarchyManagerImpl implements the HierarchyManager interface.


Constructor Summary
HierarchyManagerImpl(TransientItemStateFactory isf, IdFactory idFactory, PathFactory pathFactory)
           
 
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.

 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HierarchyManagerImpl

public HierarchyManagerImpl(TransientItemStateFactory isf,
                            IdFactory idFactory,
                            PathFactory pathFactory)
Method Detail

dispose

public void dispose()
Description copied from interface: HierarchyManager
Dispose this HierarchyManager

Specified by:
dispose in interface HierarchyManager
See Also:
HierarchyManager.dispose()

getRootEntry

public NodeEntry getRootEntry()
Specified by:
getRootEntry in interface HierarchyManager
Returns:
See Also:
HierarchyManager.getRootEntry()

lookup

public HierarchyEntry lookup(ItemId workspaceItemId)
Description copied from interface: HierarchyManager
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 HierarchyManager.getHierarchyEntry(ItemId) for a method that resolves the ItemId including lookup in the persistence layer if the entry has not been loaded yet.

Specified by:
lookup in interface HierarchyManager
Returns:
See Also:
HierarchyManager.lookup(ItemId)

getHierarchyEntry

public HierarchyEntry getHierarchyEntry(ItemId itemId)
                                 throws ItemNotFoundException,
                                        RepositoryException
Description copied from interface: HierarchyManager
Resolves a itemId into a HierarchyEntry.

Specified by:
getHierarchyEntry in interface HierarchyManager
Returns:
Throws:
PathNotFoundException
RepositoryException
ItemNotFoundException
See Also:
HierarchyManager.getHierarchyEntry(ItemId)

getHierarchyEntry

public HierarchyEntry getHierarchyEntry(Path qPath)
                                 throws PathNotFoundException,
                                        RepositoryException
Description copied from interface: HierarchyManager
Resolves a path into a HierarchyEntry.

Specified by:
getHierarchyEntry in interface HierarchyManager
Returns:
Throws:
PathNotFoundException
RepositoryException
See Also:
HierarchyManager.getHierarchyEntry(Path)

getItemState

public ItemState getItemState(Path qPath)
                       throws PathNotFoundException,
                              RepositoryException
Description copied from interface: HierarchyManager
Retrieves the HierarchyEntry corresponding to the given path and resolves it to the underlying ItemState.

Specified by:
getItemState in interface HierarchyManager
Returns:
Throws:
PathNotFoundException
RepositoryException
See Also:
HierarchyManager.getItemState(Path)

getDepth

public int getDepth(HierarchyEntry hierarchyEntry)
             throws ItemNotFoundException,
                    RepositoryException
Description copied from interface: HierarchyManager
Returns the depth of the specified item. The depth reflects the absolute hierarchy level.

Specified by:
getDepth in interface HierarchyManager
Returns:
the depth of the specified item
Throws:
RepositoryException - if another error occurs
ItemNotFoundException
See Also:
HierarchyManager.getDepth(HierarchyEntry)

getRelativeDepth

public int getRelativeDepth(NodeEntry ancestor,
                            HierarchyEntry descendant)
                     throws ItemNotFoundException,
                            RepositoryException
Description copied from interface: HierarchyManager
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.

Specified by:
getRelativeDepth in interface HierarchyManager
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.
See Also:
HierarchyManager.getRelativeDepth(NodeEntry, HierarchyEntry)


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