Interface JPQLGrammar
- All Known Implementing Classes:
AbstractJPQLGrammar
,DefaultEclipseLinkJPQLGrammar
,DefaultJPQLGrammar
,EclipseLinkJPQLGrammar1
,EclipseLinkJPQLGrammar2_0
,EclipseLinkJPQLGrammar2_1
,EclipseLinkJPQLGrammar2_2
,EclipseLinkJPQLGrammar2_3
,EclipseLinkJPQLGrammar2_4
,EclipseLinkJPQLGrammar2_5
,EclipseLinkJPQLGrammar2_6
,EclipseLinkJPQLGrammar4_0
,JPQLGrammar1_0
,JPQLGrammar2_0
,JPQLGrammar2_1
,JPQLGrammar2_2
,JPQLGrammar3_0
,JPQLGrammar3_1
public interface JPQLGrammar
A JPQL grammar defines how a JPQL query can be parsed. The ExpressionRegistry
contains
the BNFs
and the expression 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.
- Since:
- 2.4
- Version:
- 2.5
-
Method Summary
Modifier and TypeMethodDescriptionReturns the registry containing theJPQLQueryBNFs
and theExpressionFactories
that are used to properly parse a JPQL query.Returns theJPAVersion
of the Java Persistence supported by this grammar.Returns the persistence provider name.Returns the version of the persistence provider.
-
Method Details
-
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
String getProvider()Returns the persistence provider name.- Returns:
- The name of the persistence provider,
null
should never be returned - Since:
- 2.5
-
getProviderVersion
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
-