/** * Processes a Template in the context of this <code>Environment</code>, including its output in the * <code>Environment</code>'s Writer. * * @param includedTemplate * the template to process. Note that it does <em>not</em> need to be a template returned by * {@link #getTemplateForInclusion(String name, String encoding, boolean parse)}. */ public void include(Template includedTemplate) throws TemplateException, IOException { final Template prevTemplate; final boolean parentReplacementOn = isBeforeIcI2322(); prevTemplate = getTemplate(); if (parentReplacementOn) { setParent(includedTemplate); } else { legacyParent = includedTemplate; } importMacros(includedTemplate); try { visit(includedTemplate.getRootTreeNode()); } finally { if (parentReplacementOn) { setParent(prevTemplate); } else { legacyParent = prevTemplate; } } }
prevParent = getParent(); if (parentReplacementOn) { setParent(currentNamespace.getTemplate()); } else { legacyParent = currentNamespace.getTemplate(); currentNamespace = getMacroNamespace(invokingMacroContext.getMacro()); if (parentReplacementOn) { setParent(prevParent); } else { legacyParent = prevParent;
/** * Processes a Template in the context of this <code>Environment</code>, including its * output in the <code>Environment</code>'s Writer. * * @param includedTemplate the template to process. Note that it does <em>not</em> need * to be a template returned by * {@link #getTemplateForInclusion(String name, String encoding, boolean parse)}. */ public void include(Template includedTemplate) throws TemplateException, IOException { Template prevTemplate = getTemplate(); setParent(includedTemplate); importMacros(includedTemplate); try { visit(includedTemplate.getRootTreeNode()); } finally { setParent(prevTemplate); } }
/** * Processes a Template in the context of this <code>Environment</code>, including its output in the * <code>Environment</code>'s Writer. * * @param includedTemplate * the template to process. Note that it does <em>not</em> need to be a template returned by * {@link #getTemplateForInclusion(String name, String encoding, boolean parse)}. */ public void include(Template includedTemplate) throws TemplateException, IOException { final Template prevTemplate; final boolean parentReplacementOn = isBeforeIcI2322(); prevTemplate = getTemplate(); if (parentReplacementOn) { setParent(includedTemplate); } else { legacyParent = includedTemplate; } importMacros(includedTemplate); try { visit(includedTemplate.getRootTreeNode()); } finally { if (parentReplacementOn) { setParent(prevTemplate); } else { legacyParent = prevTemplate; } } }
/** * Processes a Template in the context of this <code>Environment</code>, including its output in the * <code>Environment</code>'s Writer. * * @param includedTemplate * the template to process. Note that it does <em>not</em> need to be a template returned by * {@link #getTemplateForInclusion(String name, String encoding, boolean parse)}. */ public void include(Template includedTemplate) throws TemplateException, IOException { final Template prevTemplate; final boolean parentReplacementOn = isBeforeIcI2322(); prevTemplate = getTemplate(); if (parentReplacementOn) { setParent(includedTemplate); } else { legacyParent = includedTemplate; } importMacros(includedTemplate); try { visit(includedTemplate.getRootTreeNode()); } finally { if (parentReplacementOn) { setParent(prevTemplate); } else { legacyParent = prevTemplate; } } }
void visit(BodyInstruction.Context bctxt) throws TemplateException, IOException { Macro.Context invokingMacroContext = getCurrentMacroContext(); ArrayList prevLocalContextStack = localContextStack; TemplateElement body = invokingMacroContext.body; if (body != null) { this.currentMacroContext = invokingMacroContext.prevMacroContext; currentNamespace = invokingMacroContext.bodyNamespace; Configurable prevParent = getParent(); setParent(currentNamespace.getTemplate()); this.localContextStack = invokingMacroContext.prevLocalContextStack; if (invokingMacroContext.bodyParameterNames != null) { pushLocalContext(bctxt); } try { visit(body); } finally { if (invokingMacroContext.bodyParameterNames != null) { popLocalContext(); } this.currentMacroContext = invokingMacroContext; currentNamespace = getMacroNamespace(invokingMacroContext.getMacro()); setParent(prevParent); this.localContextStack = prevLocalContextStack; } } }
prevParent = getParent(); if (parentReplacementOn) { setParent(currentNamespace.getTemplate()); } else { legacyParent = currentNamespace.getTemplate(); currentNamespace = getMacroNamespace(invokingMacroContext.getMacro()); if (parentReplacementOn) { setParent(prevParent); } else { legacyParent = prevParent;
prevParent = getParent(); if (parentReplacementOn) { setParent(currentNamespace.getTemplate()); } else { legacyParent = currentNamespace.getTemplate(); currentNamespace = getMacroNamespace(invokingMacroContext.getMacro()); if (parentReplacementOn) { setParent(prevParent); } else { legacyParent = prevParent;
localContextStack = prevLocalContextStack; currentNamespace = prevNamespace; setParent(prevParent);