Class EclipseLinkJPQLGrammar2_4
- java.lang.Object
-
- org.eclipse.persistence.jpa.jpql.parser.AbstractJPQLGrammar
-
- org.eclipse.persistence.jpa.jpql.parser.EclipseLinkJPQLGrammar2_4
-
- All Implemented Interfaces:
JPQLGrammar
public final class EclipseLinkJPQLGrammar2_4 extends AbstractJPQLGrammar
This
The BNFs of the additional support are the following:JPQLGrammar
provides support for parsing JPQL queries defined in JSR-338 - Java Persistence 2.1 and the additional support provided by EclipseLink 2.4.select_statement ::= select_clause from_clause [where_clause] [groupby_clause] [having_clause] [orderby_clause] {union_clause}* union_clause ::= { UNION | INTERSECT | EXCEPT} [ALL] subquery from_clause ::= FROM identification_variable_declaration {, {identification_variable_declaration | collection_member_declaration | (subquery) | table_variable_declaration }}* range_variable_declaration ::= root_object [AS] identification_variable root_object ::= abstract_schema_name | fully_qualified_class_name table_variable_declaration ::= table_expression [AS] identification_variable join ::= join_spec { abstract_schema_name | join_association_path_expression } [AS] identification_variable [join_condition] functions_returning_datetime ::= cast_expression | extract_expression | ... functions_returning_string ::= cast_expression | extract_expression | ... functions_returning_numeric ::= cast_expression | extract_expression | ... simple_cond_expression ::= regexp_expression | ... function_expression ::= { FUNC | FUNCTION | OPERATOR | SQL | COLUMN } (string_literal {, function_arg}*) regexp_expression ::= string_expression REGEXP pattern_value extract_expression ::= EXTRACT(date_part_literal [FROM] scalar_expression) table_expression ::= TABLE(string_literal) date_part_literal ::= { MICROSECOND | SECOND | MINUTE | HOUR | DAY | WEEK | MONTH | QUARTER | YEAR | SECOND_MICROSECOND | MINUTE_MICROSECOND | MINUTE_SECOND | HOUR_MICROSECOND | HOUR_SECOND | HOUR_MINUTE | DAY_MICROSECOND | DAY_SECOND | DAY_MINUTE | DAY_HOUR | YEAR_MONTH, etc } cast_expression ::= CAST(scalar_expression [AS] database_type) database_type ::= data_type_literal [( [numeric_literal [, numeric_literal]] )] data_type_literal ::= [CHAR, VARCHAR, NUMERIC, INTEGER, DATE, TIME, TIMESTAMP, etc]
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
- Author:
- Pascal Filion
-
-
Field Summary
Fields Modifier and Type Field Description static EclipseLinkVersion
VERSION
The EclipseLink version, which is 2.4.
-
Constructor Summary
Constructors Constructor Description EclipseLinkJPQLGrammar2_4()
Creates a newEclipseLinkJPQLGrammar2_4
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static void
extend(AbstractJPQLGrammar jpqlGrammar)
Extends the givenJPQLGrammar
with the information of this one without instantiating the baseJPQLGrammar
.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.static JPQLGrammar
instance()
Returns the singleton instance of this class.java.lang.String
toString()
-
Methods inherited from class org.eclipse.persistence.jpa.jpql.parser.AbstractJPQLGrammar
addChildBNF, addChildFactory, addIdentifier, addIdentifiers, getBaseGrammar, getExpressionRegistry, setFallbackBNFId, setFallbackExpressionFactoryId, setHandleCollection, setHandleNestedArray, setHandleSubExpression
-
-
-
-
Field Detail
-
VERSION
public static final EclipseLinkVersion VERSION
The EclipseLink version, which is 2.4.
-
-
Method Detail
-
extend
public static void extend(AbstractJPQLGrammar jpqlGrammar)
Extends the givenJPQLGrammar
with the information of this one without instantiating the baseJPQLGrammar
.- Parameters:
jpqlGrammar
- TheJPQLGrammar
to 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 singleton instance of
EclipseLinkJPQLGrammar2_4
-
getJPAVersion
public JPAVersion getJPAVersion()
Returns theJPAVersion
of the Java Persistence supported by this grammar.- Returns:
- The
JPA version
supported by this grammar
-
getProvider
public java.lang.String getProvider()
Returns the persistence provider name.- Returns:
- The name of the persistence provider,
null
should never be returned
-
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
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-