org.apache.jackrabbit.spi.commons.conversion
Class CachingPathResolver

java.lang.Object
  extended by org.apache.jackrabbit.spi.commons.conversion.CachingPathResolver
All Implemented Interfaces:
PathResolver

public class CachingPathResolver
extends Object
implements PathResolver

Path resolver decorator that uses a generational cache to speed up parsing and formatting of JCR paths. Uncached paths are resolved using the underlying decorated path resolver.


Constructor Summary
CachingPathResolver(PathResolver resolver)
          Creates a caching decorator for the given path resolver.
CachingPathResolver(PathResolver resolver, org.apache.jackrabbit.spi.commons.conversion.GenerationalCache cache)
          Creates a caching decorator for the given path resolver.
 
Method Summary
 String getJCRPath(Path path)
          Returns the JCR path String for the given Path.
 Path getQPath(String path)
          Returns the Path object for the given JCR path String.
 Path getQPath(String path, boolean normalizeIdentifier)
          Returns the path object for the given JCR path string.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CachingPathResolver

public CachingPathResolver(PathResolver resolver,
                           org.apache.jackrabbit.spi.commons.conversion.GenerationalCache cache)
Creates a caching decorator for the given path resolver. The given generational cache is used for caching.

Parameters:
resolver - decorated path resolver
cache - generational cache

CachingPathResolver

public CachingPathResolver(PathResolver resolver)
Creates a caching decorator for the given path resolver.

Parameters:
resolver - name resolver
Method Detail

getQPath

public Path getQPath(String path)
              throws MalformedPathException,
                     IllegalNameException,
                     NamespaceException
Returns the Path object for the given JCR path String. The path is first looked up form the generational cache and the call gets delegated to the decorated path resolver only if the cache misses.

Specified by:
getQPath in interface PathResolver
Parameters:
path - A JCR path String.
Returns:
A Path object.
Throws:
MalformedPathException - if the JCR path format is invalid
IllegalNameException - if any of the JCR names contained in the path are invalid.
NamespaceException - if a namespace prefix can not be resolved.
See Also:
PathResolver.getQPath(String)

getQPath

public Path getQPath(String path,
                     boolean normalizeIdentifier)
              throws MalformedPathException,
                     IllegalNameException,
                     NamespaceException
Description copied from interface: PathResolver
Returns the path object for the given JCR path string.

Specified by:
getQPath in interface PathResolver
Parameters:
path - prefixed JCR path
Returns:
a Path object.
Throws:
MalformedPathException - if the JCR path format is invalid.
IllegalNameException - if any of the JCR names contained in the path are invalid.
NamespaceException - if a namespace prefix can not be resolved.
See Also:
PathResolver.getQPath(String, boolean)

getJCRPath

public String getJCRPath(Path path)
                  throws NamespaceException
Returns the JCR path String for the given Path. The path is first looked up form the generational cache and the call gets delegated to the decorated path resolver only if the cache misses.

Specified by:
getJCRPath in interface PathResolver
Parameters:
path - A Path object.
Returns:
A JCR path String in the standard form.
Throws:
NamespaceException - if a namespace URI can not be resolved.
See Also:
PathResolver.getJCRPath(org.apache.jackrabbit.spi.Path)


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