Class AbstractEngineContext

Object
org.thymeleaf.context.AbstractEngineContext
All Implemented Interfaces:
IContext, IEngineContext, IExpressionContext, ITemplateContext
Direct Known Subclasses:
EngineContext, WebEngineContext

public abstract class AbstractEngineContext extends Object implements IEngineContext

Utility abstract class partially implementing IEngineContext.

This class is meant to be used as a base for implementations of IEngineContext. Note however that creating an implementation of IEngineContext can be very complex and normally unneeded. The default implementations should suffice for most scenarios.

Note this abstract implementation does not implement basic variable-management methods such as those coming from the IContext interface because that is considered the responsibility of the implementing subclasses.

Since:
3.0.0
Author:
Daniel Fernández
  • Constructor Details

  • Method Details

    • getConfiguration

      public final IEngineConfiguration getConfiguration()
      Description copied from interface: IExpressionContext

      Returns the IEngineConfiguration (engine configuration) corresponding to the ITemplateEngine instance this expression context is meant to be used with.

      Specified by:
      getConfiguration in interface IExpressionContext
      Returns:
      the engine configuration.
    • getTemplateResolutionAttributes

      public final Map<String,Object> getTemplateResolutionAttributes()
      Description copied from interface: ITemplateContext

      Returns the map of configuration items that have been specified at the process(...) methods of ITemplateEngine, aimed at further configuring the template being used and its resolution by means of the ITemplateResolvers.

      Specified by:
      getTemplateResolutionAttributes in interface ITemplateContext
      Returns:
      the template resolution attributes map
    • getLocale

      public final Locale getLocale()
      Description copied from interface: IContext

      Returns the locale that should be used for processing the template.

      Specified by:
      getLocale in interface IContext
      Returns:
      the locale to be used.
    • getExpressionObjects

      public final IExpressionObjects getExpressionObjects()
      Description copied from interface: IExpressionContext

      Returns the IExpressionObjects instance to be used for retrieving (and maybe building lazily) expression objects (${#expobj}) to be used at Standard Thymeleaf Expressions.

      Specified by:
      getExpressionObjects in interface IExpressionContext
      Returns:
      the expression objects instance.
    • getTemplateMode

      public final TemplateMode getTemplateMode()
      Description copied from interface: ITemplateContext

      Returns the template mode of the template currently being processed.

      Note that the TemplateMode returned here corresponds with origin of the elements or nodes being currently processed. This is, if a processor is being executed for an element inserted from an external template (via a th:insert, for example), then this method will return the template mode for the template in which the inserted fragment lives, not the one it was inserted into.

      Specified by:
      getTemplateMode in interface ITemplateContext
      Returns:
      the template mode of the elements or nodes being currently processed.
    • getModelFactory

      public final IModelFactory getModelFactory()
      Description copied from interface: ITemplateContext

      Returns the model factory that can be used for creating or modifying events.

      This is actually a convenience method completely equivalent to calling IExpressionContext.getConfiguration() and then IEngineConfiguration.getModelFactory(TemplateMode) using as template mode the result of ITemplateContext.getTemplateMode().

      Specified by:
      getModelFactory in interface ITemplateContext
      Returns:
      the model factory
    • getMessage

      public final String getMessage(Class<?> origin, String key, Object[] messageParameters, boolean useAbsentMessageRepresentation)
      Description copied from interface: ITemplateContext

      Computes an externalized (internationalized, i18n) message to be used on a template.

      This method is meant to be called mainly by processors that need to output externalized messages.

      Specified by:
      getMessage in interface ITemplateContext
      Parameters:
      origin - the origin class to be used for message resolution. When calling from a processor, this is normally the processor class itself. See IMessageResolver.
      key - the key of the message to be retrieved.
      messageParameters - the parameters to be applied to the requested message.
      useAbsentMessageRepresentation - whether an absent message representation should be returned in the case that the message does not exist (see IMessageResolver).
      Returns:
      the requested message, correctly formatted. Or an absent message representation, or null if no absent message representations are allowed.
    • buildLink

      public final String buildLink(String base, Map<String,Object> parameters)
      Description copied from interface: ITemplateContext

      Computes link to be used on a template.

      This method is meant to be called mainly by processors or expressions that need to output links.

      Specified by:
      buildLink in interface ITemplateContext
      Parameters:
      base - the base of the link URL to be built, i.e. its path. Can be null.
      parameters - the (optional) URL parameters.
      Returns:
      the built URL, or an exception if no link builders are able to build this link.
    • getIdentifierSequences

      public final IdentifierSequences getIdentifierSequences()
      Description copied from interface: ITemplateContext

      Returns the IdentifierSequences object set to be used at the current point of execution.

      Specified by:
      getIdentifierSequences in interface ITemplateContext
      Returns:
      the identifier sequences object.