Refine search
result = (List) listClass.newInstance(); } catch (Exception e) { throw new TemplateModelException("Error instantiating an object of type " + listClass.getName(), e); BeansWrapper bw = BeansWrapper.getDefaultInstance(); for (int i = 0; i < list.size(); i++) { Object elem = list.get(i); if (elem instanceof TemplateModel) { elem = bw.unwrap((TemplateModel) elem);
public Object exec(List args) throws TemplateModelException { if (args.isEmpty()) { throw new TemplateModelException("This method must have at least one argument, the name of the class to instantiate."); } String classname = args.get(0).toString(); Class cl = null; try { cl = ClassUtil.forName(classname); } catch (Exception e) { throw new TemplateModelException(e.getMessage()); } BeansWrapper bw = BeansWrapper.getDefaultInstance(); Object obj = bw.newInstance(cl, args.subList(1, args.size())); return bw.wrap(obj); } }
public BeansWrapper getObjectWrapper() { if (objectWrapper == null) { objectWrapper = new BeansWrapper(Configuration.VERSION_2_3_21); } return objectWrapper; }
public Object exec(List arguments) throws TemplateModelException { ObjectWrapper ow = env.getObjectWrapper(); BeansWrapper bw = ow instanceof BeansWrapper ? (BeansWrapper) ow : BeansWrapper.getDefaultInstance(); return bw.newInstance(cl, arguments); } }
/** * 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 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); }
private void populate() throws TemplateModelException { if (!Modifier.isPublic(clazz.getModifiers())) { throw new TemplateModelException( "Can't wrap the non-public class " + clazz.getName()); if (wrapper.getExposureLevel() == BeansWrapper.EXPOSE_NOTHING) { return; map.put(field.getName(), wrapper.getOuterIdentity().wrap(field.get(null))); } catch (IllegalAccessException e) { if (wrapper.getExposureLevel() < BeansWrapper.EXPOSE_PROPERTIES_ONLY) { Method[] methods = clazz.getMethods(); for (int i = 0; i < methods.length; ++i) { int mod = method.getModifiers(); if (Modifier.isPublic(mod) && Modifier.isStatic(mod) && wrapper.getClassIntrospector().isAllowedToExpose(method)) { String name = method.getName(); Object obj = map.get(name); if (obj instanceof Method) { OverloadedMethods overloadedMethods = new OverloadedMethods(wrapper.is2321Bugfixed()); overloadedMethods.addMethod((Method) obj); overloadedMethods.addMethod(method);
ObjectWrapperAndUnwrapper unwrapper = wrapper instanceof ObjectWrapperAndUnwrapper ? (ObjectWrapperAndUnwrapper) wrapper : BeansWrapper.getDefaultInstance(); // [2.4] Throw exception in this case final Object[] argArray = new Object[1]; for (Iterator iter = args.entrySet().iterator(); iter.hasNext(); ) { if (setterMethod == null) { if (dynaSetter == null) { throw new TemplateModelException("Unknown property " + StringUtil.jQuote(paramName.toString()) + " on instance of " + tagClass.getName()); argArray[0] = BeansWrapper.coerceBigDecimal( (BigDecimal) arg, setterMethod.getParameterTypes()[0]);
throw new TemplateModelException( "Can't wrap the non-public class " + clazz.getName()); if(wrapper.getExposureLevel() == BeansWrapper.EXPOSE_NOTHING) map.put(field.getName(), wrapper.getOuterIdentity().wrap(field.get(null))); if(wrapper.getExposureLevel() < BeansWrapper.EXPOSE_PROPERTIES_ONLY) if (Modifier.isPublic(mod) && Modifier.isStatic(mod) && wrapper.isSafeMethod(method))
@Override public TemplateModel wrap(Object obj) throws TemplateModelException { // So our existence builtins work as expected. if (obj == UNDEFINED_INSTANCE || obj == UniqueTag.NOT_FOUND) { return null; } // UniqueTag.NULL_VALUE represents intentionally set null in Rhino, and // BeansWrapper#nullModel also represents intentionally returned null. // I [A.Sz.] am fairly certain that this value is never passed out of // any of the Rhino code back to clients, but is instead always being // converted back to null. However, since this object is available to // any 3rd party Scriptable implementations as well, they might return // it, so we'll just be on the safe side, and handle it. if (obj == UniqueTag.NULL_VALUE) { return super.wrap(null); } // So, say, a JavaAdapter for FreeMarker interfaces works if (obj instanceof Wrapper) { obj = ((Wrapper) obj).unwrap(); } return super.wrap(obj); }
public TemplateModel get(String key) throws TemplateModelException { Object bean = scope == ANY_SCOPE ? pageContext.findAttribute(key) : pageContext.getAttribute(key, scope); return BeansWrapper.getDefaultInstance().wrap(bean); }
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)); } }
protected Object unwrap(TemplateModel model) throws TemplateModelException { return wrapper.unwrap(model); }
private TemplateHashModel getStaticsModel(ObjectWrapper wrapper) { if (wrapper instanceof BeansWrapper) { return ((BeansWrapper) wrapper).getStaticModels(); } return BeansWrapper.getDefaultInstance().getStaticModels(); }
BeansWrapper wrapper = new BeansWrapper(); wrapper.setSimpleMapWrapper(true); cfg.setObjectWrapper(wrapper);
private void dumpObject(int exposureLevel) { String varName = "employee"; Map<String, Object> dataModel = new HashMap<String, Object>(); BeansWrapper wrapper = new BeansWrapper(); wrapper.setExposureLevel(exposureLevel); Employee employee = getEmployee(); try { dataModel.put("employee", wrapper.wrap(employee)); } catch (TemplateModelException e) { // logging is suppressed, so what do we do here? } Map<String, Object> expectedDumpValue = new HashMap<String, Object>(); expectedDumpValue.put(Key.TYPE.toString(), employee.getClass().getName()); expectedDumpValue.put(Key.VALUE.toString(), getJohnDoeExpectedDump(exposureLevel)); Map<String, Object> expectedDump = new HashMap<String, Object>(); expectedDump.put(varName, expectedDumpValue); testObjectDump(varName, dataModel, expectedDump); }
throws TemplateModelException { Class<?> clazz = object.getClass(); Map<Object, Object> classInfo = wrapper.getClassIntrospector().get(clazz); TemplateModel retval = null; if (wrapper.isMethodsShadowItems()) { Object fd = classInfo.get(key); if (fd != null) { final TemplateModel nullModel = wrapper.wrap(null); if (model != nullModel && model != UNKNOWN) { return model; if (wrapper.isStrict()) { throw new InvalidPropertyException("No such bean property: " + key); } else if (LOG.isDebugEnabled()) { logNoSuchKey(key, classInfo); retval = wrapper.wrap(null);
protected <T extends CommonDataBean> void generateReportFromTemplate( File outFile, String templateName, T bean) throws Exception { Configuration cfg = FreemarkerConfiguration.get(this.getTemplatesLocation()); Template temp = cfg.getTemplate(templateName); outFile.getAbsoluteFile().getParentFile().mkdirs(); FileWriter writer = new FileWriter(outFile); bean.setPdfPageSize(this.getPdfPageSize()); if (StringUtils.isBlank(bean.getTitle())) { bean.setTitle(this.getReportType().toString()); } BeansWrapper wrapper = new BeansWrapper(Configuration.VERSION_2_3_23); wrapper.wrap(bean); temp.process(bean, writer); writer.close(); } private File generateBackupFile(File htmlFile) throws Exception {
return new DateModel((Date) jobj, BeansWrapper.getDefaultInstance()); } else if (jobj instanceof Collection) { asSequence = true;
Method indexedReadMethod = pd.getIndexedReadMethod(); if (indexedReadMethod != null) { if (!wrapper.getPreferIndexedReadMethod() && (pd.getReadMethod()) != null) { resultModel = wrapper.invokeMethod(object, pd.getReadMethod(), null); resultModel = wrapper.invokeMethod(object, pd.getReadMethod(), null); resultModel = wrapper.wrap(((Field) desc).get(object));