/** * Copyright 2010 Bing Ran<bing_ran@hotmail.com> * * 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 cn.bran.japid.compiler; import cn.bran.japid.template.JapidTemplate; public class JapidCompilationException extends RuntimeException { private static final long serialVersionUID = -872264757349264853L; JapidTemplate template; int startLine; public JapidCompilationException(JapidTemplate template, int startLine, String string) { super(template.name + " (line " + startLine + "): " + string); this.template = template; this.startLine = startLine; } public String getTemplateName(){ return template.name; } public int getLineNumber(){ return startLine; } public String getTemplateSrc() { return template.source; } /** * @author Bing Ran (bing.ran@gmail.com) * @return */ public String getLocation() { return template.name + ": line " + startLine; } }