|
EclipseLink 2.4.2, build 'v20130514-5956486' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eclipse.persistence.jpa.jpql.parser.AbstractJPQLGrammar org.eclipse.persistence.jpa.jpql.parser.EclipseLinkJPQLGrammar2_4
public final class EclipseLinkJPQLGrammar2_4
This 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.
Field Summary | |
---|---|
static java.lang.String |
VERSION
The EclipseLink version, which is 2.4. |
Constructor Summary | |
---|---|
EclipseLinkJPQLGrammar2_4()
Creates a new EclipseLinkJPQLGrammar2_4 . |
Method Summary | |
---|---|
protected JPQLGrammar |
buildBaseGrammar()
Creates the base JPQLGrammar this one extends, if one exists. |
static void |
extend(AbstractJPQLGrammar jpqlGrammar)
Extends the given JPQLGrammar with the information of this one without instantiating
the base JPQLGrammar . |
JPAVersion |
getJPAVersion()
Returns the JPAVersion of the Java Persistence supported by this grammar. |
java.lang.String |
getProviderVersion()
Returns the version of the persistence provider. |
protected void |
initializeBNFs()
Registers the JPQL query BNFs defining the JPQL grammar. |
protected void |
initializeExpressionFactories()
Registers the ExpressionFactories required to properly parse JPQL
queries. |
protected void |
initializeIdentifiers()
Registers the JPQL identifiers support by this IJPQLExtension . |
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, buildExpressionRegistry, getBaseGrammar, getExpressionRegistry, initialize, registerBNF, registerFactory, registerIdentifierRole, registerIdentifierVersion, setFallbackBNFId, setFallbackExpressionFactoryId, setHandleSubExpression |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String VERSION
Constructor Detail |
---|
public EclipseLinkJPQLGrammar2_4()
EclipseLinkJPQLGrammar2_4
.
Method Detail |
---|
public static void extend(AbstractJPQLGrammar jpqlGrammar)
JPQLGrammar
with the information of this one without instantiating
the base JPQLGrammar
.
jpqlGrammar
- The JPQLGrammar
to extend with the content of this one without
instantiating the base JPQLGrammar
public static JPQLGrammar instance()
EclipseLinkJPQLGrammar2_4
protected JPQLGrammar buildBaseGrammar()
JPQLGrammar
this one extends, if one exists.
IMPORTANT: The singleton instance of any JPQLGrammar
(for example JPQLGrammar1_0.instance()
cannot be used, the API does not support
extending it, a new instance has to be created.
buildBaseGrammar
in class AbstractJPQLGrammar
JPQLGrammar
or null
if there is no base grammarpublic JPAVersion getJPAVersion()
JPAVersion
of the Java Persistence supported by this grammar.
JPA version
supported by this grammarpublic java.lang.String getProviderVersion()
protected void initializeBNFs()
initializeBNFs
in class AbstractJPQLGrammar
protected void initializeExpressionFactories()
ExpressionFactories
required to properly parse JPQL
queries. An ExpressionFactory
is responsible to create an Expression
object
that represents a portion of the JPQL query.
initializeExpressionFactories
in class AbstractJPQLGrammar
protected void initializeIdentifiers()
IJPQLExtension
. The registration
involves registering the JPAVersion
and the IdentifierRole
.
initializeIdentifiers
in class AbstractJPQLGrammar
public java.lang.String toString()
toString
in class java.lang.Object
|
EclipseLink 2.4.2, build 'v20130514-5956486' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |