/***************************************************
*
* cismet GmbH, Saarbruecken, Germany
*
* ... and it just works.
*
****************************************************/
package Sirius.navigator.exception;
import Sirius.navigator.resource.ResourceManager;
/**
* DOCUMENT ME!
*
* @author pascal
* @version $Revision$, $Date$
*/
public class NavigatorException extends Exception {
//~ Static fields/initializers ---------------------------------------------
public static final int WARNING = ExceptionManager.WARNING;
public static final int ERROR = ExceptionManager.ERROR;
public static final int FATAL = ExceptionManager.FATAL;
private static final ResourceManager resource = ResourceManager.getManager();
//~ Instance fields --------------------------------------------------------
protected final int level;
protected final String name;
//~ Constructors -----------------------------------------------------------
/**
* Creates a new NavigatorException object.
*
* @param message DOCUMENT ME!
*/
public NavigatorException(final String message) {
this(message, FATAL, null);
}
/**
* Creates a new NavigatorException object.
*
* @param message DOCUMENT ME!
* @param cause DOCUMENT ME!
*/
public NavigatorException(final String message, final Throwable cause) {
this(message, FATAL, cause);
}
/**
* Creates a new NavigatorException object.
*
* @param message DOCUMENT ME!
* @param level DOCUMENT ME!
*/
public NavigatorException(final String message, final int level) {
this(message, level, null);
}
/**
* Creates a new NavigatorException object.
*
* @param level DOCUMENT ME!
* @param errorcode DOCUMENT ME!
*/
public NavigatorException(final int level, final String errorcode) {
super(resource.getExceptionMessage(errorcode));
this.name = resource.getExceptionName(errorcode);
this.level = level;
}
/**
* Creates a new NavigatorException object.
*
* @param message DOCUMENT ME!
* @param level DOCUMENT ME!
* @param cause DOCUMENT ME!
*/
public NavigatorException(final String message, final int level, final Throwable cause) {
super(message, cause);
this.level = level;
this.name = this.getClass().getName();
}
/**
* Creates a new NavigatorException object.
*
* @param level DOCUMENT ME!
* @param errorcode DOCUMENT ME!
* @param cause DOCUMENT ME!
*/
public NavigatorException(final int level, final String errorcode, final Throwable cause) {
super(resource.getExceptionMessage(errorcode), cause);
this.name = resource.getExceptionName(errorcode);
this.level = level;
}
/**
* Creates a new NavigatorException object.
*
* @param level DOCUMENT ME!
* @param errorcode DOCUMENT ME!
* @param values DOCUMENT ME!
* @param cause DOCUMENT ME!
*/
public NavigatorException(final int level, final String errorcode, final String[] values, final Throwable cause) {
super(resource.getExceptionMessage(errorcode, values), cause);
this.name = resource.getExceptionName(errorcode);
this.level = level;
}
//~ Methods ----------------------------------------------------------------
/**
* DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public int getLevel() {
return this.level;
}
/**
* DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
public String getName() {
return this.name;
}
}