/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors as
* indicated by the @author tags or express copyright attribution
* statements applied by the authors. All third-party contributions are
* distributed under license by Red Hat Middleware LLC.
*
* This copyrighted material is made available to anyone wishing to use, modify,
* copy, or redistribute it subject to the terms and conditions of the GNU
* Lesser General Public License, as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
* for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this distribution; if not, write to:
* Free Software Foundation, Inc.
* 51 Franklin Street, Fifth Floor
* Boston, MA 02110-1301 USA
*
*/
package org.hibernate.hql.internal.ast;
import java.io.PrintStream;
import java.io.PrintWriter;
import antlr.SemanticException;
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.).
/**
* 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.
Returns: a string.
/**
* 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.
/**
* Prints a stack trace.
*/
public void printStackTrace() {
super.printStackTrace();
if ( cause != null ) {
cause.printStackTrace();
}
}
Prints a stack trace to the specified print stream.
Params: - s – the print stream.
/**
* 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.
Params: - w – the print writer.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 );
}
}
}