org.nuiton.util
Class ResourceResolver

java.lang.Object
  extended by org.nuiton.util.ResourceResolver
All Implemented Interfaces:
URIResolver
Direct Known Subclasses:
FasterCachedResourceResolver

public class ResourceResolver
extends Object
implements URIResolver

ResourceResolver is a URIResolver for XSL transformation.
Its purpose is to catch the XSL document(...) function call and return a valid data source only if the wanted resource is present in the project resources.
The main goal of ResourceResolver is to retrieve datasources locally, if the wanted resource is not present in project resource then null will be returned.

The resolve function search for the file part of href parameter:
href: http://argouml.org/profiles/uml14/default-uml14.xmi
file part: default-uml14.xmi.
The resource is searched this way:
eg: [file part extension]/[file part]
eg: xmi/default-uml14.xmi

You should assign this ResourceResolver on Transformer but not on TransformerFactory.

Version:
$Revision: 1659 $ Last update : $Date: 2009-06-30 13:42:10 +0200 (mar., 30 juin 2009) $ By : $Author: athimel $
Author:
chorlet

Field Summary
protected  String base
           
protected  ClassLoader cl
          le classe loader utilise pour recuperer les resources
static Pattern HREF_PATTERN
          le pattern de detection d'une uri
protected static SortedMap<String,Source> sourceCache
          Shared Cache to not search in full classpath at each request.
protected static Set<String> unresolvedCache
          Shared Cache of not local resources
protected  boolean verbose
          le niveau de verbosite
 
Constructor Summary
ResourceResolver()
           
ResourceResolver(String base)
           
 
Method Summary
static void clearCache()
          Pour vider le cache partage.
protected  Source findHrefSource(String path)
           
protected  Source findRelativeSource(String path)
           
 Source resolve(String href, String base)
          Resolve href on local resource.
 void setCl(ClassLoader cl)
           
 void setVerbose(boolean verbose)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sourceCache

protected static final SortedMap<String,Source> sourceCache
Shared Cache to not search in full classpath at each request.


unresolvedCache

protected static final Set<String> unresolvedCache
Shared Cache of not local resources


HREF_PATTERN

public static final Pattern HREF_PATTERN
le pattern de detection d'une uri


base

protected String base

verbose

protected boolean verbose
le niveau de verbosite


cl

protected ClassLoader cl
le classe loader utilise pour recuperer les resources

Constructor Detail

ResourceResolver

public ResourceResolver()

ResourceResolver

public ResourceResolver(String base)
Method Detail

clearCache

public static void clearCache()
Pour vider le cache partage.


resolve

public Source resolve(String href,
                      String base)
Resolve href on local resource.

Specified by:
resolve in interface URIResolver
Returns:
null if local resource not found

setVerbose

public void setVerbose(boolean verbose)

setCl

public void setCl(ClassLoader cl)

findHrefSource

protected Source findHrefSource(String path)

findRelativeSource

protected Source findRelativeSource(String path)


Copyright © 2004-2010 CodeLutin. All Rights Reserved.