Interface IJPQLQueryBuilder
-
- All Known Implementing Classes:
AbstractJPQLQueryBuilder
,DefaultEclipseLinkJPQLQueryBuilder
,DefaultJPQLQueryBuilder
,EclipseLinkJPQLQueryBuilder
,JPQLQueryBuilder1_0
,JPQLQueryBuilder2_0
,JPQLQueryBuilder2_1
,JPQLQueryBuilderWrapper
public interface IJPQLQueryBuilder
This builder is responsible to create an editableStateObject
representation of a JPQL query.Some default implementations are available:
- Generic JPA 1.0:
JPQLQueryBuilder1_0
- Generic JPA 2.0:
JPQLQueryBuilder2_0
- EclipseLink:
EclipseLinkJPQLQueryBuilder
- Version:
- 2.4
- See Also:
IManagedTypeProvider
,StateObject
- Author:
- Pascal Filion
- Since:
- 2.4
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ICaseExpressionStateObjectBuilder
buildCaseExpressionStateObjectBuilder(StateObject parent)
Creates a builder that can create aCASE
expression programmatically.StateObject
buildStateObject(StateObject parent, java.lang.CharSequence jpqlFragment, java.lang.String queryBNFId)
Creates aStateObject
representation of the given JPQL fragment.JPQLQueryStateObject
buildStateObject(IManagedTypeProvider provider, java.lang.CharSequence jpqlQuery, boolean tolerant)
Creates a state model representation of a JPQL query that can be edited.JPQLQueryStateObject
buildStateObject(IManagedTypeProvider provider, java.lang.CharSequence jpqlQuery, java.lang.String queryBNFId, boolean tolerant)
Creates a state model representation of a JPQL query that can be edited.IConditionalExpressionStateObjectBuilder
buildStateObjectBuilder(AbstractConditionalClauseStateObject stateObject)
Creates a builder that can create a conditional expression programmatically.ISelectExpressionStateObjectBuilder
buildStateObjectBuilder(SelectClauseStateObject stateObject)
Creates a builder that can create a select expression programmatically.ISimpleSelectExpressionStateObjectBuilder
buildStateObjectBuilder(SimpleSelectClauseStateObject stateObject)
Creates a builder that can create a single select expression programmatically.INewValueStateObjectBuilder
buildStateObjectBuilder(UpdateItemStateObject stateObject)
Creates a builder that can create a new value expression programmatically.JPQLGrammar
getGrammar()
Returns theJPQLGrammar
that is associated with this builder.
-
-
-
Method Detail
-
buildCaseExpressionStateObjectBuilder
ICaseExpressionStateObjectBuilder buildCaseExpressionStateObjectBuilder(StateObject parent)
Creates a builder that can create aCASE
expression programmatically. Once the expression is complete,ICaseExpressionStateObjectBuilder.buildStateObject()
will return the result.- Parameters:
parent
- TheStateObject
that will be the parent of the newly created model- Returns:
- The builder of a
CASE
expression
-
buildStateObject
JPQLQueryStateObject buildStateObject(IManagedTypeProvider provider, java.lang.CharSequence jpqlQuery, boolean tolerant)
Creates a state model representation of a JPQL query that can be edited.- Parameters:
provider
- The provider of managed typesjpqlQuery
- The JPQL query to parse into aStateObject
modeltolerant
- Determines if the parsing system should be tolerant, meaning if it should try to parse invalid or incomplete queries- Returns:
- The root of the
StateObject
model that represents the edited form of the JPQL query
-
buildStateObject
JPQLQueryStateObject buildStateObject(IManagedTypeProvider provider, java.lang.CharSequence jpqlQuery, java.lang.String queryBNFId, boolean tolerant)
Creates a state model representation of a JPQL query that can be edited.- Parameters:
provider
- The provider of managed typesjpqlQuery
- The JPQL query to parse into aStateObject
modelqueryBNFId
- The unique identifier of the query BNF that will be used to parse the fragmenttolerant
- Determines if the parsing system should be tolerant, meaning if it should try to parse invalid or incomplete queries- Returns:
- The root of the
StateObject
model that represents the edited form of the JPQL query
-
buildStateObject
StateObject buildStateObject(StateObject parent, java.lang.CharSequence jpqlFragment, java.lang.String queryBNFId)
Creates aStateObject
representation of the given JPQL fragment. In order to properly parse the fragment, the given unique identifier of theJPQLQueryBNF
will determine how to parse it.It is possible the given JPQL fragment has more than one expression, in this case, parsing should stop at the first comma (x, y) or space (x y) where x and y are two separate expressions.
- Parameters:
parent
- TheStateObject
that will be the parent of the newly created modeljpqlFragment
- A portion of a JPQL query that will be parsed and theStateObject
representation will be createdqueryBNFId
- The unique identifier of the query BNF that will be used to parse the fragment- Returns:
- The
StateObject
representation of the given JPQL fragment
-
buildStateObjectBuilder
IConditionalExpressionStateObjectBuilder buildStateObjectBuilder(AbstractConditionalClauseStateObject stateObject)
Creates a builder that can create a conditional expression programmatically. Once the expression is complete,IConditionalExpressionStateObjectBuilder.commit()
will push the result onto the given state object.- Parameters:
stateObject
- The clause for which a conditional expression can be created- Returns:
- The builder of a conditional expression
-
buildStateObjectBuilder
ISelectExpressionStateObjectBuilder buildStateObjectBuilder(SelectClauseStateObject stateObject)
Creates a builder that can create a select expression programmatically. Once the expression is complete,ISelectExpressionStateObjectBuilder.commit()
will push the result onto the given state object.- Parameters:
stateObject
- The clause for which one or many select expressions can be created- Returns:
- The builder of a conditional expression
-
buildStateObjectBuilder
ISimpleSelectExpressionStateObjectBuilder buildStateObjectBuilder(SimpleSelectClauseStateObject stateObject)
Creates a builder that can create a single select expression programmatically. Once the expression is complete,ISimpleSelectExpressionStateObjectBuilder.commit()
will push the result onto the given state object.- Parameters:
stateObject
- The clause for which a select expression can be created- Returns:
- The builder of a conditional expression
-
buildStateObjectBuilder
INewValueStateObjectBuilder buildStateObjectBuilder(UpdateItemStateObject stateObject)
Creates a builder that can create a new value expression programmatically. Once the expression is complete,INewValueStateObjectBuilder.commit()
will push the result onto the given state object.- Parameters:
stateObject
- The parent for which a new value expression can be created- Returns:
- The builder of a new value expression
-
getGrammar
JPQLGrammar getGrammar()
Returns theJPQLGrammar
that is associated with this builder.- Returns:
- The
JPQLGrammar
that was used to parse the JPQL query or JPQL fragments
-
-