public class QueryTransformerRegex extends QueryParserRegex implements QueryTransformer
QueryTransformer based on regular expressions.QueryParser.QueryPathCOND_PATTERN_REGEX, DISTINCT_PATTERN, DISTINCT_PATTERN_REGEX, ENTITY_PATH_ALIAS, ENTITY_PATH_PATTERN_REGEX, ENTITY_PATTERN, ENTITY_PATTERN_REGEX, EP_ALIAS, FEP_ALIAS, FEP_ENTITY, FROM_ENTITY_PATTERN, LAST_CLAUSE_PATTERN, LAST_CLAUSE_PATTERN_REGEX, OR_PATTERN, OR_PATTERN_REGEX, ORDER_BY_PATTERN, ORDER_BY_PATTERN_REGEX, PARAM_PATTERN, PARAM_PATTERN_REGEX, QS_ALIAS, QUERY_START_PATTERN, QUERY_START_PATTERN_REGEX, SELECT_DISTINCT_PATTERN, SELECT_DISTINCT_PATTERN_REGEX, source, WHERE_PATTERN, WHERE_PATTERN_REGEXALIAS_PLACEHOLDER, NAMENAME| Constructor and Description |
|---|
QueryTransformerRegex(java.lang.String source) |
| Modifier and Type | Method and Description |
|---|---|
void |
addDistinct()
Replaces 'select' with 'select distinct'.
|
void |
addEntityInGroupBy(java.lang.String entityAlias)
Adds @param entityAlias to 'group by' clause
|
void |
addFirstSelectionSource(java.lang.String selection) |
void |
addJoinAndWhere(java.lang.String join,
java.lang.String where)
Adds 'join' and 'where' clauses.
|
void |
addJoinAsIs(java.lang.String join)
Adds 'join' clause
|
void |
addOrderByIdIfNotExists(java.lang.String idProperty)
Adds 'order by' clause if it doesn't exists
|
void |
addWhere(java.lang.String where)
Adds 'where' clause replacing entity alias
|
void |
addWhereAsIs(java.lang.String where)
Adds 'where' clause
|
java.util.Set<java.lang.String> |
getAddedParams()
Get parameter names found during transformation
|
java.lang.String |
getResult()
Get buffer
|
void |
handleCaseInsensitiveParam(java.lang.String paramName) |
void |
mergeWhere(java.lang.String query)
Adds 'where' clause from the query provided.
|
boolean |
removeDistinct()
Replaces 'select distinct' with 'select'.
|
void |
removeOrderBy()
Removes 'order by' clause
|
void |
replaceEntityName(java.lang.String newName)
Replace main entity name, e.g.
|
void |
replaceInCondition(java.lang.String paramName) |
void |
replaceOrderBy(boolean desc,
java.lang.String... properties)
Adds or replaces 'order by' clause
|
void |
replaceWithCount()
Replaces
select e.f1, e.f2, ... clause with select count(e) ... |
void |
replaceWithSelectEntityVariable(java.lang.String selectEntityVariable)
Replaces
select e from ... clause with select 'selectEntityVariable' from ... |
void |
replaceWithSelectId()
Replaces
select e from ... clause with select e.id from ... |
void |
replaceWithSelectId(java.lang.String pkName)
Replaces
select e from ... clause with select e.pkName from ... |
void |
reset()
Reset internal buffer
|
getAllEntityNames, getEntityAlias, getEntityAlias, getEntityName, getOriginalEntityName, getOriginalEntityPath, getParamNames, getQueryPaths, hasIsNotNullCondition, hasIsNullCondition, isCollectionOriginalEntitySelect, isEntitySelect, isParameterInCondition, isQueryWithJoinsclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitreplaceIsNullStatementsisParameterUsedInAnyConditionpublic void addWhere(java.lang.String where)
QueryTransformeraddWhere in interface QueryTransformerpublic void addWhereAsIs(java.lang.String where)
QueryTransformeraddWhereAsIs in interface QueryTransformerpublic void addJoinAsIs(java.lang.String join)
QueryTransformeraddJoinAsIs in interface QueryTransformerpublic void addJoinAndWhere(java.lang.String join,
java.lang.String where)
QueryTransformeraddJoinAndWhere in interface QueryTransformerpublic void addFirstSelectionSource(java.lang.String selection)
addFirstSelectionSource in interface QueryTransformerpublic void mergeWhere(java.lang.String query)
QueryTransformermergeWhere in interface QueryTransformerpublic void replaceWithCount()
QueryTransformerselect e.f1, e.f2, ... clause with select count(e) ...replaceWithCount in interface QueryTransformerpublic void replaceWithSelectId()
QueryTransformerselect e from ... clause with select e.id from ...replaceWithSelectId in interface QueryTransformerpublic void replaceWithSelectId(java.lang.String pkName)
QueryTransformerselect e from ... clause with select e.pkName from ...replaceWithSelectId in interface QueryTransformerpublic void replaceWithSelectEntityVariable(java.lang.String selectEntityVariable)
QueryTransformerselect e from ... clause with select 'selectEntityVariable' from ...replaceWithSelectEntityVariable in interface QueryTransformerpublic boolean removeDistinct()
QueryTransformerremoveDistinct in interface QueryTransformerpublic void addDistinct()
QueryTransformeraddDistinct in interface QueryTransformerpublic void addOrderByIdIfNotExists(java.lang.String idProperty)
QueryTransformeraddOrderByIdIfNotExists in interface QueryTransformerpublic void replaceOrderBy(boolean desc,
java.lang.String... properties)
QueryTransformerreplaceOrderBy in interface QueryTransformerpublic void addEntityInGroupBy(java.lang.String entityAlias)
QueryTransformeraddEntityInGroupBy in interface QueryTransformerpublic void removeOrderBy()
QueryTransformerremoveOrderBy in interface QueryTransformerpublic void replaceEntityName(java.lang.String newName)
QueryTransformerreplaceEntityName in interface QueryTransformerpublic void reset()
QueryTransformerreset in interface QueryTransformerpublic java.lang.String getResult()
QueryTransformergetResult in interface QueryTransformerpublic java.util.Set<java.lang.String> getAddedParams()
QueryTransformergetAddedParams in interface QueryTransformerpublic void handleCaseInsensitiveParam(java.lang.String paramName)
handleCaseInsensitiveParam in interface QueryTransformerpublic void replaceInCondition(java.lang.String paramName)
replaceInCondition in interface QueryTransformer