package org.oddjob.tools.includes; import java.io.InputStream; import org.apache.log4j.Logger; import org.oddjob.io.ResourceType; /** * Creates text that can be inserted into JavaDoc or another XML document from * a Java Source Code File. * * * @author rob * */ public class JavaCodeResourceLoader implements IncludeLoader { private static final Logger logger = Logger.getLogger(JavaCodeResourceLoader.class); private static final String EOL = System.getProperty("line.separator"); public static final String TAG = "@oddjob.java.resource"; @Override public boolean canLoad(String tag) { return TAG.equals(tag); } public String load(String path) { try { FilterFactory filterFactory = new FilterFactory(path); String resource = filterFactory.getResourcePath(); InputStream input = new ResourceType( resource).toInputStream(); logger.info("Reading resource " + resource); String result = filterFactory.getTextLoader().load( input); Java2HTML java2html = new Java2HTML(); return java2html.convert(result); } catch (Exception e) { return "<p><em>" + e.toString() + "</em></p>" + EOL; } } }