public class KunderaQuery extends Object
| Modifier and Type | Class and Description |
|---|---|
class |
KunderaQuery.FilterClause
The FilterClause class to hold a where clause predicate.
|
private class |
KunderaQuery.JPAParameter<T> |
static class |
KunderaQuery.SortOrder
The Enum SortOrder.
|
class |
KunderaQuery.SortOrdering
Containing SortOrder.
|
private static class |
KunderaQuery.Type |
private class |
KunderaQuery.TypedParameter |
class |
KunderaQuery.UpdateClause |
| Modifier and Type | Field and Description |
|---|---|
private String[] |
aggregationResult |
private org.eclipse.persistence.jpa.jpql.parser.DeleteStatement |
deleteStatement |
private String |
entityAlias
The entity alias.
|
private Class<?> |
entityClass
The entity class.
|
private String |
entityName
The entity name.
|
private javax.el.ExpressionFactory |
expressionFactory |
private String |
filter
The filter.
|
private Queue |
filtersQueue
The filters queue.
|
private String |
from
The from.
|
static String[] |
INTER_CLAUSE_OPERATORS
The Constant INTER_CLAUSE_OPERATORS.
|
static String[] |
INTRA_CLAUSE_OPERATORS
The Constant INTRA_CLAUSE_OPERATORS.
|
private boolean |
isAggregate |
private boolean |
isDeleteUpdate |
(package private) boolean |
isNativeQuery |
private String |
jpaQuery |
private org.eclipse.persistence.jpa.jpql.parser.JPQLExpression |
jpqlExpression |
private EntityManagerFactoryImpl.KunderaMetadata |
kunderaMetadata |
private static org.slf4j.Logger |
logger
The logger.
|
private String |
ordering
The ordering.
|
private Map<String,Object> |
parametersMap |
private String |
persistenceUnit
Persistence Unit(s).
|
private String[] |
result
The result.
|
private org.eclipse.persistence.jpa.jpql.parser.SelectStatement |
selectStatement |
static String[] |
SINGLE_STRING_KEYWORDS
The Constant SINGLE_STRING_KEYWORDS.
|
private List<KunderaQuery.SortOrdering> |
sortOrders
The sort orders.
|
private KunderaQuery.TypedParameter |
typedParameter |
private Queue<KunderaQuery.UpdateClause> |
updateClauseQueue |
private org.eclipse.persistence.jpa.jpql.parser.UpdateStatement |
updateStatement |
| Constructor and Description |
|---|
KunderaQuery(String jpaQuery,
EntityManagerFactoryImpl.KunderaMetadata kunderaMetadata)
Instantiates a new kundera query.
|
| Modifier and Type | Method and Description |
|---|---|
private void |
addDiscriminatorClause(List<String> clauses,
javax.persistence.metamodel.EntityType entityType) |
void |
addFilterClause(Object filterClause) |
void |
addFilterClause(String property,
String condition,
Object value,
String fieldName) |
private void |
addTypedParameter(KunderaQuery.Type type,
String parameter,
KunderaQuery.FilterClause clause)
Adds typed parameter to
KunderaQuery.TypedParameter |
private void |
addTypedParameter(KunderaQuery.Type type,
String parameter,
KunderaQuery.UpdateClause clause)
Adds typed parameter to
KunderaQuery.TypedParameter |
void |
addUpdateClause(String property,
String value) |
Object |
clone() |
private void |
filterJPAParameterInfo(KunderaQuery.Type type,
String name,
String fieldName) |
String[] |
getAggResult() |
private String |
getAttributeName(String fieldName) |
List<Object> |
getClauseValue(javax.persistence.Parameter param)
Returns specific clause value.
|
List<Object> |
getClauseValue(String paramString)
Returns clause value for supplied parameter.
|
org.eclipse.persistence.jpa.jpql.parser.DeleteStatement |
getDeleteStatement() |
String |
getEntityAlias() |
Class |
getEntityClass()
Gets the entity class.
|
EntityMetadata |
getEntityMetadata()
Gets the entity metadata.
|
javax.el.ExpressionFactory |
getExpressionFactory() |
String |
getFilter()
Gets the filter.
|
Queue |
getFilterClauseQueue()
Gets the filter clause queue.
|
String |
getFrom()
Gets the from.
|
String |
getJPAQuery() |
org.eclipse.persistence.jpa.jpql.parser.JPQLExpression |
getJpqlExpression() |
private MetamodelImpl |
getMetamodel(String pu)
Gets the metamodel.
|
List<KunderaQuery.SortOrdering> |
getOrdering()
Gets the ordering.
|
Set<javax.persistence.Parameter<?>> |
getParameters()
Returns set of parameters.
|
Map<String,Object> |
getParametersMap() |
String |
getPersistenceUnit()
Gets the persistence units.
|
String[] |
getResult()
Gets the result.
|
org.eclipse.persistence.jpa.jpql.parser.SelectStatement |
getSelectStatement() |
Queue<KunderaQuery.UpdateClause> |
getUpdateClauseQueue() |
org.eclipse.persistence.jpa.jpql.parser.UpdateStatement |
getUpdateStatement() |
private static Object |
getValue(Object value)
Method to skip string literal as per JPA specification.
|
private void |
initEntityClass()
Inits the entity class.
|
private void |
initFilter()
Inits the filter.
|
private void |
initiateJPQLObject(String jpaQuery) |
private void |
initUpdateClause() |
boolean |
isAggregated() |
boolean |
isAliasOnly()
Method to check if required result is to get complete entity or a select
scalar value.
|
boolean |
isBound(javax.persistence.Parameter param)
Parameter is bound if it holds any value, else will return false
|
boolean |
isDeleteStatement() |
boolean |
isDeleteUpdate() |
boolean |
isNative() |
boolean |
isSelectStatement() |
boolean |
isUpdateClause() |
boolean |
isUpdateStatement() |
private void |
onTypedParameter(KunderaQuery.FilterClause filterClause)
Depending upon filter value, if it starts with ":" then it is NAMED
parameter, else if starts with "?", it will be INDEXED parameter.
|
private void |
onTypedParameter(Object value,
KunderaQuery.UpdateClause updateClause,
String fieldName)
Depending upon filter value, if it starts with ":" then it is NAMED
parameter, else if starts with "?", it will be INDEXED parameter.
|
private void |
parseOrdering(String ordering)
Parses the ordering @See Order By Clause.
|
protected void |
postParsingInit()
Post parsing init.
|
void |
setAggregated(boolean isAggregated) |
void |
setAggregationResult(String[] aggResult)
Sets the aggregation result.
|
void |
setDeleteStatement(org.eclipse.persistence.jpa.jpql.parser.DeleteStatement deleteStatement) |
void |
setExpressionFactory(javax.el.ExpressionFactory expressionFactory) |
void |
setFilter(String filter)
Sets the filter.
|
void |
setFrom(String from)
Sets the from.
|
void |
setGrouping(String groupingClause)
Sets the grouping.
|
void |
setIsDeleteUpdate(boolean b) |
private void |
setKunderaQueryTypeObject() |
void |
setOrdering(String ordering)
Sets the ordering.
|
void |
setParameter(int position,
Object value) |
void |
setParameter(String name,
Object value)
Sets the parameter.
|
private void |
setParameterValue(String name,
Object value)
Sets parameter value into filterClause, depending upon
KunderaQuery.Type |
void |
setPersistenceUnit(String persistenceUnit)
Sets the persistence unit.
|
void |
setResult(String[] result)
Sets the result.
|
void |
setSelectStatement(org.eclipse.persistence.jpa.jpql.parser.SelectStatement selectStatement) |
void |
setUpdateStatement(org.eclipse.persistence.jpa.jpql.parser.UpdateStatement updateStatement) |
String |
toString() |
public static final String[] SINGLE_STRING_KEYWORDS
public static final String[] INTER_CLAUSE_OPERATORS
public static final String[] INTRA_CLAUSE_OPERATORS
private static org.slf4j.Logger logger
private String[] result
private String[] aggregationResult
private String from
private String filter
private String ordering
private String entityName
private String entityAlias
private Class<?> entityClass
private List<KunderaQuery.SortOrdering> sortOrders
private boolean isAggregate
private String persistenceUnit
private Queue filtersQueue
private boolean isDeleteUpdate
private Queue<KunderaQuery.UpdateClause> updateClauseQueue
private KunderaQuery.TypedParameter typedParameter
boolean isNativeQuery
private String jpaQuery
private final EntityManagerFactoryImpl.KunderaMetadata kunderaMetadata
private org.eclipse.persistence.jpa.jpql.parser.JPQLExpression jpqlExpression
private javax.el.ExpressionFactory expressionFactory
private org.eclipse.persistence.jpa.jpql.parser.SelectStatement selectStatement
private org.eclipse.persistence.jpa.jpql.parser.UpdateStatement updateStatement
private org.eclipse.persistence.jpa.jpql.parser.DeleteStatement deleteStatement
public KunderaQuery(String jpaQuery, EntityManagerFactoryImpl.KunderaMetadata kunderaMetadata)
persistenceUnits - the persistence unitspublic void setExpressionFactory(javax.el.ExpressionFactory expressionFactory)
expressionFactory - the expressionFactory to setpublic org.eclipse.persistence.jpa.jpql.parser.JPQLExpression getJpqlExpression()
private void initiateJPQLObject(String jpaQuery)
private void setKunderaQueryTypeObject()
public org.eclipse.persistence.jpa.jpql.parser.SelectStatement getSelectStatement()
public void setSelectStatement(org.eclipse.persistence.jpa.jpql.parser.SelectStatement selectStatement)
selectStatement - the selectStatement to setpublic void setUpdateStatement(org.eclipse.persistence.jpa.jpql.parser.UpdateStatement updateStatement)
updateStatement - the updateStatement to setpublic org.eclipse.persistence.jpa.jpql.parser.UpdateStatement getUpdateStatement()
public org.eclipse.persistence.jpa.jpql.parser.DeleteStatement getDeleteStatement()
public void setDeleteStatement(org.eclipse.persistence.jpa.jpql.parser.DeleteStatement deleteStatement)
deleteStatement - the deleteStatement to setpublic boolean isSelectStatement()
public boolean isDeleteStatement()
public boolean isUpdateStatement()
public javax.el.ExpressionFactory getExpressionFactory()
public void setGrouping(String groupingClause)
groupingClause - the new groupingpublic final void setResult(String[] result)
result - the new resultpublic final void setAggregationResult(String[] aggResult)
aggResult - the new resultpublic final String[] getAggResult()
public boolean isAggregated()
public void setAggregated(boolean isAggregated)
isAggregated - public final void setFrom(String from)
from - the new frompublic final void setFilter(String filter)
filter - the new filterpublic final void setOrdering(String ordering)
ordering - the new orderingpublic final String getFilter()
public final String getFrom()
public final List<KunderaQuery.SortOrdering> getOrdering()
public final String[] getResult()
public final boolean isAliasOnly()
public Set<javax.persistence.Parameter<?>> getParameters()
public boolean isBound(javax.persistence.Parameter param)
param - public List<Object> getClauseValue(String paramString)
paramString - public List<Object> getClauseValue(javax.persistence.Parameter param)
param - parameterprotected void postParsingInit()
private void initUpdateClause()
private void initEntityClass()
private void initFilter()
private void addDiscriminatorClause(List<String> clauses, javax.persistence.metamodel.EntityType entityType)
private void onTypedParameter(Object value, KunderaQuery.UpdateClause updateClause, String fieldName)
tokens - tokensfilterClause - filter clauses.private void onTypedParameter(KunderaQuery.FilterClause filterClause)
tokens - tokensfilterClause - filter clauses.private void addTypedParameter(KunderaQuery.Type type, String parameter, KunderaQuery.FilterClause clause)
KunderaQuery.TypedParametertype - type of parameter(e.g. NAMED/INDEXED)parameter - parameter name.clause - filter clause.private void addTypedParameter(KunderaQuery.Type type, String parameter, KunderaQuery.UpdateClause clause)
KunderaQuery.TypedParametertype - type of parameter(e.g. NAMED/INDEXED)parameter - parameter name.clause - filter clause.private void filterJPAParameterInfo(KunderaQuery.Type type, String name, String fieldName)
type - name - fieldName - public final void setParameter(String name, Object value)
name - the namevalue - the valuepublic final void setParameter(int position,
Object value)
private void setParameterValue(String name, Object value)
KunderaQuery.Typename - parameter name.value - parameter value.public final Class getEntityClass()
public final String getEntityAlias()
public boolean isNative()
public final EntityMetadata getEntityMetadata()
public final Queue getFilterClauseQueue()
public final Object clone() throws CloneNotSupportedException
clone in class ObjectCloneNotSupportedExceptionprivate MetamodelImpl getMetamodel(String pu)
public String getPersistenceUnit()
public void setPersistenceUnit(String persistenceUnit)
persistenceUnit - the new persistence unitprivate void parseOrdering(String ordering)
ordering - the orderingpublic Queue<KunderaQuery.UpdateClause> getUpdateClauseQueue()
public boolean isUpdateClause()
public void addUpdateClause(String property, String value)
property - value - public void addFilterClause(String property, String condition, Object value, String fieldName)
property - condition - value - fieldName - public void addFilterClause(Object filterClause)
filterClause - public void setIsDeleteUpdate(boolean b)
b - public boolean isDeleteUpdate()
public String getJPAQuery()
private static Object getValue(Object value)
value - value.Copyright © 2015. All Rights Reserved.