Class EclipseLinkJPQLGrammar2_0
- java.lang.Object
-
- org.eclipse.persistence.jpa.jpql.parser.AbstractJPQLGrammar
-
- org.eclipse.persistence.jpa.jpql.parser.EclipseLinkJPQLGrammar2_0
-
- All Implemented Interfaces:
JPQLGrammar
public final class EclipseLinkJPQLGrammar2_0 extends AbstractJPQLGrammar
This
The BNFs of the additional support are the following:JPQLGrammarprovides support for parsing JPQL queries defined in JSR-337 - Java Persistence 2.0. EclipseLink 2.0 does not add any additional support.in_expression ::= in_expression_expression [NOT] IN { ( in_item {, in_item}* ) | (subquery) | collection_valued_input_parameter } in_expression_expression ::= { state_field_path_expression | type_discriminator | single_valued_input_parameter | identification_variable }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
-
-
Field Summary
Fields Modifier and Type Field Description static EclipseLinkVersionVERSIONThe EclipseLink version, which is 2.0.
-
Constructor Summary
Constructors Constructor Description EclipseLinkJPQLGrammar2_0()Creates a newEclipseLinkJPQLGrammar2_0.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected JPQLGrammarbuildBaseGrammar()Creates the baseJPQLGrammarthis one extends, if one exists.static voidextend(AbstractJPQLGrammar jpqlGrammar)Extends the givenJPQLGrammarwith the information of this one without instantiating the baseJPQLGrammar.JPAVersiongetJPAVersion()Returns theJPAVersionof the Java Persistence supported by this grammar.java.lang.StringgetProvider()Returns the persistence provider name.java.lang.StringgetProviderVersion()Returns the version of the persistence provider.protected voidinitializeBNFs()Registers the JPQL query BNFs defining the JPQL grammar.protected voidinitializeExpressionFactories()Registers theExpressionFactoriesrequired to properly parse JPQL queries.protected voidinitializeIdentifiers()Registers the JPQL identifiers support by thisJPQLGrammar.static JPQLGrammarinstance()Returns the singleton instance of this class.java.lang.StringtoString()-
Methods inherited from class org.eclipse.persistence.jpa.jpql.parser.AbstractJPQLGrammar
addChildBNF, addChildFactory, addIdentifier, addIdentifiers, buildExpressionRegistry, getBaseGrammar, getExpressionRegistry, initialize, registerBNF, registerFactory, registerIdentifierRole, registerIdentifierVersion, setFallbackBNFId, setFallbackExpressionFactoryId, setHandleCollection, setHandleNestedArray, setHandleSubExpression
-
-
-
-
Field Detail
-
VERSION
public static final EclipseLinkVersion VERSION
The EclipseLink version, which is 2.0.
-
-
Method Detail
-
getProvider
public java.lang.String getProvider()
Returns the persistence provider name.- Returns:
- The name of the persistence provider,
nullshould never be returned
-
extend
public static void extend(AbstractJPQLGrammar jpqlGrammar)
Extends the givenJPQLGrammarwith the information of this one without instantiating the baseJPQLGrammar.- Parameters:
jpqlGrammar- TheJPQLGrammarto extend with the content of this one without instantiating the baseJPQLGrammar
-
instance
public static JPQLGrammar instance()
Returns the singleton instance of this class.- Returns:
- The
EclipseLinkJPQLGrammar2_0
-
buildBaseGrammar
protected JPQLGrammar buildBaseGrammar()
Creates the baseJPQLGrammarthis one extends, if one exists.IMPORTANT: The singleton instance of any
JPQLGrammar(for exampleJPQLGrammar1_0.instance()cannot be used, the API does not support extending it, a new instance has to be created.- Specified by:
buildBaseGrammarin classAbstractJPQLGrammar- Returns:
- The base
JPQLGrammarornullif there is no base grammar
-
getJPAVersion
public JPAVersion getJPAVersion()
Returns theJPAVersionof the Java Persistence supported by this grammar.- Returns:
- The
JPA versionsupported by this grammar
-
getProviderVersion
public 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
-
initializeBNFs
protected void initializeBNFs()
Registers the JPQL query BNFs defining the JPQL grammar.- Specified by:
initializeBNFsin classAbstractJPQLGrammar
-
initializeExpressionFactories
protected void initializeExpressionFactories()
Registers theExpressionFactoriesrequired to properly parse JPQL queries. AnExpressionFactoryis responsible to create anExpressionobject that represents a portion of the JPQL query.- Specified by:
initializeExpressionFactoriesin classAbstractJPQLGrammar
-
initializeIdentifiers
protected void initializeIdentifiers()
Registers the JPQL identifiers support by thisJPQLGrammar. The registration involves registering theJPAVersionand theIdentifierRole.- Specified by:
initializeIdentifiersin classAbstractJPQLGrammar
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-