001: /*
002: * Licensed to the Apache Software Foundation (ASF) under one or more
003: * contributor license agreements. See the NOTICE file distributed with
004: * this work for additional information regarding copyright ownership.
005: * The ASF licenses this file to You under the Apache License, Version 2.0
006: * (the "License"); you may not use this file except in compliance with
007: * the License. You may obtain a copy of the License at
008: *
009: * http://www.apache.org/licenses/LICENSE-2.0
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: * See the License for the specific language governing permissions and
015: * limitations under the License.
016: */
017: package org.apache.cocoon.components.language.programming;
018:
019: /**
020: * This class encapsulates an error message produced by a programming language
021: * processor (whether interpreted or compiled)
022: * @author <a href="mailto:stefano@apache.org">Stefano Mazzocchi</a>
023: * @version CVS $Id: CompilerError.java 433543 2006-08-22 06:22:54Z crossley $
024: * @since 2.0
025: */
026:
027: public class CompilerError {
028: /**
029: * Is this a severe error or a warning?
030: */
031: private boolean error;
032: /**
033: * The start line number of the offending program text
034: */
035: private int startline;
036: /**
037: * The start column number of the offending program text
038: */
039: private int startcolumn;
040: /**
041: * The end line number of the offending program text
042: */
043: private int endline;
044: /**
045: * The end column number of the offending program text
046: */
047: private int endcolumn;
048: /**
049: * The name of the file containing the offending program text
050: */
051: private String file;
052: /**
053: * The actual error text produced by the language processor
054: */
055: private String message;
056:
057: /**
058: * The error message constructor.
059: *
060: * @param file The name of the file containing the offending program text
061: * @param error The actual error text produced by the language processor
062: * @param startline The start line number of the offending program text
063: * @param startcolumn The start column number of the offending program text
064: * @param endline The end line number of the offending program text
065: * @param endcolumn The end column number of the offending program text
066: * @param message The actual error text produced by the language processor
067: */
068: public CompilerError(String file, boolean error, int startline,
069: int startcolumn, int endline, int endcolumn, String message) {
070: this .file = file;
071: this .error = error;
072: this .startline = startline;
073: this .startcolumn = startcolumn;
074: this .endline = endline;
075: this .endcolumn = endcolumn;
076: this .message = message;
077: }
078:
079: /**
080: * The error message constructor.
081: *
082: * @param message The actual error text produced by the language processor
083: */
084: public CompilerError(String message) {
085: this .message = message;
086: }
087:
088: /**
089: * Return the filename associated with this compiler error.
090: *
091: * @return The filename associated with this compiler error
092: */
093: public String getFile() {
094: return file;
095: }
096:
097: /**
098: * Assert whether this is a severe error or a warning
099: *
100: * @return Whether the error is severe
101: */
102: public boolean isError() {
103: return error;
104: }
105:
106: /**
107: * Return the starting line number of the program text originating this error
108: *
109: * @return The starting line number of the program text originating this error
110: */
111: public int getStartLine() {
112: return startline;
113: }
114:
115: /**
116: * Return the starting column number of the program text originating this
117: * error
118: *
119: * @return The starting column number of the program text originating this
120: * error
121: */
122: public int getStartColumn() {
123: return startcolumn;
124: }
125:
126: /**
127: * Return the ending line number of the program text originating this error
128: *
129: * @return The ending line number of the program text originating this error
130: */
131: public int getEndLine() {
132: return endline;
133: }
134:
135: /**
136: * Return the ending column number of the program text originating this
137: * error
138: *
139: * @return The ending column number of the program text originating this
140: * error
141: */
142: public int getEndColumn() {
143: return endcolumn;
144: }
145:
146: /**
147: * Return the message produced by the language processor
148: *
149: * @return The message produced by the language processor
150: */
151: public String getMessage() {
152: return message;
153: }
154: }
|