AbstractGatheringModelProcessable(
final IEngineConfiguration configuration, final ProcessorTemplateHandler processorTemplateHandler, final IEngineContext context,
final TemplateModelController modelController, final TemplateFlowController flowController,
final SkipBody buildTimeSkipBody, final boolean buildTimeSkipCloseTag,
final ProcessorExecutionVars processorExecutionVars) {
super();
this.processorTemplateHandler = processorTemplateHandler;
this.context = context;
this.modelController = modelController;
this.flowController = flowController;
this.buildTimeSkipBody = buildTimeSkipBody;
this.buildTimeSkipCloseTag = buildTimeSkipCloseTag;
if (this.context == null) {
throw new TemplateProcessingException(
"Neither iteration nor model gathering are supported because local variable support is DISABLED. " +
"This is due to the use of an implementation of the " + ITemplateContext.class.getName() + " interface " +
"that does not provide local-variable support. In order to have local-variable support, the context " +
"implementation should also implement the " + IEngineContext.class.getName() +
" interface");
}
this.syntheticModel = new Model(configuration, context.getTemplateMode());
this.processorExecutionVars = processorExecutionVars.cloneVars();
this.gatheringFinished = false;
this.modelLevel = 0;
}