Class HierarchyManagerImpl
- java.lang.Object
-
- org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyManagerImpl
-
- All Implemented Interfaces:
HierarchyManager
public class HierarchyManagerImpl extends Object implements HierarchyManager
HierarchyManagerImpl
implements theHierarchyManager
interface.
-
-
Constructor Summary
Constructors Constructor Description HierarchyManagerImpl(TransientItemStateFactory isf, IdFactory idFactory, PathFactory pathFactory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
dispose()
Dispose thisHierarchyManager
int
getDepth(HierarchyEntry hierarchyEntry)
Returns the depth of the specified item.NodeEntry
getNodeEntry(NodeId nodeId)
Resolves a itemId into aHierarchyEntry
.NodeEntry
getNodeEntry(Path qPath)
Resolves a path into aNodeEntry
.NodeState
getNodeState(Path qPath)
Retrieves theNodeEntry
corresponding to the given path and resolves it to the underlyingNodeState
.PropertyEntry
getPropertyEntry(Path qPath)
Resolves a path into aPropertyEntry
.PropertyEntry
getPropertyEntry(PropertyId propertyId)
Resolves a propertyId into aPropertyEntry
.PropertyState
getPropertyState(Path qPath)
Retrieves thePropertyEntry
corresponding to the given path and resolves it to the underlyingPropertyState
.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 ofHierarchyEntry
by its workspace Id that may be different if a entry (or any of its ancestors) has been transiently moved or reordered.HierarchyEntry
lookup(Path workspacePath)
Lookup ofHierarchyEntry
by its workspace path that may be different if a entry (or any of its ancestors) has been transiently moved or reordered.void
setResolver(NamePathResolver resolver)
-
-
-
Constructor Detail
-
HierarchyManagerImpl
public HierarchyManagerImpl(TransientItemStateFactory isf, IdFactory idFactory, PathFactory pathFactory)
-
-
Method Detail
-
setResolver
public void setResolver(NamePathResolver resolver)
-
dispose
public void dispose()
Description copied from interface:HierarchyManager
Dispose thisHierarchyManager
- Specified by:
dispose
in interfaceHierarchyManager
- See Also:
HierarchyManager.dispose()
-
getRootEntry
public NodeEntry getRootEntry()
- Specified by:
getRootEntry
in interfaceHierarchyManager
- Returns:
- the root entry.
- See Also:
HierarchyManager.getRootEntry()
-
lookup
public HierarchyEntry lookup(ItemId workspaceItemId)
Description copied from interface:HierarchyManager
Lookup ofHierarchyEntry
by its 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
. SeeHierarchyManager.getNodeEntry(NodeId)
orHierarchyManager.getPropertyEntry(PropertyId)
for methods that resolves the ItemId including lookup in the persistence layer if the entry has not been loaded yet.- Specified by:
lookup
in interfaceHierarchyManager
- Returns:
- the HierarchyEntry with the given
workspaceItemId
. - See Also:
HierarchyManager.lookup(ItemId)
-
lookup
public HierarchyEntry lookup(Path workspacePath)
Description copied from interface:HierarchyManager
Lookup ofHierarchyEntry
by its workspace path 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 path it is returned otherwise
null
. SeeHierarchyManager.getNodeEntry(Path)
orHierarchyManager.getPropertyEntry(Path)
for methods that resolves the path including lookup in the persistence layer if the entry has not been loaded yet.- Specified by:
lookup
in interfaceHierarchyManager
- Returns:
- the HierarchyEntry with the given
workspacePath
. - See Also:
HierarchyManager.lookup(Path)
-
getNodeEntry
public NodeEntry getNodeEntry(NodeId nodeId) throws ItemNotFoundException, RepositoryException
Description copied from interface:HierarchyManager
Resolves a itemId into aHierarchyEntry
.- Specified by:
getNodeEntry
in interfaceHierarchyManager
- Returns:
- Throws:
PathNotFoundException
RepositoryException
ItemNotFoundException
- See Also:
HierarchyManager.getNodeEntry(NodeId)
-
getNodeEntry
public NodeEntry getNodeEntry(Path qPath) throws PathNotFoundException, RepositoryException
Description copied from interface:HierarchyManager
Resolves a path into aNodeEntry
.- Specified by:
getNodeEntry
in interfaceHierarchyManager
- Returns:
- Throws:
PathNotFoundException
RepositoryException
- See Also:
HierarchyManager.getNodeEntry(Path)
-
getPropertyEntry
public PropertyEntry getPropertyEntry(PropertyId propertyId) throws ItemNotFoundException, RepositoryException
Description copied from interface:HierarchyManager
Resolves a propertyId into aPropertyEntry
.- Specified by:
getPropertyEntry
in interfaceHierarchyManager
- Returns:
- Throws:
PathNotFoundException
RepositoryException
ItemNotFoundException
- See Also:
HierarchyManager.getPropertyEntry(PropertyId)
-
getPropertyEntry
public PropertyEntry getPropertyEntry(Path qPath) throws PathNotFoundException, RepositoryException
Description copied from interface:HierarchyManager
Resolves a path into aPropertyEntry
.- Specified by:
getPropertyEntry
in interfaceHierarchyManager
- Returns:
- Throws:
PathNotFoundException
RepositoryException
- See Also:
HierarchyManager.getPropertyEntry(Path)
-
getNodeState
public NodeState getNodeState(Path qPath) throws PathNotFoundException, RepositoryException
Description copied from interface:HierarchyManager
Retrieves theNodeEntry
corresponding to the given path and resolves it to the underlyingNodeState
.- Specified by:
getNodeState
in interfaceHierarchyManager
- Returns:
- Throws:
PathNotFoundException
RepositoryException
- See Also:
HierarchyManager.getNodeState(Path)
-
getPropertyState
public PropertyState getPropertyState(Path qPath) throws PathNotFoundException, RepositoryException
Description copied from interface:HierarchyManager
Retrieves thePropertyEntry
corresponding to the given path and resolves it to the underlyingPropertyState
.- Specified by:
getPropertyState
in interfaceHierarchyManager
- Returns:
- Throws:
PathNotFoundException
RepositoryException
- See Also:
HierarchyManager.getPropertyState(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 interfaceHierarchyManager
- Returns:
- the depth of the specified item
- Throws:
RepositoryException
- if another error occursItemNotFoundException
- 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. Ifancestor
anddescendant
denote the same item 0 is returned. Ifancestor
does not denote an ancestor -1 is returned.- Specified by:
getRelativeDepth
in interfaceHierarchyManager
- Parameters:
ancestor
- NodeEntry that must be an ancestor of the descendantdescendant
- HierarchyEntry- Returns:
- the relative depth; -1 if
ancestor
does not denote an ancestor of the item denoted bydescendant
(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)
-
-