freemarker.core (FreeMarker 2.3.35 API)
Description: declaration: package: freemarker.core

# Package freemarker.core

package freemarker.core
The seldom used or advanced parts of the fundamental FreeMarker API, compared to `freemarker.template`. This package also encloses FreeMarker's core parsing/rendering functionality.

- Interface Summary
  Interface
  Description
  DirectiveCallPlace
  Gives information about the place where a directive is called from, also lets you attach a custom data object to that place.
  ParserConfiguration
  Don't implement this interface yourself; use the existing implementation(s).
  TemplateClassResolver
  Used by built-ins and other template language features that get a class based on a string.
  TemplateMarkupOutputModel<MO extends TemplateMarkupOutputModel<MO>>
  "markup output" template language data-type; stores markup (some kind of "rich text" / structured format, as opposed to plain text) that meant to be printed as template output.
  TemplateProcessingTracer
  Hooks to monitor as templates run.
  TemplateProcessingTracer.TracedElement
  Information about the template element that we enter of exit; do NOT implement this (outside FreeMarker), as new methods can be added to this anytime!
- Class Summary
  Class
  Description
  AbstractJSONLikeFormat
  Defines the methods in `CFormat` that are the same for all JSON-like languages.
  AliasTemplateDateFormatFactory
  Creates an alias to another format, so that the format can be referred to with a simple name in the template, rather than as a concrete pattern or other kind of format string.
  AliasTemplateNumberFormatFactory
  Creates an alias to another format, so that the format can be referred to with a simple name in the template, rather than as a concrete pattern or other kind of format string.
  ArithmeticEngine
  Used for implementing the arithmetic operations and number comparisons in the template language.
  ArithmeticEngine.BigDecimalEngine
  This is the default arithmetic engine in FreeMarker.
  ArithmeticEngine.ConservativeEngine
  An arithmetic engine that conservatively widens the operation arguments to extent that they can hold the result of the operation.
  BuiltInForNodeEx
  CFormat
  Defines a format (usually a computer language) that's used by the `c`, `cn` built-ins, and for the `"c"` and `"computer"` `number_format`, and the `"c"` `boolean_format`.
  CombinedMarkupOutputFormat
  Represents two markup formats nested into each other.
  CommonMarkupOutputFormat<MO extends CommonTemplateMarkupOutputModel>
  Common superclass for implementing `MarkupOutputFormat`-s that use a `CommonTemplateMarkupOutputModel` subclass.
  CommonTemplateMarkupOutputModel<MO extends CommonTemplateMarkupOutputModel<MO>>
  Common superclass for implementing `TemplateMarkupOutputModel`-s that belong to a `CommonMarkupOutputFormat` subclass format.
  Configurable
  This is a common superclass of `Configuration`, `Template`, and `Environment` classes.
  CSSOutputFormat
  Represents the CSS output format (MIME type "text/css", name "CSS").
  CustomAttribute
  A class that allows one to associate custom data with a `Configuration`, a `Template`, or `Environment`.
  DefaultTruncateBuiltinAlgorithm
  The default `TruncateBuiltinAlgorithm` implementation; see `Configurable.setTruncateBuiltinAlgorithm(TruncateBuiltinAlgorithm)`.
  Environment
  Object that represents the runtime environment during template processing.
  FreeMarkerTree
  Deprecated.
  Will be removed, as Swing classes aren't accessible on Google App Engine.
  HTMLOutputFormat
  Represents the HTML output format (MIME type "text/html", name "HTML").
  JavaCFormat
  "Java" `CFormat`.
  JavaScriptCFormat
  "JavaScript" `CFormat`, to be used when generating JavaScript (and not JSON), except, in most cases `JavaScriptOrJSONCFormat` is recommended over this.
  JavaScriptOrJSONCFormat
  "JavaScript or JSON" `CFormat`; for generating output that's compatible with both JSON and JavaScript.
  JavaScriptOutputFormat
  Represents the JavaScript output format (MIME type "application/javascript", name "JavaScript").
  JSONCFormat
  "JSON" `CFormat`; to be used when generating JSON (and not JavaScript), except, in most cases `JavaScriptOrJSONCFormat` is recommended over this.
  JSONOutputFormat
  Represents the JSON output format (MIME type "application/json", name "JSON").
  LegacyCFormat
  Corresponds to the behavior of `?c` before 2.3.32 (when there were no `CFormat`-s yet).
  MarkupOutputFormat<MO extends TemplateMarkupOutputModel>
  Superclass of `OutputFormat`-s that represent a "markup" format, which is any format where certain character sequences have special meaning, and thus may need escaping.
  OptInTemplateClassResolver
  A `TemplateClassResolver` that resolves only the classes whose name was specified in the constructor.
  OutputFormat
  Represents an output format.
  PlainTextOutputFormat
  Represents the plain text output format (MIME type "text/plain", name "plainText").
  RTFOutputFormat
  Represents the Rich Text Format output format (MIME type "application/rtf", name "RTF").
  TemplateCombinedMarkupOutputModel
  Stores combined markup to be printed; used with `CombinedMarkupOutputFormat`.
  TemplateConfiguration
  Used for customizing the configuration settings for individual `Template`-s (or rather groups of templates), relatively to the common setting values coming from the `Configuration`.
  TemplateDateFormat
  Represents a date/time/dateTime format; used in templates for formatting and parsing with that format.
  TemplateDateFormatFactory
  Factory for a certain kind of date/time/dateTime formatting (`TemplateDateFormat`).
  TemplateFormatUtil
  Utility classes for implementing `TemplateValueFormat`-s.
  TemplateHTMLOutputModel
  Stores HTML markup to be printed; used with `HTMLOutputFormat`.
  TemplateNumberFormat
  Represents a number format; used in templates for formatting and parsing with that format.
  TemplateNumberFormatFactory
  Factory for a certain kind of number formatting (`TemplateNumberFormat`).
  TemplateRTFOutputModel
  Stores RTF markup to be printed; used with `RTFOutputFormat`.
  TemplateValueFormat
  Superclass of all value format objects; objects that convert values to strings, or parse strings.
  TemplateValueFormatFactory
  Superclass of all format factories.
  TemplateXHTMLOutputModel
  Stores HTML markup to be printed; used with `HTMLOutputFormat`.
  TemplateXMLOutputModel
  Stores XML markup to be printed; used with `XMLOutputFormat`.
  TruncateBuiltinAlgorithm
  Used for implementing the "truncate" family of built-ins.
  UndefinedOutputFormat
  Represents the output format used when the template output format is undecided.
  XHTMLOutputFormat
  Represents the XML output format (MIME type "application/xhtml+xml", name "XHTML"); this behaves identically to `HTMLOutputFormat`, except that the name an the MIME Type differs.
  XMLOutputFormat
  Represents the XML output format (MIME type "application/xml", name "XML").
  XSCFormat
  "XS" `CFormat`, for outputting XML that follows the conventions of XML Schema.
