org.hibernate.hql.ast.DetailedSemanticException Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hibernate Show documentation
Show all versions of hibernate Show documentation
Relational Persistence for Java
// $Id: DetailedSemanticException.java 5690 2005-02-12 20:27:50Z pgmjsd $
package org.hibernate.hql.ast;
import antlr.SemanticException;
import java.io.PrintStream;
import java.io.PrintWriter;
/**
* Thrown when a call to the underlying Hibernate engine fails, indicating
* some form of semantic exception (e.g. a class name was not found in the
* current mappings, etc.).
*/
public class DetailedSemanticException extends SemanticException {
private Throwable cause;
private boolean showCauseMessage = true;
public DetailedSemanticException(String message) {
super( message );
}
public DetailedSemanticException(String s, Throwable e) {
super( s );
cause = e;
}
/**
* Converts everything to a string.
*
* @return a string.
*/
public String toString() {
if ( cause == null || ( !showCauseMessage ) ) {
return super.toString();
}
else {
return super.toString() + "\n[cause=" + cause.toString() + "]";
}
}
/**
* Prints a stack trace.
*/
public void printStackTrace() {
super.printStackTrace();
if ( cause != null ) {
cause.printStackTrace();
}
}
/**
* Prints a stack trace to the specified print stream.
*
* @param s the print stream.
*/
public void printStackTrace(PrintStream s) {
super.printStackTrace( s );
if ( cause != null ) {
s.println( "Cause:" );
cause.printStackTrace( s );
}
}
/**
* Prints this throwable and its backtrace to the specified print writer.
*
* @param w the print writer.s
*/
public void printStackTrace(PrintWriter w) {
super.printStackTrace( w );
if ( cause != null ) {
w.println( "Cause:" );
cause.printStackTrace( w );
}
}
}