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 qpath)
          Returns the prefixed JCR path for the given qualified path.
 Path getQPath(String path)
          Returns the qualified path for the given prefixed JCR path.
 
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 qualified path for the given prefixed JCR 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:
getQPath in interface PathResolver
Parameters:
path - prefixed JCR path
Returns:
qualified path
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

getJCRPath

public String getJCRPath(Path qpath)
                  throws NamespaceException
Returns the prefixed JCR path for the given qualified 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:
qpath - qualified path
Returns:
prefixed JCR path
Throws:
NamespaceException - if a namespace URI can not be resolved


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