Class CachingPathResolver
- java.lang.Object
-
- 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
Constructors Constructor Description 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getJCRPath(Path path)
Returns the JCR path String for the givenPath
.Path
getQPath(String path)
Returns thePath
object for the given JCR path String.Path
getQPath(String path, boolean normalizeIdentifier)
Returns the path object for the given JCR path string.
-
-
-
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 resolvercache
- 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 thePath
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 interfacePathResolver
- Parameters:
path
- A JCR path String.- Returns:
- A
Path
object. - Throws:
MalformedPathException
- if the JCR path format is invalidIllegalNameException
- 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 interfacePathResolver
- 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 givenPath
. 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 interfacePathResolver
- Parameters:
path
- APath
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)
-
-