gnu.jel.CompilationException Maven / Gradle / Ivy
/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
* $Id: CompilationException.java 490 2006-10-01 16:08:04Z metlov $
*
* This file is part of the Java Expressions Library (JEL).
* For more information about JEL visit :
* http://kinetic.ac.donetsk.ua/JEL/
*
* (c) 1998 -- 2007 by Konstantin Metlov([email protected]);
*
* JEL is Distributed under the terms of GNU General Public License.
* This code comes with ABSOLUTELY NO WARRANTY.
* For license details see COPYING file in this directory.
*/
package gnu.jel;
import gnu.jel.debug.Debug;
import java.text.MessageFormat;
/**
* Represents an error encountered during the compilation.
* The text of the messages can be changed/internationalized by
* modification of JEL.properties file
*/
@SuppressWarnings("serial") public class CompilationException extends Exception {
public int col=-1;
private int code=-1; // error code
private Object[] params=null; // parameters to generate messages
/**
* Constructs new CompilationException with a single formatting parameter.
* @param code is the error code (must correspond to a message in
* JEL.properties file).
* @param param is the single Object parameter to be used in message
* formatting.
*/
public CompilationException(int code, Object param) {
if (Debug.enabled)
Debug.check(code>=0);
this.code=code;
Object[] temp={param};
this.params=temp;
};
/**
* Constructs new CompilationException with a several formatting parameter.
* @param code is the error code (must correspond to a message in
* JEL.properties file).
* @param params is an array of Objects, which are to be used in message
* formatting.
*/
public CompilationException(int code, Object[] params) {
if (Debug.enabled)
Debug.check(code>=0);
this.code=code;
this.params=params;
};
/**
* Used to obtain the column, where error have occurred.
* @return column, where error have occurred.
*/
public int getColumn() {
return col;
};
/**
* Used to obtain the error code.
* @return the error code, corresponding to one of the messages in
* JEL.properties file.
*/
public int getType() {
return code;
};
/**
* Used to obtain the parameters for this error.
* @return the parameters to be used in message formatting, they provide
* further information about the error.
*/
public Object[] getParameters() {
return params;
};
/**
* Used to obtain the formatted error message.
* @return the formatted error message.
*/
public String getMessage() {
if (Debug.enabled)
Debug.check(col>=0);
return TableKeeper.getMsg(code,params);
};
};