|
EclipseLink 2.4.2, build 'v20130514-5956486' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.persistence.jpa.jpql.AbstractJPQLQueryHelper
public abstract class AbstractJPQLQueryHelper
This helper can perform the following operations over a JPQL query:
getResultType()
;
getParameterType(String)
.
buildContentAssistProposals(int)
.
#buildBasicRefactoringTool()
provides support for generating the delta of the
refactoring operation through a collection of TextEdit
objects.buildRefactoringTool()
provides support for refactoring the JPQL query through
the editable StateObject
and
once all refactoring operations have been executed, the jpql.model.IJPQLQueryFormatter IJPQLQueryFormatter
will generate a new string representation
of the JPQL query.
Constructor Summary | |
---|---|
|
AbstractJPQLQueryHelper(JPQLGrammar jpqlGrammar)
Creates a new AbstractJPQLQueryHelper . |
protected |
AbstractJPQLQueryHelper(JPQLQueryContext queryContext)
Creates a new AbstractJPQLQueryHelper . |
Method Summary | |
---|---|
ContentAssistProposals |
buildContentAssistProposals(int position)
Retrieves the possibles choices that can complete the query from the given position within the query. |
protected abstract AbstractContentAssistVisitor |
buildContentAssistVisitor(JPQLQueryContext queryContext)
Creates the concrete instance of the content assist visitor that will give the possible choices based on the position of the cursor within the JPQL query. |
protected abstract AbstractGrammarValidator |
buildGrammarValidator(JPQLQueryContext queryContext)
Deprecated. Eventually this method should change to accept JPQLGrammar and not
JPQLQueryContext anymore |
protected abstract JPQLQueryContext |
buildJPQLQueryContext(JPQLGrammar jpqlGrammar)
Creates a context that will be used to store and retrieve information about the JPQL query. |
protected java.util.Comparator<IType> |
buildNumericTypeComparator()
Creates the Comparator that can sort ITypes based on the numerical
priority. |
abstract RefactoringTool |
buildRefactoringTool()
Creates the concrete instance of the tool that can refactor the content of a JPQL query. |
protected abstract AbstractSemanticValidator |
buildSemanticValidator(JPQLQueryContext queryContext)
Creates the concrete instance of the validator that will semantically validate the JPQL query. |
void |
dispose()
Disposes of the internal data. |
protected AbstractContentAssistVisitor |
getContentAssistVisitor()
Returns the visitor that can visit a JPQL query and based on the position of the cursor within the JPQL query and determines the valid proposals. |
JPQLGrammar |
getGrammar()
Returns the JPQL grammar that will be used to define how to parse a JPQL query. |
protected AbstractGrammarValidator |
getGrammarValidator()
|
JPQLExpression |
getJPQLExpression()
Returns the root of the parsed tree representation of the JPQL query. |
IType |
getParameterType(java.lang.String parameterName)
Retrieves, if it can be determined, the type of the given input parameter with the given name. |
java.lang.String |
getParsedJPQLQuery()
Returns the string representation of the parsed tree. |
IManagedTypeProvider |
getProvider()
Returns the provider for managed types (entities, embeddables, mapped superclasses). |
IQuery |
getQuery()
Returns the external form representing a named query. |
JPQLQueryContext |
getQueryContext()
Returns the JPQLQueryContext that contains information about the JPQL query. |
IType |
getResultType()
Calculates the type of the query result of the JPQL query. |
protected AbstractSemanticValidator |
getSemanticValidator()
|
IType |
getType(java.lang.Class<?> type)
Returns the IType representing the given Java type. |
TypeHelper |
getTypeHelper()
Returns a helper that gives access to the most common types . |
ITypeRepository |
getTypeRepository()
Returns the repository that gives access to the application's types. |
void |
setJPQLExpression(JPQLExpression jpqlExpression)
Sets the parsed tree representation of the JPQL query. |
void |
setQuery(IQuery query)
Sets the external form of the JPQL query, which will be parsed and information will be extracted for later access. |
java.util.List<JPQLQueryProblem> |
validate()
Validates the query by introspecting it grammatically and semantically. |
void |
validate(Expression expression,
java.util.List<JPQLQueryProblem> problems)
Validates the query by introspecting it grammatically and semantically. |
java.util.List<JPQLQueryProblem> |
validateGrammar()
Validates the query by only introspecting it grammatically. |
void |
validateGrammar(Expression expression,
java.util.List<JPQLQueryProblem> problems)
Validates the query by only introspecting it grammatically. |
java.util.List<JPQLQueryProblem> |
validateSemantic()
Validates the query by only introspecting it semantically. |
void |
validateSemantic(Expression expression,
java.util.List<JPQLQueryProblem> problems)
Validates the query by only introspecting it semantically. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public AbstractJPQLQueryHelper(JPQLGrammar jpqlGrammar)
AbstractJPQLQueryHelper
.
jpqlGrammar
- The JPQLGrammar
that will determine how to parse JPQL queriesprotected AbstractJPQLQueryHelper(JPQLQueryContext queryContext)
AbstractJPQLQueryHelper
.
queryContext
- The context used to query information about the JPQL query
java.lang.NullPointerException
- The JPQLQueryContext cannot be null
Method Detail |
---|
public ContentAssistProposals buildContentAssistProposals(int position)
Note: Disposing of the internal data is not done automatically.
position
- The position within the query for which a list of possible choices are created
for completing the query
protected abstract AbstractContentAssistVisitor buildContentAssistVisitor(JPQLQueryContext queryContext)
queryContext
- The context used to query information about the JPQL query
AbstractContentAssistVisitor
@Deprecated protected abstract AbstractGrammarValidator buildGrammarValidator(JPQLQueryContext queryContext)
JPQLGrammar
and not
JPQLQueryContext
anymore
queryContext
- The context used to query information about the JPQL query
AbstractGrammarValidator
protected abstract JPQLQueryContext buildJPQLQueryContext(JPQLGrammar jpqlGrammar)
jpqlGrammar
- The JPQL grammar that is required for dictating how the JPQL query will be
parsed. It is also used by validation and by the content assist
JPQLQueryContext
protected java.util.Comparator<IType> buildNumericTypeComparator()
Comparator
that can sort ITypes
based on the numerical
priority.
NumericTypeComparator
public abstract RefactoringTool buildRefactoringTool()
eclipse.persistence.jpa.jpql.model.query.StateObject StateObject
and simply outputs the
result of the refactoring operations, i.e. the updated JPQL query).
RefactoringTool
#buildSimpleRefactoringTool
protected abstract AbstractSemanticValidator buildSemanticValidator(JPQLQueryContext queryContext)
queryContext
- The context used to query information about the JPQL query
AbstractSemanticValidator
public void dispose()
protected AbstractContentAssistVisitor getContentAssistVisitor()
AbstractContentAssistVisitor
#buildContentAssistVisitor(JPQLQueryContext)}
public JPQLGrammar getGrammar()
Expression
protected AbstractGrammarValidator getGrammarValidator()
public JPQLExpression getJPQLExpression()
public IType getParameterType(java.lang.String parameterName)
Note: Both named and positional input parameter can be used.
parameterName
- The name of the input parameter to retrieve its type, which needs to be
prepended by ':' or '?'
null
if the type
couldn't be determinedpublic java.lang.String getParsedJPQLQuery()
public IManagedTypeProvider getProvider()
public IQuery getQuery()
public JPQLQueryContext getQueryContext()
JPQLQueryContext
that contains information about the JPQL query.
JPQLQueryContext
that contains information contained in the JPQL querypublic IType getResultType()
See Resolver
to understand how the type is calculated.
IType
for Object
if it could not be calculatedprotected AbstractSemanticValidator getSemanticValidator()
public IType getType(java.lang.Class<?> type)
IType
representing the given Java type.
type
- The Java type for which its external form is requested
public TypeHelper getTypeHelper()
types
.
IType
public ITypeRepository getTypeRepository()
public void setJPQLExpression(JPQLExpression jpqlExpression)
setQuery(IQuery)
because the JPQL query is automatically parsed by that method.
jpqlExpression
- The parsed representation of the JPQL query to manipulatesetQuery(IQuery)
public void setQuery(IQuery query)
query
- The external form of the JPQL querypublic java.util.List<JPQLQueryProblem> validate()
null
list that will be used to store the problems
if any was foundpublic void validate(Expression expression, java.util.List<JPQLQueryProblem> problems)
expression
- The parsed tree representation of the JPQL fragment to validateproblems
- A non-null
list that will be used to store the problems
if any was foundpublic java.util.List<JPQLQueryProblem> validateGrammar()
null
list that will be used to store the problems
if any was foundpublic void validateGrammar(Expression expression, java.util.List<JPQLQueryProblem> problems)
expression
- The parsed tree representation of the queryproblems
- A non-null
list that will be used to store the problems
if any was foundpublic java.util.List<JPQLQueryProblem> validateSemantic()
null
list that will be used to store the problems
if any was foundpublic void validateSemantic(Expression expression, java.util.List<JPQLQueryProblem> problems)
expression
- The parsed tree representation of the queryproblems
- A non-null
list that will be used to store the problems
if any was found
|
EclipseLink 2.4.2, build 'v20130514-5956486' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |