org.apache.jackrabbit.spi.commons.name
Class PathMap<T>

java.lang.Object
  extended by org.apache.jackrabbit.spi.commons.name.PathMap<T>

public class PathMap<T>
extends Object

Generic path map that associates information with the individual path elements of a path.


Nested Class Summary
static class PathMap.Element<T>
          Internal class holding the object associated with a certain path element.
static interface PathMap.ElementVisitor<T>
          Element visitor used in traverse(org.apache.jackrabbit.spi.commons.name.PathMap.ElementVisitor, boolean)
 
Constructor Summary
PathMap()
           
 
Method Summary
 PathMap.Element<T> map(Path path, boolean exact)
          Map a path to a child.
 PathMap.Element<T> put(Path path)
          Create an empty child given by its path.
 void put(Path path, PathMap.Element<T> element)
          Put an element given by its path.
 PathMap.Element<T> put(Path path, T obj)
          Create an element given by its path.
 void traverse(PathMap.ElementVisitor<T> visitor, boolean includeEmpty)
          Traverse the path map and call back requester.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PathMap

public PathMap()
Method Detail

map

public PathMap.Element<T> map(Path path,
                              boolean exact)
Map a path to a child. If exact is false, returns the last available item along the path that is stored in the map.

Parameters:
path - path to map
exact - flag indicating whether an exact match is required
Returns:
child, maybe null if exact is true

put

public PathMap.Element<T> put(Path path,
                              T obj)
Create an element given by its path. The path map will create any necessary intermediate elements.

Parameters:
path - path to child
obj - object to store at destination

put

public void put(Path path,
                PathMap.Element<T> element)
Put an element given by its path. The path map will create any necessary intermediate elements.

Parameters:
path - path to child
element - element to store at destination

put

public PathMap.Element<T> put(Path path)
Create an empty child given by its path.

Parameters:
path - path to child

traverse

public void traverse(PathMap.ElementVisitor<T> visitor,
                     boolean includeEmpty)
Traverse the path map and call back requester. This method visits the root first, then its children.

Parameters:
includeEmpty - if true invoke call back on every child regardless, whether the associated object is empty or not; otherwise call back on non-empty children only


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