/** * Set the current engine. * * @param engine - current engine */ public Context setEngine(Engine engine) { checkThread(); if (engine != null && engine != this.engine) { if (template != null && template.getEngine() != engine) { throw new IllegalStateException("template.engine != context.engine"); } if (parent != null && parent.getEngine() == null) { parent.setEngine(engine); } if (this.engine == null) { current = engine.createContext(parent, current); } } this.engine = engine; return this; }
public Object get(String key) { if ("parent".equals(key)) { return Context.getContext().getParent(); } else if ("super".equals(key)) { Context parent = Context.getContext().getParent(); return parent == null ? null : parent.getTemplate(); } else if ("this".equals(key)) { return Context.getContext().getTemplate(); } else if ("engine".equals(key)) { return Context.getContext().getEngine(); } else if ("out".equals(key)) { return Context.getContext().getOut(); } else if ("level".equals(key)) { return Context.getContext().getLevel(); } else { Template template = Context.getContext().getTemplate(); if (template != null) { return template.getMacros().get(key); } return null; } }
public Object get(String key) { if ("parent".equals(key)) { return Context.getContext().getParent(); } else if ("super".equals(key)) { Context parent = Context.getContext().getParent(); return parent == null ? null : parent.getTemplate(); } else if ("this".equals(key)) { return Context.getContext().getTemplate(); } else if ("engine".equals(key)) { return Context.getContext().getEngine(); } else if ("out".equals(key)) { return Context.getContext().getOut(); } else if ("level".equals(key)) { return Context.getContext().getLevel(); } else { Template template = Context.getContext().getTemplate(); if (template != null) { return template.getMacros().get(key); } return null; } }
/** * Set the current engine. * * @param engine - current engine */ public Context setEngine(Engine engine) { checkThread(); if (engine != null) { if (template != null && template.getEngine() != engine) { throw new IllegalStateException("Failed to set the context engine, because is not the same to template engine. template engine: " + template.getEngine().getName() + ", context engine: " + engine.getName() + ", template: " + template.getName() + ", context: " + thread.getName()); } if (parent != null && parent.getEngine() != engine) { parent.setEngine(engine); } if (this.engine == null) { setCurrent(engine.createContext(parent, current)); } } this.engine = engine; return this; }