## Uses of Class
freemarker.template.Template

Packages that use Template
freemarker.cache: Template loading and caching.
freemarker.core: The seldom used or advanced parts of the fundamental FreeMarker API, compared to `freemarker.template`.
freemarker.ext.servlet: Servlet for legacy "Model 2" frameworks that allows using FreeMarker templates instead of JSP as the MVC View (see in the Manual).
freemarker.template: The fundamental, most commonly used API-s of FreeMarker; start with `Configuration` (see also the Getting Stared in the Manual.)

### Uses of Template in freemarker.cache

Methods in freemarker.cache that return Template
`Template` TemplateCache.MaybeMissingTemplate.`getTemplate()` The `Template` if it wasn't missing, otherwise `null`.
`Template` TemplateCache.`getTemplate(String name, Locale locale, String encoding, boolean parseAsFTL)` Deprecated. Use `TemplateCache.getTemplate(String, Locale, Object, String, boolean)`, which can return more detailed result when the template is missing.

### Uses of Template in freemarker.core

Methods in freemarker.core that return Template
`Template` Environment.`getCurrentTemplate()` Returns the `Template` that we are "lexically" inside at the moment.
`Template` Environment.`getMainTemplate()` Returns the topmost `Template`, with other words, the one for which this `Environment` was created.
`Template` Environment.`getTemplate()` Deprecated. Use `Environment.getMainTemplate()` instead (or `Environment.getCurrentNamespace()` and then `Environment.Namespace.getTemplate()`); the value returned by this method is often not what you expect when it comes to macro/function invocations.
`Template` Environment.Namespace.`getTemplate()`
`Template` Environment.`getTemplateForImporting(String name)` Gets a template for importing; used with `Environment.importLib(Template importedTemplate, String namespace)`.
`Template` Environment.`getTemplateForInclusion(String name, String encoding, boolean parse)` Same as `Environment.getTemplateForInclusion(String, String, boolean, boolean)` with `false` `ignoreMissing` argument.
`Template` Environment.`getTemplateForInclusion(String name, String encoding, boolean parseAsFTL, boolean ignoreMissing)` Gets a template for inclusion; used for implementing `Environment.include(Template includedTemplate)`.

Methods in freemarker.core with parameters of type Template
`void` TemplateConfiguration.`apply(Template template)` Sets those settings of the `Template` which aren't yet set in the `Template` and are set in this `TemplateConfiguration`, leaves the other settings as is.
`Object` CustomAttribute.`get(Template template)` Gets the value of a `Template`-scope attribute from the given `Template`.
`Environment.Namespace` Environment.`importLib(Template loadedTemplate, String targetNsVarName)` Does what the `#import` directive does, but with an already loaded template.
`void` Environment.`include(Template includedTemplate)` Processes a Template in the context of this `Environment`, including its output in the `Environment`'s Writer.
`Class` TemplateClassResolver.`resolve(String className, Environment env, Template template)` Gets a `Class` based on the class name.
`Class` OptInTemplateClassResolver.`resolve(String className, Environment env, Template template)`
`protected String` OptInTemplateClassResolver.`safeGetTemplateName(Template template)` Extract the template name from the template object which will be matched against the trusted template names and pattern.
`void` CustomAttribute.`set(Object value, Template template)` Sets the value of a `Template`-scope attribute in the given `Template`.
`void` FreeMarkerTree.`setTemplate(Template template)` Deprecated.

Constructors in freemarker.core with parameters of type Template
Constructor and Description
`Environment(Template template, TemplateHashModel rootDataModel, Writer out)`
`FreeMarkerTree(Template template)` Deprecated.
`ParseException(String description, Template template, int lineNumber, int columnNumber)` Deprecated. Use `ParseException.ParseException(String, Template, int, int, int, int)` instead, as IDE-s need the end position of the error too.
`ParseException(String description, Template template, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber)`
`ParseException(String description, Template template, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, Throwable cause)`
`ParseException(String description, Template template, int lineNumber, int columnNumber, Throwable cause)` Deprecated. Use `ParseException.ParseException(String, Template, int, int, int, int, Throwable)` instead, as IDE-s need the end position of the error too.
`ParseException(String description, Template template, freemarker.core.Token tk)`
`ParseException(String description, Template template, freemarker.core.Token tk, Throwable cause)`

### Uses of Template in freemarker.ext.servlet

Methods in freemarker.ext.servlet with parameters of type Template
`protected void` FreemarkerServlet.`postTemplateProcess(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Template template, TemplateModel data)` Called after the execution returns from `process(Object, java.io.Writer)`.
`protected boolean` FreemarkerServlet.`preTemplateProcess(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Template template, TemplateModel model)` Called before the execution is passed to `process(Object, java.io.Writer)`.

### Uses of Template in freemarker.template

Methods in freemarker.template that return Template
`static Template` Template.`getPlainTextTemplate(String name, String content, Configuration config)` Same as `getPlainTextTemplate(String, String, String, Configuration)` with `null` `sourceName` argument.
`static Template` Template.`getPlainTextTemplate(String name, String sourceName, String content, Configuration config)` Creates (not "get"-s) a `Template` that only contains a single block of static text, no dynamic content.
`Template` Configuration.`getTemplate(String name)` Retrieves the template with the given name from the template cache, loading it into the cache first if it's missing/staled.
`Template` Configuration.`getTemplate(String name, Locale locale)` Shorthand for `getTemplate(name, locale, null, null, true, false)`.
`Template` Configuration.`getTemplate(String name, Locale locale, Object customLookupCondition, String encoding, boolean parseAsFTL, boolean ignoreMissing)` Retrieves the template with the given name (and according the specified further parameters) from the template cache, loading it into the cache first if it's missing/staled.
`Template` Configuration.`getTemplate(String name, Locale locale, String encoding)` Shorthand for `getTemplate(name, locale, null, encoding, true, false)`.
`Template` Configuration.`getTemplate(String name, Locale locale, String encoding, boolean parseAsFTL)` Shorthand for `getTemplate(name, locale, null, encoding, parseAsFTL, false)`.
`Template` Configuration.`getTemplate(String name, Locale locale, String encoding, boolean parseAsFTL, boolean ignoreMissing)` Shorthand for `getTemplate(name, locale, null, encoding, parseAsFTL, ignoreMissing)`.
`Template` Configuration.`getTemplate(String name, String encoding)` Shorthand for `getTemplate(name, null, null, encoding, true, false)`.