org.apache.metamodel.jdbc.dialects
Class AbstractQueryRewriter
java.lang.Object
org.apache.metamodel.jdbc.dialects.AbstractQueryRewriter
- All Implemented Interfaces:
- IQueryRewriter
- Direct Known Subclasses:
- DefaultQueryRewriter
public abstract class AbstractQueryRewriter
- extends Object
- implements IQueryRewriter
Abstract implementation of query rewriter. This implementation delegates the
rewriting of the Query into several subtasks according to the query items to
be rendered. This makes it easy to overload single methods in order to
correct syntax quirks.
|
Field Summary |
protected org.slf4j.Logger |
logger
|
|
Method Summary |
protected Query |
beforeRewrite(Query query)
Method to modify query before rewriting begins. |
ColumnType |
getColumnType(int jdbcType,
String nativeType,
Integer columnSize)
Gets the column type for a specific JDBC type (as defined in
Types), native type name and column size. |
JdbcDataContext |
getDataContext()
|
boolean |
isSchemaIncludedInColumnPaths()
|
String |
rewriteColumnType(ColumnType columnType)
Rewrites the name of a column type, as it is written in CREATE TABLE
statements. |
String |
rewriteFilterItem(FilterItem item)
|
protected String |
rewriteFromClause(Query query,
FromClause fromClause)
|
String |
rewriteFromItem(FromItem item)
|
protected String |
rewriteFromItem(Query query,
FromItem item)
|
protected String |
rewriteGroupByClause(Query query,
GroupByClause groupByClause)
|
protected String |
rewriteGroupByItem(Query query,
GroupByItem item)
|
protected String |
rewriteHavingClause(Query query,
FilterClause havingClause)
|
protected String |
rewriteOrderByClause(Query query,
OrderByClause orderByClause)
|
protected String |
rewriteOrderByItem(Query query,
OrderByItem item)
|
String |
rewriteQuery(Query query)
|
protected String |
rewriteSelectClause(Query query,
SelectClause selectClause)
|
protected String |
rewriteSelectItem(Query query,
SelectItem item)
|
protected String |
rewriteWhereClause(Query query,
FilterClause whereClause)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
logger
protected final org.slf4j.Logger logger
AbstractQueryRewriter
public AbstractQueryRewriter(JdbcDataContext dataContext)
getDataContext
public JdbcDataContext getDataContext()
getColumnType
public ColumnType getColumnType(int jdbcType,
String nativeType,
Integer columnSize)
- Description copied from interface:
IQueryRewriter
- Gets the column type for a specific JDBC type (as defined in
Types), native type name and column size.
- Specified by:
getColumnType in interface IQueryRewriter
- Returns:
rewriteQuery
public String rewriteQuery(Query query)
- Specified by:
rewriteQuery in interface IQueryRewriter
isSchemaIncludedInColumnPaths
public boolean isSchemaIncludedInColumnPaths()
beforeRewrite
protected Query beforeRewrite(Query query)
- Method to modify query before rewriting begins. Overwrite this method if
you want to change parts of the query that are not just rendering
related. Cloning the query before modifying is recommended in order to
not violate referential integrity of clients (the query is mutable).
- Parameters:
strategy - query -
- Returns:
- the modified query
rewriteColumnType
public String rewriteColumnType(ColumnType columnType)
- Description copied from interface:
IQueryRewriter
- Rewrites the name of a column type, as it is written in CREATE TABLE
statements. Some databases dont support all column types, or have
different names for them. The implementation of this method will do that
conversion.
- Specified by:
rewriteColumnType in interface IQueryRewriter
- Returns:
rewriteOrderByClause
protected String rewriteOrderByClause(Query query,
OrderByClause orderByClause)
rewriteFromItem
public String rewriteFromItem(FromItem item)
- Specified by:
rewriteFromItem in interface IQueryRewriter
rewriteOrderByItem
protected String rewriteOrderByItem(Query query,
OrderByItem item)
rewriteHavingClause
protected String rewriteHavingClause(Query query,
FilterClause havingClause)
rewriteGroupByClause
protected String rewriteGroupByClause(Query query,
GroupByClause groupByClause)
rewriteGroupByItem
protected String rewriteGroupByItem(Query query,
GroupByItem item)
rewriteWhereClause
protected String rewriteWhereClause(Query query,
FilterClause whereClause)
rewriteFilterItem
public String rewriteFilterItem(FilterItem item)
- Specified by:
rewriteFilterItem in interface IQueryRewriter
rewriteFromClause
protected String rewriteFromClause(Query query,
FromClause fromClause)
rewriteFromItem
protected String rewriteFromItem(Query query,
FromItem item)
rewriteSelectClause
protected String rewriteSelectClause(Query query,
SelectClause selectClause)
rewriteSelectItem
protected String rewriteSelectItem(Query query,
SelectItem item)
Copyright © 2007-2014 The Apache Software Foundation. All Rights Reserved.