private Object createEvaluationRoot() { final VariablesMap<String, Object> contextVariables = this.context.getVariables(); // We create a new VariablesMap instance using its constructor instead of cloning the existing one // because we want to avoid undesirable interactions like, for example, those that could happen // if we executed putAll on a WebVariablesMap object (which would add those variables to the HttpServletRequest // and therefore make them available to the whole page and not just the local variable scope). final VariablesMap<String,Object> newEvaluationRoot = new VariablesMap<String, Object>(contextVariables); if (this.localVariables != null) { newEvaluationRoot.putAll(this.localVariables); } return newEvaluationRoot; }
/** * <p> * Removes from the map all the context variables currently set. * </p> */ public final void clearVariables() { this.variables.clear(); }
@Override public WebServletContextVariablesMap clone() { return (WebServletContextVariablesMap) super.clone(); }
/** * <p> * Adds a variable to the current set of context variables. * </p> * * @param name the name of the variable. * @param value the value of the variable. */ public final void setVariable(final String name, final Object value) { Validate.notNull(name, "Variable name cannot be null"); this.variables.put(name, value); }
/** * <p> * Adds a set of variables to the current set of context variables. * </p> * * @param additionalVariables the new variables to be added. */ public final void setVariables(final Map<String,?> additionalVariables) { Validate.notNull(additionalVariables, "Variables map cannot be null"); this.variables.putAll(additionalVariables); }
@Override public Object get(final Object key) { if (isReservedVariableName((String)key)) { return super.get(key); } return this.request.getAttribute((String)key); }
public Object getSelectionTarget() { if (hasLocalVariable(EVAL_SELECTION_TARGET_LOCAL_VARIABLE_NAME)) { return getLocalVariable(EVAL_SELECTION_TARGET_LOCAL_VARIABLE_NAME); } if (getContext().getVariables().containsKey(EVAL_SELECTION_TARGET_LOCAL_VARIABLE_NAME)) { return getContext().getVariables().get(EVAL_SELECTION_TARGET_LOCAL_VARIABLE_NAME); } return null; }
private IContext toIContext(final Map<String, Object> context) { final VariablesMap<String, Object> variables = new VariablesMap<>(context); return new IContext() { @Override public VariablesMap<String, Object> getVariables() { return variables; } @Override public Locale getLocale() { return Locale.getDefault(); } @Override public void addContextExecutionInfo(String templateName) { } }; } }
@Override public boolean equals(final Object obj) { if (this == obj) { return true; } if (!super.equals(obj)) { return false; } if (getClass() != obj.getClass()) { return false; } final WebRequestParamsVariablesMap other = (WebRequestParamsVariablesMap) obj; if (this.parameterMap == null) { if (other.parameterMap != null) { return false; } } else if (!this.parameterMap.equals(other.parameterMap)) { return false; } return true; }
@Override public String toString() { final Map<String,Object> attributeMap = getAttributeMap(this.request); for (final Map.Entry<String,Object> superEntry : super.entrySet()) { attributeMap.put(superEntry.getKey(), superEntry.getValue()); } return attributeMap.toString(); }
public boolean hasSelectionTarget() { return hasLocalVariable(EVAL_SELECTION_TARGET_LOCAL_VARIABLE_NAME) || getContext().getVariables().containsKey(EVAL_SELECTION_TARGET_LOCAL_VARIABLE_NAME); }
/** * Sets a variable which is then exposed to the view layer * * @param name * @param value * * @return */ public ThymeleafCall set(String name, Object value) { context.getVariables().put(name, value); return this; }
protected Map<String, Object> computeAdditionalContextVariables(IProcessingContext processingContext) { Map<String, Object> var = new HashMap<>(); var.put(Routes.OBJECT_NAME, processingContext.getContext().getVariables().get(Routes.ROUTES_VAR)); final Context context = Context.CONTEXT.get(); if (context != null) { var.put("http", context); var.put("session", context.session()); var.put("flash", context.flash()); var.put("request", context.request()); var.put("parameters", context.parameters()); } return var; }
@Override public boolean equals(final Object obj) { if (this == obj) { return true; } if (!super.equals(obj)) { return false; } if (getClass() != obj.getClass()) { return false; } final WebServletContextVariablesMap other = (WebServletContextVariablesMap) obj; if (this.servletContext == null) { if (other.servletContext != null) { return false; } } else if (!this.servletContext.equals(other.servletContext)) { return false; } return true; }
@Override public Set<java.util.Map.Entry<String,Object>> entrySet() { final Map<String,Object> attributeMap = getAttributeMap(this.request); for (final Map.Entry<String,Object> superEntry : super.entrySet()) { attributeMap.put(superEntry.getKey(), superEntry.getValue()); } return attributeMap.entrySet(); }
/** * <p> * Create an instance specifying a locale and an initial set of context * variables. * </p> * * @param locale the locale to be used. * @param variables the initial set of context variables. */ AbstractContext(final Locale locale, final Map<String, ?> variables) { super(); Validate.notNull(locale, "Locale cannot be null"); this.locale = locale; final VariablesMap<String,Object> newVariablesMap; if (variables != null) { newVariablesMap = new VariablesMap<String,Object>((variables.size()*3)/2, 1.0f); newVariablesMap.putAll(variables); } else { newVariablesMap = new VariablesMap<String,Object>(5); } this.variables = newVariablesMap; }
/** * Sets a variable which is then exposed to the view layer * * @param name * @param value * * @return */ public ThymeleafCall set(String name, Object value) { context.getVariables().put(name, value); return this; }
.get("__TEMPLATE__");