protected Object unwrap(TemplateModel model) throws TemplateModelException { return wrapper.unwrap(model); }
/** * Attempts to unwrap a model into underlying object. Generally, this * method is the inverse of the {@link #wrap(Object)} method. In addition * it will unwrap arbitrary {@link TemplateNumberModel} instances into * a number, arbitrary {@link TemplateDateModel} instances into a date, * {@link TemplateScalarModel} instances into a String, arbitrary * {@link TemplateBooleanModel} instances into a Boolean, arbitrary * {@link TemplateHashModel} instances into a Map, arbitrary * {@link TemplateSequenceModel} into a List, and arbitrary * {@link TemplateCollectionModel} into a Set. All other objects are * returned unchanged. * @throws TemplateModelException if an attempted unwrapping fails. */ public Object unwrap(TemplateModel model) throws TemplateModelException { return unwrap(model, Object.class); }
public Object exec(List args) throws TemplateModelException { Object key = ((BeansWrapper) getObjectWrapper()).unwrap((TemplateModel) args.get(0)); Object value = map.get(key); if (value == null && !map.containsKey(key)) { return null; } return wrap(value); }
@Override public Object get(Object key) { try { return wrapper.unwrap(model.get(String.valueOf(key))); } catch (TemplateModelException e) { throw new UndeclaredThrowableException(e); } }
/** * A hook that Jython uses. */ public Object __getitem__(String key) throws TemplateModelException { return BeansWrapper.getDefaultInstance().unwrap(getVariable(key)); }
public Object next() { try { return wrapper.unwrap(i.next()); } catch (TemplateModelException e) { throw new UndeclaredThrowableException(e); } }
@Override public Object get(int index) { try { return wrapper.unwrap(model.get(index)); } catch (TemplateModelException e) { throw new UndeclaredThrowableException(e); } }
Object value = entry.getValue(); if (value instanceof TemplateModel) { value = bw.unwrap((TemplateModel) value);
Object elem = list.get(i); if (elem instanceof TemplateModel) { elem = bw.unwrap((TemplateModel) elem);
public Object exec(List arguments) throws TemplateModelException { Context cx = Context.getCurrentContext(); Object[] args = arguments.toArray(); BeansWrapper wrapper = getWrapper(); for (int i = 0; i < args.length; i++) { args[i] = wrapper.unwrap((TemplateModel) args[i]); } return wrapper.wrap(((Function) getScriptable()).call(cx, ScriptableObject.getTopLevelScope(fnThis), fnThis, args)); } }
@Override public Object exec(List list) throws TemplateModelException { FORCE_NOT_15.set(list.size() > 1 && Boolean.TRUE.equals(BeansWrapper.getDefaultInstance().unwrap((TemplateModel) list.get(1)))); try { return super.exec(list); } finally { FORCE_NOT_15.remove(); } }
@Override public Object get(Object key) { try { return wrapper.unwrap(model.get(String.valueOf(key))); } catch (TemplateModelException e) { throw new UndeclaredThrowableException(e); } }
public Object next() { try { return wrapper.unwrap(i.next()); } catch(TemplateModelException e) { throw new UndeclaredThrowableException(e); } }
/** * A hook that Jython uses. */ public Object __getitem__(String key) throws TemplateModelException { return BeansWrapper.getDefaultInstance().unwrap(getVariable(key)); }
public Object exec(List list) throws TemplateModelException { if (list.size() < 1) { throw new TemplateModelException("The accessorOverridesAnother method must have the accessor as a parameter."); } TemplateModel from = (TemplateModel) list.get(0); Object unwrapped = BeansWrapper.getDefaultInstance().unwrap(from); if (!(unwrapped instanceof Accessor)) { throw new TemplateModelException("The accessorOverridesAnother method must have the accessor as a parameter."); } return overridesAnother((Accessor) unwrapped); }
public Object exec(List list) throws TemplateModelException { if (list.size() < 1) { throw new TemplateModelException("The nameForTypeDefinition method must have a type definition as a parameter."); } TemplateModel from = (TemplateModel) list.get(0); Object unwrapped = BeansWrapper.getDefaultInstance().unwrap(from); if (!(unwrapped instanceof TypeDefinition)) { throw new TemplateModelException("The nameForTypeDefinition method must have a type definition as a parameter."); } return calculateName((TypeDefinition) unwrapped); }
public Object exec(List list) throws TemplateModelException { if (list.size() < 1) { throw new TemplateModelException("The nameForTypeDefinition method must have a type definition as a parameter."); } TemplateModel from = (TemplateModel) list.get(0); BeansWrapper wrapper = new BeansWrapperBuilder(Configuration.DEFAULT_INCOMPATIBLE_IMPROVEMENTS).build(); Object unwrapped = wrapper.unwrap(from); if (!(unwrapped instanceof TypeDefinition)) { throw new TemplateModelException("The nameForTypeDefinition method must have a type definition as a parameter."); } return calculateName((TypeDefinition) unwrapped); }
public Object exec(List list) throws TemplateModelException { if (list.size() < 1) { throw new TemplateModelException("The nameForTypeDefinition method must have a type definition as a parameter."); } TemplateModel from = (TemplateModel) list.get(0); BeansWrapper wrapper = new BeansWrapperBuilder(Configuration.DEFAULT_INCOMPATIBLE_IMPROVEMENTS).build(); Object unwrapped = wrapper.unwrap(from); if (!(unwrapped instanceof TypeDefinition)) { throw new TemplateModelException("The nameForTypeDefinition method must have a type definition as a parameter."); } return calculateName((TypeDefinition) unwrapped); }
public Object exec(List list) throws TemplateModelException { if (list.size() < 1) { throw new TemplateModelException("The accessorOverridesAnother method must have the accessor as a parameter."); } TemplateModel from = (TemplateModel) list.get(0); Object unwrapped = new BeansWrapperBuilder(Configuration.getVersion()).build().unwrap(from); if (!(unwrapped instanceof Accessor)) { throw new TemplateModelException("The accessorOverridesAnother method must have the accessor as a parameter."); } return overridesAnother((Accessor) unwrapped); }
public Object exec(List arguments) throws TemplateModelException { Context cx = Context.getCurrentContext(); Object[] args = arguments.toArray(); BeansWrapper wrapper = getWrapper(); for (int i = 0; i < args.length; i++) { args[i] = wrapper.unwrap((TemplateModel) args[i]); } return wrapper.wrap(((Function) getScriptable()).call(cx, ScriptableObject.getTopLevelScope(fnThis), fnThis, args)); } }