- Exception Summary
  Exception
  Description
  BugException
  An unexpected state was reached that is certainly caused by a bug in FreeMarker.
  CallPlaceCustomDataInitializationException
  Thrown by `DirectiveCallPlace.getOrCreateCustomData(Object, freemarker.template.utility.ObjectFactory)`
  Configurable.SettingValueAssignmentException
  The setting name was recognized, but its value couldn't be parsed or the setting couldn't be set for some other reason.
  Configurable.UnknownSettingException
  The setting name was not recognized.
  InvalidFormatParametersException
  Used when creating `TemplateDateFormat`-s and `TemplateNumberFormat`-s to indicate that the parameters part of the format string (like some kind of pattern) is malformed.
  InvalidFormatStringException
  Used when creating `TemplateDateFormat`-s and `TemplateNumberFormat`-s to indicate that the format string (like the value of the `dateFormat` setting) is malformed.
  InvalidReferenceException
  A subclass of `TemplateException` that says that an FTL expression has evaluated to `null` or it refers to something that doesn't exist.
  NonBooleanException
  Indicates that a `TemplateBooleanModel` value was expected, but the value had a different type.
  NonDateException
  Indicates that a `TemplateDateModel` value was expected, but the value had a different type.
  NonExtendedHashException
  Indicates that a `TemplateHashModelEx` value was expected, but the value had a different type.
  NonExtendedNodeException
  Indicates that a `TemplateNodeModelEx` value was expected, but the value had a different type.
  NonHashException
  Indicates that a `TemplateHashModel` value was expected, but the value had a different type.
  NonMarkupOutputException
  Indicates that a `TemplateMarkupOutputModel` value was expected, but the value had a different type.
  NonMethodException
  Indicates that a `TemplateMethodModel` value was expected, but the value had a different type.
  NonNodeException
  Indicates that a `TemplateNodeModel` value was expected, but the value had a different type.
  NonNumericalException
  Indicates that a `TemplateNumberModel` value was expected, but the value had a different type.
  NonSequenceException
  Indicates that a `TemplateSequenceModel` value was expected, but the value had a different type.
  NonSequenceOrCollectionException
  Indicates that a `TemplateSequenceModel` or `TemplateCollectionModel` value was expected, but the value had a different type.
  NonStringException
  Indicates that a `TemplateScalarModel` value was expected (or maybe something that can be automatically coerced to that), but the value had a different type.
  NonStringOrTemplateOutputException
  Indicates that a `TemplateScalarModel` (or maybe something that can be automatically coerced to that) or `TemplateMarkupOutputModel` value was expected, but the value had a different type.
  ParseException
  Parsing-time exception in a template (as opposed to a runtime exception, a `TemplateException`).
  ParsingNotSupportedException
  Thrown when the `TemplateValueFormat` doesn't support parsing, and parsing was invoked.
  StopException
  This exception is thrown when a `#stop` directive is encountered.
  TemplateValueFormatException
  Error while getting, creating or applying `TemplateValueFormat`-s (including its subclasses, like `TemplateNumberFormat`).
  UndefinedCustomFormatException
  UnexpectedTypeException
  The type of a value differs from what was expected.
  UnformattableValueException
  Thrown when a `TemplateModel` can't be formatted because of the value/properties of it are outside of that the `TemplateValueFormat` supports.
  UnknownDateTypeFormattingUnsupportedException
  Thrown when a `TemplateDateModel` can't be formatted because its type is `TemplateDateModel.UNKNOWN`.
  UnknownDateTypeParsingUnsupportedException
  Thrown when a string can't be parsed to `TemplateDateModel`, because the provided target type is `TemplateDateModel.UNKNOWN`.
  UnparsableValueException
  Thrown when the content of the string that should be parsed by the `TemplateValueFormat` doesn't match what the format expects.
  UnregisteredOutputFormatException