Class TestEngineTemplateResolver

java.lang.Object
org.thymeleaf.testing.templateengine.engine.resolver.TestEngineTemplateResolver
All Implemented Interfaces:
ITemplateResolver

public class TestEngineTemplateResolver extends Object implements ITemplateResolver
  • Field Details

  • Constructor Details

    • TestEngineTemplateResolver

      public TestEngineTemplateResolver()
  • Method Details

    • getName

      public String getName()

      Returns the name of the template resolver

      Specified by:
      getName in interface ITemplateResolver
      Returns:
      the name of the template resolver
    • setName

      public void setName(String name)

      Sets a new name for the Template Resolver.

      Parameters:
      name - the new name
    • getOrder

      public Integer getOrder()

      Returns the order in which this template resolver will be asked to resolve templates as a part of the chain of resolvers configured into the template engine.

      Order should start with 1.

      Specified by:
      getOrder in interface ITemplateResolver
      Returns:
      the order in which this template resolver will be called in the chain.
    • setOrder

      public void setOrder(Integer order)

      Sets a new order for the template engine in the chain. Order should start with 1.

      Parameters:
      order - the new order.
    • resolveTemplate

      public TemplateResolution resolveTemplate(IEngineConfiguration configuration, String ownerTemplate, String template, Map<String,Object> templateResolutionAttributes)
      Description copied from interface: ITemplateResolver

      Tries to resolve a template.

      The method arguments contain all the info needed for trying to resolve the template. The Template Resolver will apply its configuration (prefixes/suffixes, template mode patterns, cache configurations, etc) and return a TemplateResolution object.

      The ownerTemplate, which might be null, will be specified when the template is resolved in order to be used as a fragent to be inserted into a higher level template (the owner). Most template resolver implementations will simply ignore this argument, but others might change their resolution results depending on the owner template that is inserting the resolved fragment.

      The fact that a Template Resolver returns a TemplateResolution does not necessarily mean that the resolved template resource exists. It might only be so if the template resolver is configured to perform an existence check on the resource before returning a resolution result (by means of calling ITemplateResource.exists()), which might be configurable on a per-ITemplateResolver-implementation basis. Implementations might choose not to check resource existance by default in order to avoid the possible performance impact of a double access to the resource.

      Note that the template selectors that might be used for a executing or inserting a template are not specified to the template resolver. The reason is template selectors are applied by the parser, not the template resolvers, and allowing the resolver to take any decisions based on template selectors (like e.g. omitting some output from the resource) could harm the correctness of the selection operation performed by the parser.

      Specified by:
      resolveTemplate in interface ITemplateResolver
      Parameters:
      configuration - the engine configuration.
      ownerTemplate - the containing template from which we want to resolve a new one as a fragment. Can be null.
      template - the template to be resolved (usually its name).
      templateResolutionAttributes - the template resolution attributes to be used (usually coming from a TemplateSpec instance. Can be null.
      Returns:
      a TemplateResolution object (which might represent an existing resource or not), or null if the template could not be resolved.