|
Groovy example source code file (GroovyDocTemplateEngine.java)
The Groovy GroovyDocTemplateEngine.java source code/* * Copyright 2003-2009 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.codehaus.groovy.tools.groovydoc; import groovy.text.GStringTemplateEngine; import groovy.text.Template; import groovy.text.TemplateEngine; import org.codehaus.groovy.groovydoc.GroovyClassDoc; import org.codehaus.groovy.groovydoc.GroovyPackageDoc; import org.codehaus.groovy.groovydoc.GroovyRootDoc; import org.codehaus.groovy.runtime.DefaultGroovyMethods; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.Arrays; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Properties; /** * Process Groovydoc templates. */ public class GroovyDocTemplateEngine { private TemplateEngine engine; private GroovyDocTool tool; // TODO use it or lose it private ResourceManager resourceManager; private Properties properties; private Map<String, Template> docTemplates; // cache private List<String> docTemplatePaths; // once per documentation set private Map<String, Template> packageTemplates; // cache private List<String> packageTemplatePaths; // once per package private Map<String, Template> classTemplates; // cache private List<String> classTemplatePaths; // once per class public GroovyDocTemplateEngine(GroovyDocTool tool, ResourceManager resourceManager, String classTemplate) { this(tool, resourceManager, new String[]{}, new String[]{}, new String[]{classTemplate}, new Properties()); } public GroovyDocTemplateEngine(GroovyDocTool tool, ResourceManager resourceManager, String[] docTemplates, String[] packageTemplates, String[] classTemplates, Properties properties) { this.tool = tool; this.resourceManager = resourceManager; this.properties = properties; this.docTemplatePaths = Arrays.asList(docTemplates); this.packageTemplatePaths = Arrays.asList(packageTemplates); this.classTemplatePaths = Arrays.asList(classTemplates); this.docTemplates = new HashMap<String, Template>(); this.packageTemplates = new HashMap<String, Template>(); this.classTemplates = new HashMap<String, Template>(); engine = new GStringTemplateEngine(); } String applyClassTemplates(GroovyClassDoc classDoc) { String templatePath = classTemplatePaths.get(0); // todo (iterate) String templateWithBindingApplied = ""; try { Template t = classTemplates.get(templatePath); if (t == null) { t = engine.createTemplate(resourceManager.getReader(templatePath)); classTemplates.put(templatePath, t); } Map<String, Object> binding = new HashMap Other Groovy examples (source code examples)Here is a short list of links related to this Groovy GroovyDocTemplateEngine.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.