/*
* 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 org.hibernate.QueryException;
import antlr.RecognitionException;
Exception thrown when there is a syntax error in the HQL.
Author: josh
/**
* Exception thrown when there is a syntax error in the HQL.
*
* @author josh
*/
public class QuerySyntaxException extends QueryException {
Constructs a QuerySyntaxException
Params: - message – Message explaining the condition that led to the exception
/**
* Constructs a QuerySyntaxException
*
* @param message Message explaining the condition that led to the exception
*/
public QuerySyntaxException(String message) {
super( message );
}
Constructs a QuerySyntaxException
Params: - message – Message explaining the condition that led to the exception
- hql – The hql query that was being parsed/analyzed
/**
* Constructs a QuerySyntaxException
*
* @param message Message explaining the condition that led to the exception
* @param hql The hql query that was being parsed/analyzed
*/
public QuerySyntaxException(String message, String hql) {
super( message, hql );
}
Intended for use solely from generateQueryException(String)
Params: - message – Message explaining the condition that led to the exception
- queryString – The hql query that was being parsed/analyzed
- cause – The cause, generally another QuerySyntaxException
/**
* Intended for use solely from {@link #generateQueryException(String)}
*
* @param message Message explaining the condition that led to the exception
* @param queryString The hql query that was being parsed/analyzed
* @param cause The cause, generally another QuerySyntaxException
*/
protected QuerySyntaxException(String message, String queryString, Exception cause) {
super( message, queryString, cause );
}
Converts the given ANTLR RecognitionException into a QuerySyntaxException. The RecognitionException
does not become the cause because ANTLR exceptions are not serializable.
Params: - e – The ANTLR exception
Returns: The QuerySyntaxException
/**
* Converts the given ANTLR RecognitionException into a QuerySyntaxException. The RecognitionException
* does not become the cause because ANTLR exceptions are not serializable.
*
* @param e The ANTLR exception
*
* @return The QuerySyntaxException
*/
public static QuerySyntaxException convert(RecognitionException e) {
return convert( e, null );
}
Converts the given ANTLR RecognitionException into a QuerySyntaxException. The RecognitionException
does not become the cause because ANTLR exceptions are not serializable.
Params: - e – The ANTLR exception
- hql – The query string
Returns: The QuerySyntaxException
/**
* Converts the given ANTLR RecognitionException into a QuerySyntaxException. The RecognitionException
* does not become the cause because ANTLR exceptions are not serializable.
*
* @param e The ANTLR exception
* @param hql The query string
*
* @return The QuerySyntaxException
*/
public static QuerySyntaxException convert(RecognitionException e, String hql) {
String positionInfo = e.getLine() > 0 && e.getColumn() > 0
? " near line " + e.getLine() + ", column " + e.getColumn()
: "";
return new QuerySyntaxException( e.getMessage() + positionInfo, hql );
}
@Override
protected QueryException generateQueryException(String queryString) {
return new QuerySyntaxException( getOriginalMessage(), queryString, this );
}
}