public BeansWrapper getObjectWrapper() { if (objectWrapper == null) { objectWrapper = new BeansWrapper(Configuration.VERSION_2_3_21); } return objectWrapper; }
public BeansWrapper create(BeansWrapperConfiguration bwConf) { return new BeansWrapper(bwConf, true); }
public BeansWrapper getObjectWrapper() { if (objectWrapper == null) { objectWrapper = new BeansWrapper(Configuration.VERSION_2_3_21); } return objectWrapper; }
public BeansWrapper getObjectWrapper() { if (objectWrapper == null) { objectWrapper = new BeansWrapper(Configuration.VERSION_2_3_21); } return objectWrapper; }
public BeansWrapper create(BeansWrapperConfiguration bwConf) { return new BeansWrapper(bwConf, true); }
public BeansWrapper create(BeansWrapperConfiguration bwConf) { return new BeansWrapper(bwConf, true); }
new BeansWrapper(); bw.setSimpleMapWrapper(true); Configuration.setObjectWrapper(bw);
/** * @return configuration */ protected Configuration createConfiguration() { Configuration config = new Configuration(); config.setObjectWrapper(new BeansWrapper()); return config; }
BeansWrapper wrapper = new BeansWrapper(); wrapper.setSimpleMapWrapper(true); cfg.setObjectWrapper(wrapper);
private ObjectWrapper getWrapper(TemplateHashModelEx model) { // Attempt to find the wrapper that this template model object was wrapped with. if (model instanceof BeanModel) { return WrapperExtractor.getWrapper((BeanModel)model); // Otherwise return the wrapper defined for the Environment or Configuration, // if there is one. Why can't we get the wrapper for any type of TemplateModel?? } else if (defaultWrapper != null) { return defaultWrapper; } else { return new BeansWrapper(); } }
import freemarker.ext.beans.BeansWrapper; BeansWrapper w = new BeansWrapper(); TemplateHashModel statics = w.getStaticModels(); model.addAttribute("myVariable", statics);
BeansWrapper ow = new BeansWrapper(); ow.setExposeFields(true); // ow.setSimpleMapWrapper(true); Template template = freeMarkerConfiguration.getTemplate(templateName, locale); template.setObjectWrapper(ow); template.process(root, writer);
public static Configuration getNewTemplateConfiguration(final Context newChildContext) { final Configuration result = new Configuration(); result.setDefaultEncoding("UTF-8"); result.setURLEscapingCharset("UTF-8"); // FIXME: Make the template path configurable result.setTemplateLoader(new ContextTemplateLoader(newChildContext, "clap://class/templates")); final BeansWrapper myWrapper = new BeansWrapper(); myWrapper.setSimpleMapWrapper(true); result.setObjectWrapper(myWrapper); return result; }
public void generate(Book book, File directory, String outputFileName) throws IOException { Configuration cfg = new Configuration(); cfg.setDirectoryForTemplateLoading(templateDir); cfg.setObjectWrapper(new BeansWrapper()); cfg.setDefaultEncoding("UTF-8"); StringBuffer latex = new BookToLatex(parser).generateLatex(book, cfg); // print the latex document to an archive File fileBook = new File(directory, outputFileName); PrintStream stream = new PrintStream(fileBook, "UTF-8"); stream.append(latex); stream.close(); copyResources(directory, book); }
/** * Renders source code by using Freemarker template engine. */ public static String render(String templatePath, RenderingData data) throws IOException, TemplateException { Configuration config = new Configuration(Configuration.DEFAULT_INCOMPATIBLE_IMPROVEMENTS); StringTemplateLoader templateLoader = new StringTemplateLoader(); String source; try (InputStream is = ResourceReader.getResourceAsStream(templatePath); BufferedReader buffer = new BufferedReader(new InputStreamReader(is))) { source = buffer.lines().collect(Collectors.joining("\n")); } templateLoader.putTemplate("template", source); config.setTemplateLoader(templateLoader); config.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER); config.setObjectWrapper(new BeansWrapper(Configuration.DEFAULT_INCOMPATIBLE_IMPROVEMENTS)); config.setWhitespaceStripping(true); try (Writer writer = new java.io.StringWriter()) { Template template = config.getTemplate("template"); template.process(data, writer); return writer.toString(); } }
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 {
public ContentFacadeTemplateModel(ContentFacade facade, BeansWrapper wrapper) { this.facade = facade; this.wrapper = wrapper; strictWrapper = new BeansWrapper(); strictWrapper.setStrict(true); strictWrapper.setOuterIdentity(wrapper); this.facadeModel = new BeanModel(facade, strictWrapper); this.delegateModel = new BeanModel(facade.getOwner(), wrapper); }
@Test public void dumpCollectionModel() { String varName = "oddNums"; Map<String, Object> dataModel = new HashMap<String, Object>(); Set<Integer> odds = new HashSet<Integer>(); for (int i=0; i <= 10; i++) { if (i % 2 == 1) { odds.add(i); } } TemplateCollectionModel myCollection = new CollectionModel(odds, new BeansWrapper()); dataModel.put(varName, myCollection); Map<String, Object> expectedDumpValue = new HashMap<String, Object>(); expectedDumpValue.put(Key.TYPE.toString(), Type.COLLECTION); List<Map<String, Object>> myCollectionExpectedDumpValue = new ArrayList<Map<String, Object>>(odds.size()); for ( int i : odds ) { Map<String, Object> itemDump = new HashMap<String, Object>(); itemDump.put(Key.TYPE.toString(), Type.NUMBER); itemDump.put(Key.VALUE.toString(), i); myCollectionExpectedDumpValue.add(itemDump); } expectedDumpValue.put(Key.VALUE.toString(), myCollectionExpectedDumpValue); Map<String, Object> expectedDump = new HashMap<String, Object>(); expectedDump.put(varName, expectedDumpValue); test(varName, dataModel, expectedDump); }
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); }
/** * The default value of the {@code objectWrapper} setting, when {@code null} is passed for it * to the {@link Engine} constructor. */ private static BeansWrapper createDefaultObjectWrapper(Version recommendedDefaults, Version fmIncompImprovements) { BeansWrapper objectWrapper; if (recommendedDefaultsGE0916(recommendedDefaults) && fmIncompImprovements.intValue() >= Configuration.VERSION_2_3_21.intValue()) { DefaultObjectWrapperBuilder dowb = new DefaultObjectWrapperBuilder(fmIncompImprovements); dowb.setForceLegacyNonListCollections(false); dowb.setIterableSupport(true); objectWrapper = dowb.build(); } else { if (fmIncompImprovements == null || fmIncompImprovements.intValue() < Configuration.VERSION_2_3_21.intValue()) { // The old (deprecated) way: BeansWrapper bw = fmIncompImprovements != null ? new BeansWrapper(fmIncompImprovements) : new BeansWrapper(); bw.setSimpleMapWrapper(true); objectWrapper = bw; } else { BeansWrapperBuilder bwb = new BeansWrapperBuilder(fmIncompImprovements); bwb.setSimpleMapWrapper(true); objectWrapper = bwb.build(); } } return objectWrapper; }