Interface JPQLGrammar
-
- All Known Implementing Classes:
AbstractJPQLGrammar
,DefaultEclipseLinkJPQLGrammar
,DefaultJPQLGrammar
,EclipseLinkJPQLGrammar1
,EclipseLinkJPQLGrammar2_0
,EclipseLinkJPQLGrammar2_1
,EclipseLinkJPQLGrammar2_2
,EclipseLinkJPQLGrammar2_3
,EclipseLinkJPQLGrammar2_4
,EclipseLinkJPQLGrammar2_5
,EclipseLinkJPQLGrammar2_6
,JPQLGrammar1_0
,JPQLGrammar2_0
,JPQLGrammar2_1
public interface JPQLGrammar
A JPQL grammar defines how a JPQL query can be parsed. The
ExpressionRegistry
contains theBNFs
and theexpression factories
used to create the tree representation of the JPQL query.The supported JPQL grammars are:
JPQLGrammar1_0
defines the JPQL grammar based on JPA 1.0;JPQLGrammar2_0
defines the JPQL grammar based on JPA 2.0;JPQLGrammar2_1
defines the JPQL grammar based on JPA 2.1;EclipseLinkJPQLGrammar1
defines the JPQL grammar based on JPA 1.0 and EclipseLink 1.x;EclipseLinkJPQLGrammar2_0
defines the JPQL grammar based on JPA 2.0 and the additional EclipseLink 2.0 support;EclipseLinkJPQLGrammar2_1
defines the JPQL grammar based on JPA 2.0 and the additional EclipseLink 2.1 support.EclipseLinkJPQLGrammar2_2
defines the JPQL grammar based on JPA 2.0 and the additional EclipseLink 2.2 support.EclipseLinkJPQLGrammar2_3
defines the JPQL grammar based on JPA 2.0 and the additional EclipseLink 2.3 support.EclipseLinkJPQLGrammar2_4
defines the JPQL grammar based on JPA 2.1 and the additional EclipseLink 2.4 support.EclipseLinkJPQLGrammar2_5
defines the JPQL grammar based on JPA 2.1 and the additional EclipseLink 2.5 support.DefaultJPQLGrammar
defines the JPQL grammar based on the latest JPA version;DefaultEclipseLinkJPQLGrammar
defines the JPQL grammar based on the latest JPA and the latest EclipseLink;
Provisional API: This interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.
- Version:
- 2.5
- Author:
- Pascal Filion
- Since:
- 2.4
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ExpressionRegistry
getExpressionRegistry()
Returns the registry containing theJPQLQueryBNFs
and theExpressionFactories
that are used to properly parse a JPQL query.JPAVersion
getJPAVersion()
Returns theJPAVersion
of the Java Persistence supported by this grammar.java.lang.String
getProvider()
Returns the persistence provider name.java.lang.String
getProviderVersion()
Returns the version of the persistence provider.
-
-
-
Method Detail
-
getExpressionRegistry
ExpressionRegistry getExpressionRegistry()
Returns the registry containing theJPQLQueryBNFs
and theExpressionFactories
that are used to properly parse a JPQL query.- Returns:
- The registry containing the information related to the JPQL grammar
-
getJPAVersion
JPAVersion getJPAVersion()
Returns theJPAVersion
of the Java Persistence supported by this grammar.- Returns:
- The
JPA version
supported by this grammar
-
getProvider
java.lang.String getProvider()
Returns the persistence provider name.- Returns:
- The name of the persistence provider,
null
should never be returned - Since:
- 2.5
-
getProviderVersion
java.lang.String getProviderVersion()
Returns the version of the persistence provider.- Returns:
- The version of the persistence provider, if one is extending the default JPQL grammar defined in the Java Persistence specification, otherwise returns an empty string
- Since:
- 2.4
-
-