package railo.runtime.exp; import railo.commons.lang.StringUtil; import railo.runtime.PageSource; import railo.runtime.op.Caster; import railo.transformer.util.CFMLString; /** * Template Exception Object */ public class TemplateException extends PageExceptionImpl { /** * @return the line */ public int getLine() { return line; } /** * @return the pageSource */ public PageSource getPageSource() { return pageSource; } private int line; private PageSource pageSource; /** * constructor of the template exception * @param message Exception Message */ public TemplateException(String message) { super(message,"template"); } /** * constructor of the template exception * @param message Exception Message * @param detail Detailed Exception Message */ public TemplateException(String message, String detail) { super(message,"template"); setDetail(detail); } /** * Constructor of the class * @param cfml * @param message */ public TemplateException(PageSource ps, int line, int column,String message) { super(message,"template"); //print.err(line+"+"+column); addContext(ps,line,column,null); this.line=line; this.pageSource=ps; } /** * Constructor of the class * @param cfml * @param message */ public TemplateException(CFMLString cfml, String message) { this((PageSource)cfml.getSourceFile(),cfml.getLine(),cfml.getColumn(),message); } /** * Constructor of the class * @param cfml * @param message * @param detail */ public TemplateException(CFMLString cfml, String message, String detail) { this((PageSource)cfml.getSourceFile(),cfml.getLine(),cfml.getColumn(),message); setDetail(detail); } /** * Constructor of the class * @param cfml * @param e */ public TemplateException(CFMLString cfml, Throwable e) { this( cfml, StringUtil.isEmpty(e.getMessage())? (Caster.toClassName(e)): e.getMessage()); setStackTrace(e.getStackTrace()); } }