freemarker.cache
Class ClassTemplateLoader
- TemplateLoader
public class ClassTemplateLoader
A
TemplateLoader
that uses streams reachable through
Class.getResourceAsStream(String)
as its source of templates.
$Id: ClassTemplateLoader.java,v 1.9.2.3 2005/10/10 21:28:46 ddekany Exp $- Attila Szegedi, szegedia at freemail dot hu
protected URL | getURL(String name) - Given a template name (plus potential locale decorations) retrieves
an URL that points the template source.
|
ClassTemplateLoader
public ClassTemplateLoader()
confusing constructor, and seldom useful;
use ClassTemplateLoader(Class,String)
instead.
Creates a template loader that will use the
Class.getResource(String)
method of its own class to load the resources, and
"/"
as base path.
This means that that template paths will be resolved relatvively the root package
of the class hierarchy, so you hardly ever should use this constructor, rather do
something like this:
new ClassTemplateLoader(com.example.myapplication.SomeClass.class, "templates")
If you extend this class, then the extending class will be used to load
the resources.
Warning: this constructor was malfunctioned prior FreeMarker 2.3.4
-- please update FreeMarker if needed.
ClassTemplateLoader
public ClassTemplateLoader(Class loaderClass)
it is confusing that the base path is ""
;
use ClassTemplateLoader(Class,String)
instead.
Creates a template loader that will use the Class.getResource(String)
method of the specified class to load the resources, and ""
as base
path. This means that template paths will be resolved relatively to the class
location, that is, relatively to the directory (package) of the class.
loaderClass
- the class whose
Class.getResource(String)
will be used to load the templates.
ClassTemplateLoader
public ClassTemplateLoader(Class loaderClass,
String path)
Creates a template loader that will use the
Class.getResource(String)
method
of the specified class to load the resources, and the specified base path (absolute or relative).
Examples:
- Relative base path (will load from the
com.example.myapplication.templates
package):
new ClassTemplateLoader(
com.example.myapplication.SomeClass.class,
"templates")
- Absolute base path:
new ClassTemplateLoader(
somepackage.SomeClass.class,
"/com/example/myapplication/templates")
loaderClass
- the class whose Class.getResource(String)
method will be used
to load the templates. Be sure that you chose a class whose defining class-loader
sees the templates. This parameter can't be null
.path
- the base path to template resources.
A path that doesn't start with a slash (/) is relative to the
path (package) of the specified class. A path that starts with a slash
is an absolute path starting from the root of the package hierarchy. Path
components should be separated by forward slashes independently of the
separator character used by the underlying operating system.
This parameter can't be null
.
getURL
protected URL getURL(String name)
Given a template name (plus potential locale decorations) retrieves
an URL that points the template source.
- getURL in interface URLTemplateLoader
name
- the name of the sought template, including the locale
decorations.
- an URL that points to the template source, or null if it can
determine that the template source does not exist.