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 ofIEngineContext
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 Summary
Constructors Modifier Constructor Description protected
AbstractEngineContext(IEngineConfiguration configuration, Map<String,Object> templateResolutionAttributes, Locale locale)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
buildLink(String base, Map<String,Object> parameters)
Computes link to be used on a template.IEngineConfiguration
getConfiguration()
Returns theIEngineConfiguration
(engine configuration) corresponding to theITemplateEngine
instance this expression context is meant to be used with.IExpressionObjects
getExpressionObjects()
Returns theIExpressionObjects
instance to be used for retrieving (and maybe building lazily) expression objects (${#expobj}
) to be used at Standard Thymeleaf Expressions.IdentifierSequences
getIdentifierSequences()
Returns theIdentifierSequences
object set to be used at the current point of execution.Locale
getLocale()
Returns the locale that should be used for processing the template.String
getMessage(Class<?> origin, String key, Object[] messageParameters, boolean useAbsentMessageRepresentation)
Computes an externalized (internationalized, i18n) message to be used on a template.IModelFactory
getModelFactory()
Returns the model factory that can be used for creating or modifying events.TemplateMode
getTemplateMode()
Returns the template mode of the template currently being processed.Map<String,Object>
getTemplateResolutionAttributes()
Returns the map of configuration items that have been specified at theprocess(...)
methods ofITemplateEngine
, aimed at further configuring the template being used and its resolution by means of theITemplateResolver
s.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.thymeleaf.context.IContext
containsVariable, getVariable, getVariableNames
-
Methods inherited from interface org.thymeleaf.context.IEngineContext
decreaseLevel, getElementStackAbove, increaseLevel, isVariableLocal, level, removeVariable, setElementTag, setInliner, setSelectionTarget, setTemplateData, setVariable, setVariables
-
Methods inherited from interface org.thymeleaf.context.ITemplateContext
getElementStack, getInliner, getSelectionTarget, getTemplateData, getTemplateStack, hasSelectionTarget
-
-
-
-
Constructor Detail
-
AbstractEngineContext
protected AbstractEngineContext(IEngineConfiguration configuration, Map<String,Object> templateResolutionAttributes, Locale locale)
-
-
Method Detail
-
getConfiguration
public final IEngineConfiguration getConfiguration()
Description copied from interface:IExpressionContext
Returns the
IEngineConfiguration
(engine configuration) corresponding to theITemplateEngine
instance this expression context is meant to be used with.- Specified by:
getConfiguration
in interfaceIExpressionContext
- 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 ofITemplateEngine
, aimed at further configuring the template being used and its resolution by means of theITemplateResolver
s.- Specified by:
getTemplateResolutionAttributes
in interfaceITemplateContext
- 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.
-
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 interfaceIExpressionContext
- 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 ath: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 interfaceITemplateContext
- 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 thenIEngineConfiguration.getModelFactory(TemplateMode)
using as template mode the result ofITemplateContext.getTemplateMode()
.- Specified by:
getModelFactory
in interfaceITemplateContext
- 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 interfaceITemplateContext
- Parameters:
origin
- the origin class to be used for message resolution. When calling from a processor, this is normally the processor class itself. SeeIMessageResolver
.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 (seeIMessageResolver
).- 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 interfaceITemplateContext
- 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 interfaceITemplateContext
- Returns:
- the identifier sequences object.
-
-