001 package railo.runtime.compiler; 002 003 import java.io.IOException; 004 005 import railo.commons.io.res.Resource; 006 import railo.runtime.PageSource; 007 import railo.runtime.config.ConfigImpl; 008 import railo.runtime.exp.TemplateException; 009 import railo.transformer.library.function.FunctionLib; 010 import railo.transformer.library.tag.TagLib; 011 012 013 public interface CFMLCompiler { 014 015 /** 016 * compiles a CFML source file 017 * @param source cfml source file 018 * @param tld tag library deskriptor 019 * @param fld function library deskriptor 020 * @param classRootDir target directory for generated classes 021 * @param className name of the class will be generated 022 * @throws TemplateException 023 * @throws IOException 024 */ 025 public abstract byte[] compile(ConfigImpl config, PageSource source, 026 TagLib[] tld, FunctionLib[] fld, Resource classRootDir, String className) 027 throws TemplateException, IOException, railo.runtime.exp.TemplateException; 028 029 }