public void removeVariable(final String name) { if (containsVariable(name)) { setVariable(name, NON_EXISTING); } }
public void setInliner(final IInliner inliner) { ensureLevelInitialized(-1); // We use NoOpInliner.INSTANCE in order to signal when inlining has actually been disabled this.lastInliner = (inliner == null? NoOpInliner.INSTANCE : inliner); this.inliners[this.index] = this.lastInliner; }
@Override public String toString() { final Map<String,Object> equivalentMap = new LinkedHashMap<String, Object>(); int n = this.index + 1; int i = 0; while (n-- != 0) { if (this.maps[i] != null) { final List<String> entryNames = new ArrayList<String>(this.maps[i].keySet()); Collections.sort(entryNames); for (final String name : entryNames) { final Object value = this.maps[i].get(name); if (value == NON_EXISTING) { equivalentMap.remove(name); continue; } equivalentMap.put(name, value); } } i++; } final String textInliningStr = (getInliner() != null? "[" + getInliner().getName() + "]" : "" ); final String templateDataStr = "(" + getTemplateData().getTemplate() + ")"; return equivalentMap.toString() + (hasSelectionTarget()? "<" + getSelectionTarget() + ">" : "") + textInliningStr + templateDataStr; }
webContext.getLocale(), Collections.EMPTY_MAP); return new EngineContext( configuration, templateData, templateResolutionAttributes, context.getLocale(), Collections.EMPTY_MAP); return new EngineContext( configuration, templateData, templateResolutionAttributes, context.getLocale(), variables);
@Override public boolean containsVariable(final String name) { if (super.containsVariable(name)) { return true; } return this.exchange.getAttributes().containsKey(name); }
@Override public String getStringRepresentationByLevel() { final StringBuilder strBuilder = new StringBuilder(super.getStringRepresentationByLevel()); strBuilder.append("[[EXCHANGE: " + this.exchange.getAttributes() + "]]"); return strBuilder.toString(); }
@Override public Object getVariable(final String key) { final Object value = super.getVariable(key); if (value != null) { return value; } return this.exchange.getAttributes().get(key); }
@Override public Set<String> getVariableNames() { final Set<String> variableNames = super.getVariableNames(); variableNames.addAll(this.exchange.getAttributes().keySet()); return variableNames; }
public IEngineContext createEngineContext( final IEngineConfiguration configuration, final TemplateData templateData, final Map<String, Object> templateResolutionAttributes, final IContext context) { Validate.notNull(context, "Context object cannot be null"); final Set<String> variableNames = context.getVariableNames(); if (variableNames == null || variableNames.isEmpty()) { if (context instanceof ISpringWebFluxContext) { final ISpringWebFluxContext srContext = (ISpringWebFluxContext)context; return new SpringWebFluxEngineContext( configuration, templateData, templateResolutionAttributes, srContext.getExchange(), srContext.getLocale(), Collections.EMPTY_MAP); } return new EngineContext( configuration, templateData, templateResolutionAttributes, context.getLocale(), Collections.EMPTY_MAP); } final Map<String,Object> variables = new LinkedHashMap<>(variableNames.size() + 1, 1.0f); for (final String variableName : variableNames) { variables.put(variableName, context.getVariable(variableName)); } if (context instanceof ISpringWebFluxContext) { final ISpringWebFluxContext srContext = (ISpringWebFluxContext)context; return new SpringWebFluxEngineContext( configuration, templateData, templateResolutionAttributes, srContext.getExchange(), srContext.getLocale(), variables); } return new EngineContext( configuration, templateData, templateResolutionAttributes, context.getLocale(), variables); }
public void setVariable(final String name, final Object value) { ensureLevelInitialized(DEFAULT_MAP_SIZE); if (value == NON_EXISTING && this.level == 0) { this.maps[this.index].remove(name); } else { if (value == null) { this.maps[this.index].put(name, NULL); } else { this.maps[this.index].put(name, value); } } }
public void setVariables(final Map<String, Object> variables) { if (variables == null || variables.isEmpty()) { return; } ensureLevelInitialized(Math.max(DEFAULT_MAP_SIZE, variables.size() + 2)); for (final Map.Entry<String, Object> entry : variables.entrySet()) { final Object value = entry.getValue(); if (value == null) { this.maps[this.index].put(entry.getKey(), NULL); } else { this.maps[this.index].put(entry.getKey(), value); } } }
public void setSelectionTarget(final Object selectionTarget) { ensureLevelInitialized(-1); this.lastSelectionTarget = new SelectionTarget(selectionTarget); this.selectionTargets[this.index] = this.lastSelectionTarget; }
public void setTemplateData(final TemplateData templateData) { Validate.notNull(templateData, "Template Data cannot be null"); ensureLevelInitialized(-1); this.lastTemplateData = templateData; this.templateDatas[this.index] = this.lastTemplateData; this.templateStack.clear(); }