/*
 * Hibernate, Relational Persistence for Idiomatic Java
 *
 * License: GNU Lesser General Public License (LGPL), version 2.1 or later.
 * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
 */
package org.hibernate.hql.internal.ast;
import java.io.PrintStream;
import java.io.PrintWriter;

import org.hibernate.internal.build.AllowPrintStacktrace;

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. */
@AllowPrintStacktrace 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. */
@AllowPrintStacktrace 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 ); } } }