Interface TemplateExecutionEnvironment

  • All Superinterfaces:
    GeneratorQueryProvider.Source
    All Known Implementing Classes:
    TemplateExecutionEnvironmentImpl

    public interface TemplateExecutionEnvironment
    extends GeneratorQueryProvider.Source
    Mediator between template/rule and the generation process, provides access to facilities not specific to particular template being executed. With delegation mechanism to resort to other generator rules/templates (i.e. not part of the active generator; whether interpreted or generated), TemplateExecutionEnvironment is inherently associated with an active generation thread (IMPLEMENTATION NOTE: at the moment, there's one instance per thread/per root).

    It's deemed to serve as a mediator between generated and interpreted templates, although present implementation of interpreted templates not always resort to facilities provided by this class.

    Unlike TemplateContext, which is call stack for particular template/rule, this class is of broader scope/life-cycle.

    This interface is not deemed to be implemented by clients. Generator subsystem provides implementation of this interface, which is an API to generator facilities. New API methods may be added as needed, depecation of existing methods shall respect generated code out there.

    See Also:
    Evgeny Gryaznov, 10/22/10