Class TextTemplate

All Implemented Interfaces:
Closeable, Serializable, AutoCloseable, IClusterable, IResourceStream, IStringResourceStream, IModifiable
Direct Known Subclasses:
PackageTextTemplate, TextTemplateDecorator

public abstract class TextTemplate extends AbstractStringResourceStream
Represents a text template that can do variable interpolation.
Since:
1.2.6
Author:
Eelco Hillenius, Jonathan Locke
See Also:
  • Constructor Details

    • TextTemplate

      public TextTemplate()
      Constructor.
    • TextTemplate

      public TextTemplate(String contentType)
      Constructor.
      Parameters:
      contentType - the mime type of this resource, such as "image/jpeg" or " text/html"
  • Method Details

    • asString

      public String asString(Map<String,?> variables)
      Interpolates the Map of variables with the content and returns the resulting String without replacing the content. Variables are denoted in this string by the syntax ${variableName}. The contents will be altered by replacing each variable of the form ${variableName} with the value returned by variables.getValue("variableName").
      Parameters:
      variables - the variables to interpolate
      Returns:
      the result of the interpolation
    • asString

      public String asString()
      Specified by:
      asString in interface IStringResourceStream
      Overrides:
      asString in class AbstractStringResourceStream
      Returns:
      This resource as a String.
      See Also:
    • getString

      public abstract String getString()
      Retrieves the String resource.
      Specified by:
      getString in class AbstractStringResourceStream
      Returns:
      the String resource
    • interpolate

      public abstract TextTemplate interpolate(Map<String,?> variables)
      Interpolates values into this TextTemplate.
      Parameters:
      variables - variables to interpolate into this TextTemplate
      Returns:
      this, for chaining purposes