📄 flowhtmlsubtask.java
字号:
/* * Copyright (c) 2001, 2002 The XDoclet team * All rights reserved. */package net.orthanc.flow4j.tools.xdoclet;import java.io.File;import java.util.Collection;import java.util.Iterator;import java.util.Properties;import java.util.SortedSet;import java.util.TreeSet;import xdoclet.TemplateSubTask;import xdoclet.XDocletException;import xdoclet.tagshandler.PackageTagsHandler;import xjavadoc.XClass;import xjavadoc.XPackage;/** * @author greifa * @created 2. Juni 2004 * @ant.element display-name="HTML" name="html" parent="net.orthanc.flow4j.tools.xdoclet.FlowHtmlGenerator" * @todo use DocletTask as parent instead. should be enough. */public class FlowHtmlSubTask extends TemplateSubTask{ private final Properties properties = new Properties(); private String header = null; public FlowHtmlSubTask() { // Set default values setHeader("Flow Documentation"); // Use the Ant project's name // setProjectname(documentDocletTask.getProject().getName()); // Don't want tags from superclasses properties.setProperty("superclasses", "false"); } /** * @return */ public String getHeader() { return header; } /** * @param string */ public void setHeader(String string) { header = string; } /* * (non-Javadoc) * @see xdoclet.SubTask#execute() */ public void execute() throws XDocletException { // first, generate the general stuff on the root. // Although stylesheet could be copied out with above method, use template engine. // We might want to parameterise colors/fonts with tags setTemplateURL(getClass().getResource("resources/flowdoc.css")); setDestinationFile("flowdoc.css"); startProcess(); setTemplateURL(getClass().getResource("resources/index.xdt")); setDestinationFile("index.html"); startProcess(); setTemplateURL(getClass().getResource("resources/all-classes.xdt")); setDestinationFile("all-classes.html"); startProcess(); setTemplateURL(getClass().getResource("resources/all-packages.xdt")); setDestinationFile("all-packages.html"); startProcess(); setTemplateURL( getClass().getResource("resources/overview-packages.xdt")); setDestinationFile("overview-packages.html"); startProcess(); // now loop over all packages and classes Collection classes = getXJavaDoc().getSourceClasses(); SortedSet packages = new TreeSet(); for (Iterator i = classes.iterator(); i.hasNext(); ) { packages.add(((XClass) i.next()).getContainingPackage()); } XPackage currentPackage = null; for (Iterator packageIterator = packages.iterator(); packageIterator.hasNext(); ) { currentPackage = (XPackage) packageIterator.next(); setCurrentPackage(currentPackage); File oldDestDir = getDestDir(); File dir = new File( getDestDir(), PackageTagsHandler.packageNameAsPathFor(currentPackage)); setDestDir(dir); setTemplateURL( getClass().getResource("resources/classes-list.xdt")); setDestinationFile("classes-list.html"); startProcess(); classes = currentPackage.getClasses(); setTemplateURL( getClass().getResource("resources/class-details.xdt")); for (Iterator i = classes.iterator(); i.hasNext(); ) { setCurrentClass((XClass) i.next()); setDestinationFile( getCurrentClass().getName() + "-details.html"); startProcess(); } setDestDir(oldDestDir); } // restore current package to null, so subsequent class iterations can // perform outside the context of a current packages setCurrentPackage(null); } /** * validate options - noop here * * @exception XDocletException */ public void validateOptions() throws XDocletException { } /** * Gets the Properties attribute of the InfoSubTask object * * @return The Properties value */ protected Properties getProperties() { return properties; } protected void engineStarted() throws XDocletException { }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -