public class ClassTemplateLoader extends URLTemplateLoader
TemplateLoader that uses streams reachable through
Class.getResourceAsStream(String) as its source of templates.| Constructor and Description |
|---|
ClassTemplateLoader()
Deprecated.
confusing constructor, and seldom useful;
use
ClassTemplateLoader(Class, String) instead. |
ClassTemplateLoader(Class baseClass)
Deprecated.
it's confusing that the base path is
"";
use ClassTemplateLoader(Class, String) instead. |
ClassTemplateLoader(Class baseClass,
String packagePath)
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). |
| Modifier and Type | Method and Description |
|---|---|
protected URL |
getURL(String name)
Given a template name (plus potential locale decorations) retrieves
an URL that points the template source.
|
String |
toString()
Show class name and some details that are useful in template-not-found errors.
|
canonicalizePrefix, closeTemplateSource, findTemplateSource, getLastModified, getReader, getURLConnectionUsesCaches, setURLConnectionUsesCachespublic ClassTemplateLoader()
ClassTemplateLoader(Class, String) instead.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.
public ClassTemplateLoader(Class baseClass)
"";
use ClassTemplateLoader(Class, String) instead.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.baseClass - the class whose
Class.getResource(String) will be used to load the templates.public ClassTemplateLoader(Class baseClass, String packagePath)
Class.getResource(String) method
of the specified class to load the resources, and the specified base path (absolute or relative).
Examples:
com.example.myapplication.templates package):new ClassTemplateLoader(
com.example.myapplication.SomeClass.class,
"templates")
new ClassTemplateLoader(
somepackage.SomeClass.class,
"/com/example/myapplication/templates")
baseClass - 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.packagePath - the path to the package that contains the templates.
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.protected URL getURL(String name)
URLTemplateLoadergetURL in class URLTemplateLoadername - the name of the sought template, including the locale
decorations.