001: /*
002: * Copyright 1999,2004 The Apache Software Foundation.
003: *
004: * Licensed under the Apache License, Version 2.0 (the "License");
005: * you may not use this file except in compliance with the License.
006: * You may obtain a copy of the License at
007: *
008: * http://www.apache.org/licenses/LICENSE-2.0
009: *
010: * Unless required by applicable law or agreed to in writing, software
011: * distributed under the License is distributed on an "AS IS" BASIS,
012: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013: * See the License for the specific language governing permissions and
014: * limitations under the License.
015: */
016:
017: package org.apache.jasper.compiler;
018:
019: /**
020: * Class providing details about a javac compilation error.
021: *
022: * @author Jan Luehe
023: * @author Kin-man Chung
024: */
025: public class JavacErrorDetail {
026:
027: private String javaFileName;
028: private int javaLineNum;
029: private String jspFileName;
030: private int jspBeginLineNum;
031: private StringBuffer errMsg;
032:
033: /**
034: * Constructor.
035: *
036: * @param javaFileName The name of the Java file in which the
037: * compilation error occurred
038: * @param javaLineNum The compilation error line number
039: * @param errMsg The compilation error message
040: */
041: public JavacErrorDetail(String javaFileName, int javaLineNum,
042: StringBuffer errMsg) {
043:
044: this .javaFileName = javaFileName;
045: this .javaLineNum = javaLineNum;
046: this .errMsg = errMsg;
047: this .jspBeginLineNum = -1;
048: }
049:
050: /**
051: * Constructor.
052: *
053: * @param javaFileName The name of the Java file in which the
054: * compilation error occurred
055: * @param javaLineNum The compilation error line number
056: * @param jspFileName The name of the JSP file from which the Java source
057: * file was generated
058: * @param jspBeginLineNum The start line number of the JSP element
059: * responsible for the compilation error
060: * @param errMsg The compilation error message
061: */
062: public JavacErrorDetail(String javaFileName, int javaLineNum,
063: String jspFileName, int jspBeginLineNum, StringBuffer errMsg) {
064:
065: this (javaFileName, javaLineNum, errMsg);
066: this .jspFileName = jspFileName;
067: this .jspBeginLineNum = jspBeginLineNum;
068: }
069:
070: /**
071: * Gets the name of the Java source file in which the compilation error
072: * occurred.
073: *
074: * @return Java source file name
075: */
076: public String getJavaFileName() {
077: return this .javaFileName;
078: }
079:
080: /**
081: * Gets the compilation error line number.
082: *
083: * @return Compilation error line number
084: */
085: public int getJavaLineNumber() {
086: return this .javaLineNum;
087: }
088:
089: /**
090: * Gets the name of the JSP file from which the Java source file was
091: * generated.
092: *
093: * @return JSP file from which the Java source file was generated.
094: */
095: public String getJspFileName() {
096: return this .jspFileName;
097: }
098:
099: /**
100: * Gets the start line number (in the JSP file) of the JSP element
101: * responsible for the compilation error.
102: *
103: * @return Start line number of the JSP element responsible for the
104: * compilation error
105: */
106: public int getJspBeginLineNumber() {
107: return this .jspBeginLineNum;
108: }
109:
110: /**
111: * Gets the compilation error message.
112: *
113: * @return Compilation error message
114: */
115: public String getErrorMessage() {
116: return this.errMsg.toString();
117: }
118: }
|