From bdd4370fe3fd7340121a6d9361bd7daa072b5f71 Mon Sep 17 00:00:00 2001 From: Rob Bygrave Date: Thu, 17 Nov 2016 19:17:34 +1300 Subject: [PATCH] no effective change - format only --- .../expression/AllEqualsExpression.java | 2 +- .../expression/ArrayContainsExpression.java | 4 +- .../expression/ArrayIsEmptyExpression.java | 3 +- .../server/expression/BetweenExpression.java | 3 +- .../expression/BetweenPropertyExpression.java | 3 +- .../expression/DefaultExpressionFactory.java | 25 +- .../expression/DefaultExpressionList.java | 24 +- .../expression/DefaultExpressionRequest.java | 8 +- .../expression/ExistsQueryExpression.java | 12 +- .../expression/FilterExpressionList.java | 8 +- .../server/expression/InExpression.java | 4 +- .../server/expression/InQueryExpression.java | 6 +- .../server/expression/IsEmptyExpression.java | 9 +- .../server/expression/JsonPathExpression.java | 8 +- .../server/expression/JunctionExpression.java | 18 +- .../server/expression/LikeExpression.java | 4 +- .../server/expression/LogicExpression.java | 6 +- .../server/expression/NamedParamHelp.java | 2 +- .../NestedPathWrapperExpression.java | 4 +- .../server/expression/NullExpression.java | 2 +- .../server/expression/PrepareDocNested.java | 8 +- .../server/expression/SimpleExpression.java | 3 +- .../server/expression/package.html | 22 +- .../server/grammer/EqlAdapter.java | 37 +- .../server/grammer/EqlAdapterHelper.java | 14 +- .../server/grammer/OperatorMapping.java | 2 +- .../server/grammer/ParseFetchConfig.java | 2 +- .../server/grammer/antlr/EQLBaseListener.java | 1260 ++-- .../server/grammer/antlr/EQLLexer.java | 570 +- .../server/grammer/antlr/EQLListener.java | 962 +-- .../server/grammer/antlr/EQLParser.java | 5208 +++++++++-------- .../ebeaninternal/server/idgen/package.html | 6 +- .../server/lib/DaemonScheduleThreadPool.java | 6 +- .../server/lib/DaemonThreadFactory.java | 50 +- .../server/lib/ShutdownManager.java | 168 +- .../ebeaninternal/server/lib/package.html | 10 +- .../ebeaninternal/server/lib/util/Str.java | 2 +- .../server/lib/util/StringHelper.java | 494 +- .../server/lib/util/package.html | 6 +- 39 files changed, 4865 insertions(+), 4120 deletions(-) diff --git a/src/main/java/com/avaje/ebeaninternal/server/expression/AllEqualsExpression.java b/src/main/java/com/avaje/ebeaninternal/server/expression/AllEqualsExpression.java index 75d0504c0..0325a322d 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/expression/AllEqualsExpression.java +++ b/src/main/java/com/avaje/ebeaninternal/server/expression/AllEqualsExpression.java @@ -49,7 +49,7 @@ class AllEqualsExpression extends NonPrepareExpression { @Override public void validate(SpiExpressionValidation validation) { - for (String propName: propMap.keySet()) { + for (String propName : propMap.keySet()) { validation.validate(propName); } } diff --git a/src/main/java/com/avaje/ebeaninternal/server/expression/ArrayContainsExpression.java b/src/main/java/com/avaje/ebeaninternal/server/expression/ArrayContainsExpression.java index e82fbd3c7..b65eed668 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/expression/ArrayContainsExpression.java +++ b/src/main/java/com/avaje/ebeaninternal/server/expression/ArrayContainsExpression.java @@ -64,8 +64,8 @@ public class ArrayContainsExpression extends AbstractExpression { } ArrayContainsExpression that = (ArrayContainsExpression) other; return this.propName.equals(that.propName) - && this.contains == that.contains - && this.values.length == that.values.length; + && this.contains == that.contains + && this.values.length == that.values.length; } @Override diff --git a/src/main/java/com/avaje/ebeaninternal/server/expression/ArrayIsEmptyExpression.java b/src/main/java/com/avaje/ebeaninternal/server/expression/ArrayIsEmptyExpression.java index 818ffa57d..2b7338c9e 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/expression/ArrayIsEmptyExpression.java +++ b/src/main/java/com/avaje/ebeaninternal/server/expression/ArrayIsEmptyExpression.java @@ -39,8 +39,7 @@ public class ArrayIsEmptyExpression extends AbstractExpression { return false; } ArrayIsEmptyExpression that = (ArrayIsEmptyExpression) other; - return this.propName.equals(that.propName) - && this.empty == that.empty; + return this.propName.equals(that.propName) && this.empty == that.empty; } @Override diff --git a/src/main/java/com/avaje/ebeaninternal/server/expression/BetweenExpression.java b/src/main/java/com/avaje/ebeaninternal/server/expression/BetweenExpression.java index 4d46dbafd..9888e89fd 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/expression/BetweenExpression.java +++ b/src/main/java/com/avaje/ebeaninternal/server/expression/BetweenExpression.java @@ -71,7 +71,6 @@ class BetweenExpression extends AbstractExpression { @Override public boolean isSameByBind(SpiExpression other) { BetweenExpression that = (BetweenExpression) other; - return low().equals(that.low()) - && high().equals(that.high()); + return low().equals(that.low()) && high().equals(that.high()); } } diff --git a/src/main/java/com/avaje/ebeaninternal/server/expression/BetweenPropertyExpression.java b/src/main/java/com/avaje/ebeaninternal/server/expression/BetweenPropertyExpression.java index 1a5958989..d8cc71871 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/expression/BetweenPropertyExpression.java +++ b/src/main/java/com/avaje/ebeaninternal/server/expression/BetweenPropertyExpression.java @@ -103,8 +103,7 @@ class BetweenPropertyExpression extends NonPrepareExpression { } BetweenPropertyExpression that = (BetweenPropertyExpression) other; - return lowProperty.equals(that.lowProperty) - && highProperty.equals(that.highProperty); + return lowProperty.equals(that.lowProperty) && highProperty.equals(that.highProperty); } @Override diff --git a/src/main/java/com/avaje/ebeaninternal/server/expression/DefaultExpressionFactory.java b/src/main/java/com/avaje/ebeaninternal/server/expression/DefaultExpressionFactory.java index 2e0a7c1f9..3bcc1392c 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/expression/DefaultExpressionFactory.java +++ b/src/main/java/com/avaje/ebeaninternal/server/expression/DefaultExpressionFactory.java @@ -26,7 +26,7 @@ import java.util.Map; */ public class DefaultExpressionFactory implements SpiExpressionFactory { - private static final Object[] EMPTY_ARRAY = new Object[] {}; + private static final Object[] EMPTY_ARRAY = new Object[]{}; private final boolean nativeIlike; @@ -37,7 +37,7 @@ public class DefaultExpressionFactory implements SpiExpressionFactory { this.nativeIlike = nativeIlike; } - public ExpressionFactory createExpressionFactory(){ + public ExpressionFactory createExpressionFactory() { return this; } @@ -233,9 +233,9 @@ public class DefaultExpressionFactory implements SpiExpressionFactory { if (bean == null || (!(bean instanceof EntityBean))) { throw new IllegalStateException("Expecting an EntityBean"); } - return (EntityBean)bean; + return (EntityBean) bean; } - + /** * Case insensitive {@link #exampleLike(Object)} */ @@ -372,19 +372,19 @@ public class DefaultExpressionFactory implements SpiExpressionFactory { } /** - * Exists subquery + * Exists subquery */ @Override public Expression exists(Query subQuery) { - return new ExistsQueryExpression((SpiQuery) subQuery, false); + return new ExistsQueryExpression((SpiQuery) subQuery, false); } - + /** - * Not exists subquery + * Not exists subquery */ @Override public Expression notExists(Query subQuery) { - return new ExistsQueryExpression((SpiQuery) subQuery, true); + return new ExistsQueryExpression((SpiQuery) subQuery, true); } @Override @@ -427,9 +427,8 @@ public class DefaultExpressionFactory implements SpiExpressionFactory { * Expression where all the property names in the map are equal to the * corresponding value. *

- * - * @param propertyMap - * a map keyed by property names. + * + * @param propertyMap a map keyed by property names. */ public Expression allEq(Map propertyMap) { return new AllEqualsExpression(propertyMap); @@ -443,7 +442,7 @@ public class DefaultExpressionFactory implements SpiExpressionFactory { *

*/ public Expression raw(String raw, Object value) { - return new RawExpression(raw, new Object[] { value }); + return new RawExpression(raw, new Object[]{value}); } /** diff --git a/src/main/java/com/avaje/ebeaninternal/server/expression/DefaultExpressionList.java b/src/main/java/com/avaje/ebeaninternal/server/expression/DefaultExpressionList.java index fc0274859..381e93e86 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/expression/DefaultExpressionList.java +++ b/src/main/java/com/avaje/ebeaninternal/server/expression/DefaultExpressionList.java @@ -1,6 +1,20 @@ package com.avaje.ebeaninternal.server.expression; -import com.avaje.ebean.*; +import com.avaje.ebean.Expression; +import com.avaje.ebean.ExpressionFactory; +import com.avaje.ebean.ExpressionList; +import com.avaje.ebean.FetchPath; +import com.avaje.ebean.FutureIds; +import com.avaje.ebean.FutureList; +import com.avaje.ebean.FutureRowCount; +import com.avaje.ebean.Junction; +import com.avaje.ebean.OrderBy; +import com.avaje.ebean.PagedList; +import com.avaje.ebean.Query; +import com.avaje.ebean.QueryEachConsumer; +import com.avaje.ebean.QueryEachWhileConsumer; +import com.avaje.ebean.QueryIterator; +import com.avaje.ebean.Version; import com.avaje.ebean.event.BeanQueryRequest; import com.avaje.ebean.search.Match; import com.avaje.ebean.search.MultiMatch; @@ -131,7 +145,7 @@ public class DefaultExpressionList implements SpiExpressionList { // this is a Top level "text" expressions so we may need to wrap in Bool SHOULD etc. if (list.isEmpty()) throw new IllegalStateException("empty expression list?"); - if (allDocNestedPath!=null) context.startNested(allDocNestedPath); + if (allDocNestedPath != null) context.startNested(allDocNestedPath); int size = list.size(); SpiExpression first = list.get(0); @@ -161,13 +175,13 @@ public class DefaultExpressionList implements SpiExpressionList { if (implicitBool || explicitBool) { context.endBoolGroup(); } - if (allDocNestedPath!=null) context.endNested(); + if (allDocNestedPath != null) context.endNested(); } } public void writeDocQuery(DocQueryContext context, SpiExpression idEquals) throws IOException { - if (allDocNestedPath!=null) context.startNested(allDocNestedPath); + if (allDocNestedPath != null) context.startNested(allDocNestedPath); int size = list.size(); if (size == 1 && idEquals == null) { // only 1 expression - skip bool @@ -186,7 +200,7 @@ public class DefaultExpressionList implements SpiExpressionList { } context.endBool(); } - if (allDocNestedPath!=null) context.endNested(); + if (allDocNestedPath != null) context.endNested(); } @Override diff --git a/src/main/java/com/avaje/ebeaninternal/server/expression/DefaultExpressionRequest.java b/src/main/java/com/avaje/ebeaninternal/server/expression/DefaultExpressionRequest.java index 027718b4b..35b75c931 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/expression/DefaultExpressionRequest.java +++ b/src/main/java/com/avaje/ebeaninternal/server/expression/DefaultExpressionRequest.java @@ -1,9 +1,5 @@ package com.avaje.ebeaninternal.server.expression; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.List; - import com.avaje.ebeaninternal.api.SpiExpressionList; import com.avaje.ebeaninternal.api.SpiExpressionRequest; import com.avaje.ebeaninternal.server.core.DbExpressionHandler; @@ -13,6 +9,10 @@ import com.avaje.ebeaninternal.server.deploy.DeployParser; import com.avaje.ebeaninternal.server.persist.Binder; import com.avaje.ebeaninternal.server.type.DataBind; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; + public class DefaultExpressionRequest implements SpiExpressionRequest { private final SpiOrmQueryRequest queryRequest; diff --git a/src/main/java/com/avaje/ebeaninternal/server/expression/ExistsQueryExpression.java b/src/main/java/com/avaje/ebeaninternal/server/expression/ExistsQueryExpression.java index 9f43cbb77..8de510482 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/expression/ExistsQueryExpression.java +++ b/src/main/java/com/avaje/ebeaninternal/server/expression/ExistsQueryExpression.java @@ -1,8 +1,5 @@ package com.avaje.ebeaninternal.server.expression; -import java.io.IOException; -import java.util.List; - import com.avaje.ebean.event.BeanQueryRequest; import com.avaje.ebeaninternal.api.HashQueryPlanBuilder; import com.avaje.ebeaninternal.api.ManyWhereJoins; @@ -14,6 +11,9 @@ import com.avaje.ebeaninternal.api.SpiQuery; import com.avaje.ebeaninternal.server.deploy.BeanDescriptor; import com.avaje.ebeaninternal.server.query.CQuery; +import java.io.IOException; +import java.util.List; + class ExistsQueryExpression implements SpiExpression, UnsupportedDocStoreExpression { protected final boolean not; @@ -29,7 +29,7 @@ class ExistsQueryExpression implements SpiExpression, UnsupportedDocStoreExpress this.not = not; } - ExistsQueryExpression(boolean not, String sql , List bindParams) { + ExistsQueryExpression(boolean not, String sql, List bindParams) { this.not = not; this.sql = sql; this.bindParams = bindParams; @@ -111,8 +111,8 @@ class ExistsQueryExpression implements SpiExpression, UnsupportedDocStoreExpress ExistsQueryExpression that = (ExistsQueryExpression) other; return this.sql.equals(that.sql) - && this.not == that.not - && this.bindParams.size() == that.bindParams.size(); + && this.not == that.not + && this.bindParams.size() == that.bindParams.size(); } @Override diff --git a/src/main/java/com/avaje/ebeaninternal/server/expression/FilterExpressionList.java b/src/main/java/com/avaje/ebeaninternal/server/expression/FilterExpressionList.java index a852d3593..e9cf35d22 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/expression/FilterExpressionList.java +++ b/src/main/java/com/avaje/ebeaninternal/server/expression/FilterExpressionList.java @@ -1,6 +1,12 @@ package com.avaje.ebeaninternal.server.expression; -import com.avaje.ebean.*; +import com.avaje.ebean.ExpressionFactory; +import com.avaje.ebean.ExpressionList; +import com.avaje.ebean.FutureIds; +import com.avaje.ebean.FutureList; +import com.avaje.ebean.FutureRowCount; +import com.avaje.ebean.OrderBy; +import com.avaje.ebean.Query; import com.avaje.ebeaninternal.api.SpiExpressionList; import javax.persistence.PersistenceException; diff --git a/src/main/java/com/avaje/ebeaninternal/server/expression/InExpression.java b/src/main/java/com/avaje/ebeaninternal/server/expression/InExpression.java index 7222d3372..4abffd0e1 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/expression/InExpression.java +++ b/src/main/java/com/avaje/ebeaninternal/server/expression/InExpression.java @@ -134,8 +134,8 @@ class InExpression extends AbstractExpression { InExpression that = (InExpression) other; return propName.equals(that.propName) - && not == that.not - && bindValues.length == that.bindValues.length; + && not == that.not + && bindValues.length == that.bindValues.length; } @Override diff --git a/src/main/java/com/avaje/ebeaninternal/server/expression/InQueryExpression.java b/src/main/java/com/avaje/ebeaninternal/server/expression/InQueryExpression.java index 47abc862f..2a7026dea 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/expression/InQueryExpression.java +++ b/src/main/java/com/avaje/ebeaninternal/server/expression/InQueryExpression.java @@ -104,9 +104,9 @@ class InQueryExpression extends AbstractExpression implements UnsupportedDocStor InQueryExpression that = (InQueryExpression) other; return propName.equals(that.propName) - && sql.equals(that.sql) - && not == that.not - && bindParams.size() == that.bindParams.size(); + && sql.equals(that.sql) + && not == that.not + && bindParams.size() == that.bindParams.size(); } @Override diff --git a/src/main/java/com/avaje/ebeaninternal/server/expression/IsEmptyExpression.java b/src/main/java/com/avaje/ebeaninternal/server/expression/IsEmptyExpression.java index c79424d1c..744bd4a0f 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/expression/IsEmptyExpression.java +++ b/src/main/java/com/avaje/ebeaninternal/server/expression/IsEmptyExpression.java @@ -85,9 +85,9 @@ class IsEmptyExpression extends AbstractExpression { request.append("not "); } request - .append("exists (select 1 from ") - .append(prop.getAssocIsEmpty(request, propertyPath)) - .append(")"); + .append("exists (select 1 from ") + .append(prop.getAssocIsEmpty(request, propertyPath)) + .append(")"); } /** @@ -110,8 +110,7 @@ class IsEmptyExpression extends AbstractExpression { } IsEmptyExpression that = (IsEmptyExpression) other; - return this.propName.equals(that.propName) - && this.empty == that.empty; + return this.propName.equals(that.propName) && this.empty == that.empty; } @Override diff --git a/src/main/java/com/avaje/ebeaninternal/server/expression/JsonPathExpression.java b/src/main/java/com/avaje/ebeaninternal/server/expression/JsonPathExpression.java index 4c0fce9c0..63032bd38 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/expression/JsonPathExpression.java +++ b/src/main/java/com/avaje/ebeaninternal/server/expression/JsonPathExpression.java @@ -91,10 +91,10 @@ class JsonPathExpression extends AbstractExpression { JsonPathExpression that = (JsonPathExpression) other; return propName.equals(that.propName) - && operator == that.operator - && Same.sameByValue(path, that.path) - && Same.sameByNull(value, that.value) - && Same.sameByNull(upperValue, that.upperValue); + && operator == that.operator + && Same.sameByValue(path, that.path) + && Same.sameByNull(value, that.value) + && Same.sameByNull(upperValue, that.upperValue); } @Override diff --git a/src/main/java/com/avaje/ebeaninternal/server/expression/JunctionExpression.java b/src/main/java/com/avaje/ebeaninternal/server/expression/JunctionExpression.java index 657ea35c0..e3a25ee46 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/expression/JunctionExpression.java +++ b/src/main/java/com/avaje/ebeaninternal/server/expression/JunctionExpression.java @@ -69,7 +69,7 @@ class JunctionExpression implements SpiJunction, SpiExpression, Expression List list = exprList.list; if (list.size() == 1 && list.get(0) instanceof JunctionExpression) { - JunctionExpression nested = (JunctionExpression)list.get(0); + JunctionExpression nested = (JunctionExpression) list.get(0); if (type == Type.AND && !nested.type.isText()) { // and (and (a, b, c)) -> and (a, b, c) // and (not (a, b, c)) -> not (a, b, c) @@ -429,7 +429,7 @@ class JunctionExpression implements SpiJunction, SpiExpression, Expression * Path does not exist - for the given path in a JSON document. */ @Override - public ExpressionList jsonNotExists(String propertyName, String path){ + public ExpressionList jsonNotExists(String propertyName, String path) { return exprList.jsonNotExists(propertyName, path); } @@ -437,7 +437,7 @@ class JunctionExpression implements SpiJunction, SpiExpression, Expression * Equal to - for the value at the given path in the JSON document. */ @Override - public ExpressionList jsonEqualTo(String propertyName, String path, Object value){ + public ExpressionList jsonEqualTo(String propertyName, String path, Object value) { return exprList.jsonEqualTo(propertyName, path, value); } @@ -445,7 +445,7 @@ class JunctionExpression implements SpiJunction, SpiExpression, Expression * Not Equal to - for the given path in a JSON document. */ @Override - public ExpressionList jsonNotEqualTo(String propertyName, String path, Object val){ + public ExpressionList jsonNotEqualTo(String propertyName, String path, Object val) { return exprList.jsonNotEqualTo(propertyName, path, val); } @@ -453,7 +453,7 @@ class JunctionExpression implements SpiJunction, SpiExpression, Expression * Greater than - for the given path in a JSON document. */ @Override - public ExpressionList jsonGreaterThan(String propertyName, String path, Object val){ + public ExpressionList jsonGreaterThan(String propertyName, String path, Object val) { return exprList.jsonGreaterThan(propertyName, path, val); } @@ -461,7 +461,7 @@ class JunctionExpression implements SpiJunction, SpiExpression, Expression * Greater than or equal to - for the given path in a JSON document. */ @Override - public ExpressionList jsonGreaterOrEqual(String propertyName, String path, Object val){ + public ExpressionList jsonGreaterOrEqual(String propertyName, String path, Object val) { return exprList.jsonGreaterOrEqual(propertyName, path, val); } @@ -469,7 +469,7 @@ class JunctionExpression implements SpiJunction, SpiExpression, Expression * Less than - for the given path in a JSON document. */ @Override - public ExpressionList jsonLessThan(String propertyName, String path, Object val){ + public ExpressionList jsonLessThan(String propertyName, String path, Object val) { return exprList.jsonLessThan(propertyName, path, val); } @@ -477,7 +477,7 @@ class JunctionExpression implements SpiJunction, SpiExpression, Expression * Less than or equal to - for the given path in a JSON document. */ @Override - public ExpressionList jsonLessOrEqualTo(String propertyName, String path, Object val){ + public ExpressionList jsonLessOrEqualTo(String propertyName, String path, Object val) { return exprList.jsonLessOrEqualTo(propertyName, path, val); } @@ -485,7 +485,7 @@ class JunctionExpression implements SpiJunction, SpiExpression, Expression * Between - for the given path in a JSON document. */ @Override - public ExpressionList jsonBetween(String propertyName, String path, Object lowerValue, Object upperValue){ + public ExpressionList jsonBetween(String propertyName, String path, Object lowerValue, Object upperValue) { return exprList.jsonBetween(propertyName, path, lowerValue, upperValue); } diff --git a/src/main/java/com/avaje/ebeaninternal/server/expression/LikeExpression.java b/src/main/java/com/avaje/ebeaninternal/server/expression/LikeExpression.java index 7e4b330e3..f34de403a 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/expression/LikeExpression.java +++ b/src/main/java/com/avaje/ebeaninternal/server/expression/LikeExpression.java @@ -82,8 +82,8 @@ class LikeExpression extends AbstractValueExpression { LikeExpression that = (LikeExpression) other; return this.propName.equals(that.propName) - && this.caseInsensitive == that.caseInsensitive - && this.type == that.type; + && this.caseInsensitive == that.caseInsensitive + && this.type == that.type; } @Override diff --git a/src/main/java/com/avaje/ebeaninternal/server/expression/LogicExpression.java b/src/main/java/com/avaje/ebeaninternal/server/expression/LogicExpression.java index b2e0913f9..67d4ac8fe 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/expression/LogicExpression.java +++ b/src/main/java/com/avaje/ebeaninternal/server/expression/LogicExpression.java @@ -159,15 +159,15 @@ abstract class LogicExpression implements SpiExpression { LogicExpression that = (LogicExpression) other; return this.joinType.equals(that.joinType) - && this.expOne.isSameByPlan(that.expOne) - && this.expTwo.isSameByPlan(that.expTwo); + && this.expOne.isSameByPlan(that.expOne) + && this.expTwo.isSameByPlan(that.expTwo); } @Override public boolean isSameByBind(SpiExpression other) { LogicExpression that = (LogicExpression) other; return this.expOne.isSameByBind(that.expOne) - && this.expTwo.isSameByBind(that.expTwo); + && this.expTwo.isSameByBind(that.expTwo); } } diff --git a/src/main/java/com/avaje/ebeaninternal/server/expression/NamedParamHelp.java b/src/main/java/com/avaje/ebeaninternal/server/expression/NamedParamHelp.java index b35005020..cda7e69d9 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/expression/NamedParamHelp.java +++ b/src/main/java/com/avaje/ebeaninternal/server/expression/NamedParamHelp.java @@ -35,7 +35,7 @@ class NamedParamHelp { Object value = value(sourceValue); if (value instanceof Collection) { - values.addAll((Collection)value); + values.addAll((Collection) value); } else { values.add(value); } diff --git a/src/main/java/com/avaje/ebeaninternal/server/expression/NestedPathWrapperExpression.java b/src/main/java/com/avaje/ebeaninternal/server/expression/NestedPathWrapperExpression.java index 6f4434486..da2bba9a3 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/expression/NestedPathWrapperExpression.java +++ b/src/main/java/com/avaje/ebeaninternal/server/expression/NestedPathWrapperExpression.java @@ -70,9 +70,9 @@ class NestedPathWrapperExpression implements SpiExpression { @Override public boolean isSameByPlan(SpiExpression other) { if (other instanceof NestedPathWrapperExpression) { - NestedPathWrapperExpression that = (NestedPathWrapperExpression)other; + NestedPathWrapperExpression that = (NestedPathWrapperExpression) other; return nestedPath.equals(that.nestedPath) - && delegate.isSameByPlan(that.delegate); + && delegate.isSameByPlan(that.delegate); } return false; } diff --git a/src/main/java/com/avaje/ebeaninternal/server/expression/NullExpression.java b/src/main/java/com/avaje/ebeaninternal/server/expression/NullExpression.java index ce05680c4..7fed6fa76 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/expression/NullExpression.java +++ b/src/main/java/com/avaje/ebeaninternal/server/expression/NullExpression.java @@ -80,7 +80,7 @@ class NullExpression extends AbstractExpression { NullExpression that = (NullExpression) other; return this.propName.equals(that.propName) - && this.notNull == that.notNull; + && this.notNull == that.notNull; } @Override diff --git a/src/main/java/com/avaje/ebeaninternal/server/expression/PrepareDocNested.java b/src/main/java/com/avaje/ebeaninternal/server/expression/PrepareDocNested.java index 2c05609b1..2b8b142a4 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/expression/PrepareDocNested.java +++ b/src/main/java/com/avaje/ebeaninternal/server/expression/PrepareDocNested.java @@ -68,12 +68,12 @@ class PrepareDocNested { /** * Reorganise the flat list of expressions into a tree grouping expressions by nested path. - * + *

* Returns the new top level list of expressions. */ private List group() { - Map groups = new LinkedHashMap<>(); + Map groups = new LinkedHashMap<>(); // organise expressions by nestedPath for (int i = 0; i < origSize; i++) { @@ -122,8 +122,8 @@ class PrepareDocNested { String nestedPath = expr.nestedPath(beanDescriptor); if (nestedPath == null) { hasMixedNesting = true; - - } if (nestedPath != null) { + } + if (nestedPath != null) { hasNesting = true; if (firstNestedPath == null) { firstNestedPath = nestedPath; diff --git a/src/main/java/com/avaje/ebeaninternal/server/expression/SimpleExpression.java b/src/main/java/com/avaje/ebeaninternal/server/expression/SimpleExpression.java index fbe082f99..ec457e5fc 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/expression/SimpleExpression.java +++ b/src/main/java/com/avaje/ebeaninternal/server/expression/SimpleExpression.java @@ -122,8 +122,7 @@ public class SimpleExpression extends AbstractValueExpression { } SimpleExpression that = (SimpleExpression) other; - return this.propName.equals(that.propName) - && this.type == that.type; + return this.propName.equals(that.propName) && this.type == that.type; } @Override diff --git a/src/main/java/com/avaje/ebeaninternal/server/expression/package.html b/src/main/java/com/avaje/ebeaninternal/server/expression/package.html index b06ccffc1..aa87c6cf1 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/expression/package.html +++ b/src/main/java/com/avaje/ebeaninternal/server/expression/package.html @@ -1,36 +1,36 @@ - - Collection objects for lazy loading + + Collection objects for lazy loading Expressions for building WHERE clauses.

-You will most likely use expressions directly off the ExpressionList. + You will most likely use expressions directly off the ExpressionList.

   Query<Order> query = Ebean.createQuery(Order.class)
     .where()
       .like("customer.name","rob%")
       .gt("orderDate",lastWeek);
-    
+
   List<Order> orderList = query.findList();
   ...
 

-In the code above the LIKE and GREATER THAN Expressions are added to the where clause. -The way this works is that where() returns an ExpressionList which has methods on -it to create the standard expressions (EQUAL TO, LIKE etc). + In the code above the LIKE and GREATER THAN Expressions are added to the where clause. + The way this works is that where() returns an ExpressionList which has methods on + it to create the standard expressions (EQUAL TO, LIKE etc).

-I expect most people to add their expressions in this way. The Expr expression factory -object also has the ability to create the standard expressions. + I expect most people to add their expressions in this way. The Expr expression factory + object also has the ability to create the standard expressions.

-You can build your own Expression objects by implementing the Expression interface. + You can build your own Expression objects by implementing the Expression interface.

- \ No newline at end of file + diff --git a/src/main/java/com/avaje/ebeaninternal/server/grammer/EqlAdapter.java b/src/main/java/com/avaje/ebeaninternal/server/grammer/EqlAdapter.java index 762ec25b5..b1cd04c17 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/grammer/EqlAdapter.java +++ b/src/main/java/com/avaje/ebeaninternal/server/grammer/EqlAdapter.java @@ -182,7 +182,7 @@ class EqlAdapter extends EQLBaseListener { */ private String trimParenthesis(String text) { text = text.substring(1); - text = text.substring(0, text.length()-1); + text = text.substring(0, text.length() - 1); return text; } @@ -198,20 +198,20 @@ class EqlAdapter extends EQLBaseListener { String path = getLeftHandSidePath(ctx); EqlOperator op = getOperator(ctx); if (op != EqlOperator.BETWEEN) { - throw new IllegalStateException("Expecting BETWEEN operator but got "+op); + throw new IllegalStateException("Expecting BETWEEN operator but got " + op); } - helper.addBetween(path, child(ctx,2), child(ctx,4)); + helper.addBetween(path, child(ctx, 2), child(ctx, 4)); } @Override public void enterPropertyBetween_expression(EQLParser.PropertyBetween_expressionContext ctx) { checkChildren(ctx, 5); - String rawValue = child(ctx,0); + String rawValue = child(ctx, 0); EqlOperator op = getOperator(ctx); if (op != EqlOperator.BETWEEN) { - throw new IllegalStateException("Expecting BETWEEN operator but got "+op); + throw new IllegalStateException("Expecting BETWEEN operator but got " + op); } - helper.addBetweenProperty(rawValue, child(ctx,2), child(ctx,4)); + helper.addBetweenProperty(rawValue, child(ctx, 2), child(ctx, 4)); } @Override @@ -308,16 +308,23 @@ class EqlAdapter extends EQLBaseListener { private EqlOperator invert(EqlOperator op) { switch (op) { // no change - case EQ : return EqlOperator.EQ; - case IEQ : return EqlOperator.IEQ; - case NE : return EqlOperator.NE; + case EQ: + return EqlOperator.EQ; + case IEQ: + return EqlOperator.IEQ; + case NE: + return EqlOperator.NE; // invert - case LT : return EqlOperator.GT; - case LTE : return EqlOperator.GTE; - case GT : return EqlOperator.LT; - case GTE : return EqlOperator.LTE; + case LT: + return EqlOperator.GT; + case LTE: + return EqlOperator.GTE; + case GT: + return EqlOperator.LT; + case GTE: + return EqlOperator.LTE; default: - throw new IllegalStateException("Can not invert operator "+op); + throw new IllegalStateException("Can not invert operator " + op); } } @@ -366,7 +373,7 @@ class EqlAdapter extends EQLBaseListener { } private EqlOperator getOperator(ParserRuleContext ctx) { - String operator = child(ctx,1); + String operator = child(ctx, 1); EqlOperator op = operatorMapping.get(operator); if (op == null) { throw new IllegalStateException("No operator found for " + operator); diff --git a/src/main/java/com/avaje/ebeaninternal/server/grammer/EqlAdapterHelper.java b/src/main/java/com/avaje/ebeaninternal/server/grammer/EqlAdapterHelper.java index b08e642eb..41df9bbaa 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/grammer/EqlAdapterHelper.java +++ b/src/main/java/com/avaje/ebeaninternal/server/grammer/EqlAdapterHelper.java @@ -122,12 +122,16 @@ class EqlAdapterHelper { private Object getBindValue(ValueType valueType, String value) { switch (valueType) { - case BOOL: return Boolean.parseBoolean(value); - case NUMBER: return new BigDecimal(value); - case STRING: return unquote(value); - case NAMED_PARAM: return owner.namedParam(value.substring(1)); + case BOOL: + return Boolean.parseBoolean(value); + case NUMBER: + return new BigDecimal(value); + case STRING: + return unquote(value); + case NAMED_PARAM: + return owner.namedParam(value.substring(1)); default: - throw new IllegalArgumentException("Unhandled valueType "+valueType); + throw new IllegalArgumentException("Unhandled valueType " + valueType); } } diff --git a/src/main/java/com/avaje/ebeaninternal/server/grammer/OperatorMapping.java b/src/main/java/com/avaje/ebeaninternal/server/grammer/OperatorMapping.java index 94d300e66..8ad872cb0 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/grammer/OperatorMapping.java +++ b/src/main/java/com/avaje/ebeaninternal/server/grammer/OperatorMapping.java @@ -5,7 +5,7 @@ import java.util.Map; class OperatorMapping { - Map map = new HashMap<>(); + Map map = new HashMap<>(); public OperatorMapping() { map.put("eq", EqlOperator.EQ); diff --git a/src/main/java/com/avaje/ebeaninternal/server/grammer/ParseFetchConfig.java b/src/main/java/com/avaje/ebeaninternal/server/grammer/ParseFetchConfig.java index db014c6c0..0432345d2 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/grammer/ParseFetchConfig.java +++ b/src/main/java/com/avaje/ebeaninternal/server/grammer/ParseFetchConfig.java @@ -43,7 +43,7 @@ class ParseFetchConfig { } private static int parseBatchSize(String path) { - path = path.substring(0, path.length()-1); + path = path.substring(0, path.length() - 1); return Integer.parseInt(path); } } diff --git a/src/main/java/com/avaje/ebeaninternal/server/grammer/antlr/EQLBaseListener.java b/src/main/java/com/avaje/ebeaninternal/server/grammer/antlr/EQLBaseListener.java index 9c4201e44..e6ab2e11b 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/grammer/antlr/EQLBaseListener.java +++ b/src/main/java/com/avaje/ebeaninternal/server/grammer/antlr/EQLBaseListener.java @@ -11,509 +11,759 @@ import org.antlr.v4.runtime.tree.TerminalNode; * of the available methods. */ public class EQLBaseListener implements EQLListener { - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterSelect_statement(EQLParser.Select_statementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitSelect_statement(EQLParser.Select_statementContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterSelect_clause(EQLParser.Select_clauseContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitSelect_clause(EQLParser.Select_clauseContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterDistinct(EQLParser.DistinctContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitDistinct(EQLParser.DistinctContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFetch_clause(EQLParser.Fetch_clauseContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFetch_clause(EQLParser.Fetch_clauseContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterWhere_clause(EQLParser.Where_clauseContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitWhere_clause(EQLParser.Where_clauseContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterOrderby_clause(EQLParser.Orderby_clauseContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitOrderby_clause(EQLParser.Orderby_clauseContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterOrderby_property(EQLParser.Orderby_propertyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitOrderby_property(EQLParser.Orderby_propertyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterNulls_firstlast(EQLParser.Nulls_firstlastContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitNulls_firstlast(EQLParser.Nulls_firstlastContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAsc_desc(EQLParser.Asc_descContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAsc_desc(EQLParser.Asc_descContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterLimit_clause(EQLParser.Limit_clauseContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitLimit_clause(EQLParser.Limit_clauseContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterOffset_clause(EQLParser.Offset_clauseContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitOffset_clause(EQLParser.Offset_clauseContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFetch_path(EQLParser.Fetch_pathContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFetch_path(EQLParser.Fetch_pathContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFetch_property_set(EQLParser.Fetch_property_setContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFetch_property_set(EQLParser.Fetch_property_setContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFetch_property_group(EQLParser.Fetch_property_groupContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFetch_property_group(EQLParser.Fetch_property_groupContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFetch_property(EQLParser.Fetch_propertyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFetch_property(EQLParser.Fetch_propertyContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFetch_query_hint(EQLParser.Fetch_query_hintContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFetch_query_hint(EQLParser.Fetch_query_hintContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFetch_lazy_hint(EQLParser.Fetch_lazy_hintContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFetch_lazy_hint(EQLParser.Fetch_lazy_hintContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFetch_option(EQLParser.Fetch_optionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFetch_option(EQLParser.Fetch_optionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFetch_query_option(EQLParser.Fetch_query_optionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFetch_query_option(EQLParser.Fetch_query_optionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFetch_lazy_option(EQLParser.Fetch_lazy_optionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFetch_lazy_option(EQLParser.Fetch_lazy_optionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterFetch_batch_size(EQLParser.Fetch_batch_sizeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitFetch_batch_size(EQLParser.Fetch_batch_sizeContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterConditional_expression(EQLParser.Conditional_expressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitConditional_expression(EQLParser.Conditional_expressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterConditional_term(EQLParser.Conditional_termContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitConditional_term(EQLParser.Conditional_termContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterConditional_factor(EQLParser.Conditional_factorContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitConditional_factor(EQLParser.Conditional_factorContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterConditional_primary(EQLParser.Conditional_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitConditional_primary(EQLParser.Conditional_primaryContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterAny_expression(EQLParser.Any_expressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitAny_expression(EQLParser.Any_expressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterIn_expression(EQLParser.In_expressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitIn_expression(EQLParser.In_expressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterIn_value(EQLParser.In_valueContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitIn_value(EQLParser.In_valueContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterBetween_expression(EQLParser.Between_expressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitBetween_expression(EQLParser.Between_expressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterPropertyBetween_expression(EQLParser.PropertyBetween_expressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitPropertyBetween_expression(EQLParser.PropertyBetween_expressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterIsNull_expression(EQLParser.IsNull_expressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitIsNull_expression(EQLParser.IsNull_expressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterIsNotNull_expression(EQLParser.IsNotNull_expressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitIsNotNull_expression(EQLParser.IsNotNull_expressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterIsEmpty_expression(EQLParser.IsEmpty_expressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitIsEmpty_expression(EQLParser.IsEmpty_expressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterIsNotEmpty_expression(EQLParser.IsNotEmpty_expressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitIsNotEmpty_expression(EQLParser.IsNotEmpty_expressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterLike_expression(EQLParser.Like_expressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitLike_expression(EQLParser.Like_expressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterLike_op(EQLParser.Like_opContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitLike_op(EQLParser.Like_opContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterComparison_expression(EQLParser.Comparison_expressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitComparison_expression(EQLParser.Comparison_expressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterComparison_operator(EQLParser.Comparison_operatorContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitComparison_operator(EQLParser.Comparison_operatorContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterValue_expression(EQLParser.Value_expressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitValue_expression(EQLParser.Value_expressionContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterLiteral(EQLParser.LiteralContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitLiteral(EQLParser.LiteralContext ctx) { } + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterSelect_statement(EQLParser.Select_statementContext ctx) { + } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void enterEveryRule(ParserRuleContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void exitEveryRule(ParserRuleContext ctx) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void visitTerminal(TerminalNode node) { } - /** - * {@inheritDoc} - * - *

The default implementation does nothing.

- */ - @Override public void visitErrorNode(ErrorNode node) { } -} \ No newline at end of file + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitSelect_statement(EQLParser.Select_statementContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterSelect_clause(EQLParser.Select_clauseContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitSelect_clause(EQLParser.Select_clauseContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterDistinct(EQLParser.DistinctContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitDistinct(EQLParser.DistinctContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterFetch_clause(EQLParser.Fetch_clauseContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitFetch_clause(EQLParser.Fetch_clauseContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterWhere_clause(EQLParser.Where_clauseContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitWhere_clause(EQLParser.Where_clauseContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterOrderby_clause(EQLParser.Orderby_clauseContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitOrderby_clause(EQLParser.Orderby_clauseContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterOrderby_property(EQLParser.Orderby_propertyContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitOrderby_property(EQLParser.Orderby_propertyContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterNulls_firstlast(EQLParser.Nulls_firstlastContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitNulls_firstlast(EQLParser.Nulls_firstlastContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterAsc_desc(EQLParser.Asc_descContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitAsc_desc(EQLParser.Asc_descContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterLimit_clause(EQLParser.Limit_clauseContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitLimit_clause(EQLParser.Limit_clauseContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterOffset_clause(EQLParser.Offset_clauseContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitOffset_clause(EQLParser.Offset_clauseContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterFetch_path(EQLParser.Fetch_pathContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitFetch_path(EQLParser.Fetch_pathContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterFetch_property_set(EQLParser.Fetch_property_setContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitFetch_property_set(EQLParser.Fetch_property_setContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterFetch_property_group(EQLParser.Fetch_property_groupContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitFetch_property_group(EQLParser.Fetch_property_groupContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterFetch_property(EQLParser.Fetch_propertyContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitFetch_property(EQLParser.Fetch_propertyContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterFetch_query_hint(EQLParser.Fetch_query_hintContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitFetch_query_hint(EQLParser.Fetch_query_hintContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterFetch_lazy_hint(EQLParser.Fetch_lazy_hintContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitFetch_lazy_hint(EQLParser.Fetch_lazy_hintContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterFetch_option(EQLParser.Fetch_optionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitFetch_option(EQLParser.Fetch_optionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterFetch_query_option(EQLParser.Fetch_query_optionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitFetch_query_option(EQLParser.Fetch_query_optionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterFetch_lazy_option(EQLParser.Fetch_lazy_optionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitFetch_lazy_option(EQLParser.Fetch_lazy_optionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterFetch_batch_size(EQLParser.Fetch_batch_sizeContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitFetch_batch_size(EQLParser.Fetch_batch_sizeContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterConditional_expression(EQLParser.Conditional_expressionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitConditional_expression(EQLParser.Conditional_expressionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterConditional_term(EQLParser.Conditional_termContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitConditional_term(EQLParser.Conditional_termContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterConditional_factor(EQLParser.Conditional_factorContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitConditional_factor(EQLParser.Conditional_factorContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterConditional_primary(EQLParser.Conditional_primaryContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitConditional_primary(EQLParser.Conditional_primaryContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterAny_expression(EQLParser.Any_expressionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitAny_expression(EQLParser.Any_expressionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterIn_expression(EQLParser.In_expressionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitIn_expression(EQLParser.In_expressionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterIn_value(EQLParser.In_valueContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitIn_value(EQLParser.In_valueContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterBetween_expression(EQLParser.Between_expressionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitBetween_expression(EQLParser.Between_expressionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterPropertyBetween_expression(EQLParser.PropertyBetween_expressionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitPropertyBetween_expression(EQLParser.PropertyBetween_expressionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterIsNull_expression(EQLParser.IsNull_expressionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitIsNull_expression(EQLParser.IsNull_expressionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterIsNotNull_expression(EQLParser.IsNotNull_expressionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitIsNotNull_expression(EQLParser.IsNotNull_expressionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterIsEmpty_expression(EQLParser.IsEmpty_expressionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitIsEmpty_expression(EQLParser.IsEmpty_expressionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterIsNotEmpty_expression(EQLParser.IsNotEmpty_expressionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitIsNotEmpty_expression(EQLParser.IsNotEmpty_expressionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterLike_expression(EQLParser.Like_expressionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitLike_expression(EQLParser.Like_expressionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterLike_op(EQLParser.Like_opContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitLike_op(EQLParser.Like_opContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterComparison_expression(EQLParser.Comparison_expressionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitComparison_expression(EQLParser.Comparison_expressionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterComparison_operator(EQLParser.Comparison_operatorContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitComparison_operator(EQLParser.Comparison_operatorContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterValue_expression(EQLParser.Value_expressionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitValue_expression(EQLParser.Value_expressionContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterLiteral(EQLParser.LiteralContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitLiteral(EQLParser.LiteralContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void enterEveryRule(ParserRuleContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void exitEveryRule(ParserRuleContext ctx) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void visitTerminal(TerminalNode node) { + } + + /** + * {@inheritDoc} + *

+ *

The default implementation does nothing.

+ */ + @Override + public void visitErrorNode(ErrorNode node) { + } +} diff --git a/src/main/java/com/avaje/ebeaninternal/server/grammer/antlr/EQLLexer.java b/src/main/java/com/avaje/ebeaninternal/server/grammer/antlr/EQLLexer.java index 42b4b904f..6ecbf17d7 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/grammer/antlr/EQLLexer.java +++ b/src/main/java/com/avaje/ebeaninternal/server/grammer/antlr/EQLLexer.java @@ -1,301 +1,319 @@ // Generated from /home/rob/github/ebean/src/test/resources/EQL.g4 by ANTLR 4.5.3 package com.avaje.ebeaninternal.server.grammer.antlr; -import org.antlr.v4.runtime.Lexer; + import org.antlr.v4.runtime.CharStream; -import org.antlr.v4.runtime.Token; -import org.antlr.v4.runtime.TokenStream; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.atn.*; +import org.antlr.v4.runtime.Lexer; +import org.antlr.v4.runtime.RecognitionException; +import org.antlr.v4.runtime.RuntimeMetaData; +import org.antlr.v4.runtime.Vocabulary; +import org.antlr.v4.runtime.VocabularyImpl; +import org.antlr.v4.runtime.atn.ATN; +import org.antlr.v4.runtime.atn.ATNDeserializer; +import org.antlr.v4.runtime.atn.LexerATNSimulator; +import org.antlr.v4.runtime.atn.PredictionContextCache; import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.misc.*; @SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) public class EQLLexer extends Lexer { - static { RuntimeMetaData.checkVersion("4.5.3", RuntimeMetaData.VERSION); } + static { + RuntimeMetaData.checkVersion("4.5.3", RuntimeMetaData.VERSION); + } - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - T__0=1, T__1=2, T__2=3, T__3=4, T__4=5, T__5=6, T__6=7, T__7=8, T__8=9, - T__9=10, T__10=11, T__11=12, T__12=13, T__13=14, T__14=15, T__15=16, T__16=17, - T__17=18, T__18=19, T__19=20, T__20=21, T__21=22, T__22=23, T__23=24, - T__24=25, T__25=26, T__26=27, T__27=28, T__28=29, T__29=30, T__30=31, - T__31=32, T__32=33, T__33=34, T__34=35, T__35=36, T__36=37, T__37=38, - T__38=39, T__39=40, T__40=41, T__41=42, T__42=43, T__43=44, T__44=45, - T__45=46, T__46=47, T__47=48, T__48=49, T__49=50, T__50=51, T__51=52, - T__52=53, T__53=54, T__54=55, T__55=56, T__56=57, INPUT_VARIABLE=58, PATH_VARIABLE=59, - BOOLEAN_LITERAL=60, NUMBER_LITERAL=61, DOUBLE=62, INT=63, ZERO=64, STRING_LITERAL=65, - WS=66; - public static String[] modeNames = { - "DEFAULT_MODE" - }; + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + T__0 = 1, T__1 = 2, T__2 = 3, T__3 = 4, T__4 = 5, T__5 = 6, T__6 = 7, T__7 = 8, T__8 = 9, + T__9 = 10, T__10 = 11, T__11 = 12, T__12 = 13, T__13 = 14, T__14 = 15, T__15 = 16, T__16 = 17, + T__17 = 18, T__18 = 19, T__19 = 20, T__20 = 21, T__21 = 22, T__22 = 23, T__23 = 24, + T__24 = 25, T__25 = 26, T__26 = 27, T__27 = 28, T__28 = 29, T__29 = 30, T__30 = 31, + T__31 = 32, T__32 = 33, T__33 = 34, T__34 = 35, T__35 = 36, T__36 = 37, T__37 = 38, + T__38 = 39, T__39 = 40, T__40 = 41, T__41 = 42, T__42 = 43, T__43 = 44, T__44 = 45, + T__45 = 46, T__46 = 47, T__47 = 48, T__48 = 49, T__49 = 50, T__50 = 51, T__51 = 52, + T__52 = 53, T__53 = 54, T__54 = 55, T__55 = 56, T__56 = 57, INPUT_VARIABLE = 58, PATH_VARIABLE = 59, + BOOLEAN_LITERAL = 60, NUMBER_LITERAL = 61, DOUBLE = 62, INT = 63, ZERO = 64, STRING_LITERAL = 65, + WS = 66; + public static String[] modeNames = { + "DEFAULT_MODE" + }; - public static final String[] ruleNames = { - "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8", - "T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "T__15", "T__16", - "T__17", "T__18", "T__19", "T__20", "T__21", "T__22", "T__23", "T__24", - "T__25", "T__26", "T__27", "T__28", "T__29", "T__30", "T__31", "T__32", - "T__33", "T__34", "T__35", "T__36", "T__37", "T__38", "T__39", "T__40", - "T__41", "T__42", "T__43", "T__44", "T__45", "T__46", "T__47", "T__48", - "T__49", "T__50", "T__51", "T__52", "T__53", "T__54", "T__55", "T__56", - "INPUT_VARIABLE", "PATH_VARIABLE", "BOOLEAN_LITERAL", "NUMBER_LITERAL", - "DOUBLE", "INT", "ZERO", "STRING_LITERAL", "WS" - }; + public static final String[] ruleNames = { + "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8", + "T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "T__15", "T__16", + "T__17", "T__18", "T__19", "T__20", "T__21", "T__22", "T__23", "T__24", + "T__25", "T__26", "T__27", "T__28", "T__29", "T__30", "T__31", "T__32", + "T__33", "T__34", "T__35", "T__36", "T__37", "T__38", "T__39", "T__40", + "T__41", "T__42", "T__43", "T__44", "T__45", "T__46", "T__47", "T__48", + "T__49", "T__50", "T__51", "T__52", "T__53", "T__54", "T__55", "T__56", + "INPUT_VARIABLE", "PATH_VARIABLE", "BOOLEAN_LITERAL", "NUMBER_LITERAL", + "DOUBLE", "INT", "ZERO", "STRING_LITERAL", "WS" + }; - private static final String[] _LITERAL_NAMES = { - null, "'select'", "'('", "')'", "'distinct'", "'where'", "'order'", "'by'", - "','", "'nulls'", "'first'", "'last'", "'asc'", "'desc'", "'limit'", "'offset'", - "'fetch'", "'+'", "'query'", "'lazy'", "'or'", "'and'", "'not'", "'in'", - "'between'", "'is'", "'null'", "'isNull'", "'isNotNull'", "'notNull'", - "'empty'", "'isEmpty'", "'isNotEmpty'", "'notEmpty'", "'like'", "'ilike'", - "'contains'", "'icontains'", "'startsWith'", "'istartsWith'", "'endsWith'", - "'iendsWith'", "'='", "'eq'", "'>'", "'gt'", "'>='", "'ge'", "'gte'", - "'<'", "'lt'", "'<='", "'le'", "'lte'", "'<>'", "'!='", "'ne'", "'ieq'", - null, null, null, null, null, null, "'0'" - }; - private static final String[] _SYMBOLIC_NAMES = { - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, "INPUT_VARIABLE", - "PATH_VARIABLE", "BOOLEAN_LITERAL", "NUMBER_LITERAL", "DOUBLE", "INT", - "ZERO", "STRING_LITERAL", "WS" - }; - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + private static final String[] _LITERAL_NAMES = { + null, "'select'", "'('", "')'", "'distinct'", "'where'", "'order'", "'by'", + "','", "'nulls'", "'first'", "'last'", "'asc'", "'desc'", "'limit'", "'offset'", + "'fetch'", "'+'", "'query'", "'lazy'", "'or'", "'and'", "'not'", "'in'", + "'between'", "'is'", "'null'", "'isNull'", "'isNotNull'", "'notNull'", + "'empty'", "'isEmpty'", "'isNotEmpty'", "'notEmpty'", "'like'", "'ilike'", + "'contains'", "'icontains'", "'startsWith'", "'istartsWith'", "'endsWith'", + "'iendsWith'", "'='", "'eq'", "'>'", "'gt'", "'>='", "'ge'", "'gte'", + "'<'", "'lt'", "'<='", "'le'", "'lte'", "'<>'", "'!='", "'ne'", "'ieq'", + null, null, null, null, null, null, "'0'" + }; + private static final String[] _SYMBOLIC_NAMES = { + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, "INPUT_VARIABLE", + "PATH_VARIABLE", "BOOLEAN_LITERAL", "NUMBER_LITERAL", "DOUBLE", "INT", + "ZERO", "STRING_LITERAL", "WS" + }; + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } - @Override + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } - public Vocabulary getVocabulary() { - return VOCABULARY; - } + @Override + + public Vocabulary getVocabulary() { + return VOCABULARY; + } - @Override - public void recover(RecognitionException e) { - throw new RuntimeException("Error in grammer - " + e.getMessage()); - } + @Override + public void recover(RecognitionException e) { + throw new RuntimeException("Error in grammer - " + e.getMessage()); + } - public EQLLexer(CharStream input) { - super(input); - _interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } + public EQLLexer(CharStream input) { + super(input); + _interp = new LexerATNSimulator(this, _ATN, _decisionToDFA, _sharedContextCache); + } - @Override - public String getGrammarFileName() { return "EQL.g4"; } + @Override + public String getGrammarFileName() { + return "EQL.g4"; + } - @Override - public String[] getRuleNames() { return ruleNames; } + @Override + public String[] getRuleNames() { + return ruleNames; + } - @Override - public String getSerializedATN() { return _serializedATN; } + @Override + public String getSerializedATN() { + return _serializedATN; + } - @Override - public String[] getModeNames() { return modeNames; } + @Override + public String[] getModeNames() { + return modeNames; + } - @Override - public ATN getATN() { return _ATN; } + @Override + public ATN getATN() { + return _ATN; + } - public static final String _serializedATN = - "\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\2D\u0200\b\1\4\2\t"+ - "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ - "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ - "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ - "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ - "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+ - ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+ - "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+ - "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\3\3"+ - "\3\3\4\3\4\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\6\3\6\3\6\3\6\3\6\3\6"+ - "\3\7\3\7\3\7\3\7\3\7\3\7\3\b\3\b\3\b\3\t\3\t\3\n\3\n\3\n\3\n\3\n\3\n\3"+ - "\13\3\13\3\13\3\13\3\13\3\13\3\f\3\f\3\f\3\f\3\f\3\r\3\r\3\r\3\r\3\16"+ - "\3\16\3\16\3\16\3\16\3\17\3\17\3\17\3\17\3\17\3\17\3\20\3\20\3\20\3\20"+ - "\3\20\3\20\3\20\3\21\3\21\3\21\3\21\3\21\3\21\3\22\3\22\3\23\3\23\3\23"+ - "\3\23\3\23\3\23\3\24\3\24\3\24\3\24\3\24\3\25\3\25\3\25\3\26\3\26\3\26"+ - "\3\26\3\27\3\27\3\27\3\27\3\30\3\30\3\30\3\31\3\31\3\31\3\31\3\31\3\31"+ - "\3\31\3\31\3\32\3\32\3\32\3\33\3\33\3\33\3\33\3\33\3\34\3\34\3\34\3\34"+ - "\3\34\3\34\3\34\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\36"+ - "\3\36\3\36\3\36\3\36\3\36\3\36\3\36\3\37\3\37\3\37\3\37\3\37\3\37\3 \3"+ - " \3 \3 \3 \3 \3 \3 \3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3\"\3\"\3\"\3\"\3"+ - "\"\3\"\3\"\3\"\3\"\3#\3#\3#\3#\3#\3$\3$\3$\3$\3$\3$\3%\3%\3%\3%\3%\3%"+ - "\3%\3%\3%\3&\3&\3&\3&\3&\3&\3&\3&\3&\3&\3\'\3\'\3\'\3\'\3\'\3\'\3\'\3"+ - "\'\3\'\3\'\3\'\3(\3(\3(\3(\3(\3(\3(\3(\3(\3(\3(\3(\3)\3)\3)\3)\3)\3)\3"+ - ")\3)\3)\3*\3*\3*\3*\3*\3*\3*\3*\3*\3*\3+\3+\3,\3,\3,\3-\3-\3.\3.\3.\3"+ - "/\3/\3/\3\60\3\60\3\60\3\61\3\61\3\61\3\61\3\62\3\62\3\63\3\63\3\63\3"+ - "\64\3\64\3\64\3\65\3\65\3\65\3\66\3\66\3\66\3\66\3\67\3\67\3\67\38\38"+ - "\38\39\39\39\3:\3:\3:\3:\3;\3;\3;\7;\u01bb\n;\f;\16;\u01be\13;\3<\3<\7"+ - "<\u01c2\n<\f<\16<\u01c5\13<\3=\3=\3=\3=\3=\3=\3=\3=\3=\5=\u01d0\n=\3>"+ - "\5>\u01d3\n>\3>\3>\5>\u01d7\n>\3>\3>\5>\u01db\n>\3?\6?\u01de\n?\r?\16"+ - "?\u01df\3?\3?\7?\u01e4\n?\f?\16?\u01e7\13?\3@\3@\7@\u01eb\n@\f@\16@\u01ee"+ - "\13@\3A\3A\3B\3B\3B\3B\7B\u01f6\nB\fB\16B\u01f9\13B\3B\3B\3C\3C\3C\3C"+ - "\2\2D\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33\17\35"+ - "\20\37\21!\22#\23%\24\'\25)\26+\27-\30/\31\61\32\63\33\65\34\67\359\36"+ - ";\37= ?!A\"C#E$G%I&K\'M(O)Q*S+U,W-Y.[/]\60_\61a\62c\63e\64g\65i\66k\67"+ - "m8o9q:s;u{?}@\177A\u0081B\u0083C\u0085D\3\2\t\5\2C\\aac|\6\2\62;"+ - "C\\aac|\7\2\60\60\62;C\\aac|\3\2\62;\3\2\63;\3\2))\5\2\13\f\17\17\"\""+ - "\u020b\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2"+ - "\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2\2\2\2\23\3\2\2\2\2\25\3\2\2\2\2\27\3"+ - "\2\2\2\2\31\3\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2"+ - "\2#\3\2\2\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2"+ - "/\3\2\2\2\2\61\3\2\2\2\2\63\3\2\2\2\2\65\3\2\2\2\2\67\3\2\2\2\29\3\2\2"+ - "\2\2;\3\2\2\2\2=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2"+ - "G\3\2\2\2\2I\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3"+ - "\2\2\2\2U\3\2\2\2\2W\3\2\2\2\2Y\3\2\2\2\2[\3\2\2\2\2]\3\2\2\2\2_\3\2\2"+ - "\2\2a\3\2\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3\2\2\2\2i\3\2\2\2\2k\3\2\2\2\2"+ - "m\3\2\2\2\2o\3\2\2\2\2q\3\2\2\2\2s\3\2\2\2\2u\3\2\2\2\2w\3\2\2\2\2y\3"+ - "\2\2\2\2{\3\2\2\2\2}\3\2\2\2\2\177\3\2\2\2\2\u0081\3\2\2\2\2\u0083\3\2"+ - "\2\2\2\u0085\3\2\2\2\3\u0087\3\2\2\2\5\u008e\3\2\2\2\7\u0090\3\2\2\2\t"+ - "\u0092\3\2\2\2\13\u009b\3\2\2\2\r\u00a1\3\2\2\2\17\u00a7\3\2\2\2\21\u00aa"+ - "\3\2\2\2\23\u00ac\3\2\2\2\25\u00b2\3\2\2\2\27\u00b8\3\2\2\2\31\u00bd\3"+ - "\2\2\2\33\u00c1\3\2\2\2\35\u00c6\3\2\2\2\37\u00cc\3\2\2\2!\u00d3\3\2\2"+ - "\2#\u00d9\3\2\2\2%\u00db\3\2\2\2\'\u00e1\3\2\2\2)\u00e6\3\2\2\2+\u00e9"+ - "\3\2\2\2-\u00ed\3\2\2\2/\u00f1\3\2\2\2\61\u00f4\3\2\2\2\63\u00fc\3\2\2"+ - "\2\65\u00ff\3\2\2\2\67\u0104\3\2\2\29\u010b\3\2\2\2;\u0115\3\2\2\2=\u011d"+ - "\3\2\2\2?\u0123\3\2\2\2A\u012b\3\2\2\2C\u0136\3\2\2\2E\u013f\3\2\2\2G"+ - "\u0144\3\2\2\2I\u014a\3\2\2\2K\u0153\3\2\2\2M\u015d\3\2\2\2O\u0168\3\2"+ - "\2\2Q\u0174\3\2\2\2S\u017d\3\2\2\2U\u0187\3\2\2\2W\u0189\3\2\2\2Y\u018c"+ - "\3\2\2\2[\u018e\3\2\2\2]\u0191\3\2\2\2_\u0194\3\2\2\2a\u0197\3\2\2\2c"+ - "\u019b\3\2\2\2e\u019d\3\2\2\2g\u01a0\3\2\2\2i\u01a3\3\2\2\2k\u01a6\3\2"+ - "\2\2m\u01aa\3\2\2\2o\u01ad\3\2\2\2q\u01b0\3\2\2\2s\u01b3\3\2\2\2u\u01b7"+ - "\3\2\2\2w\u01bf\3\2\2\2y\u01cf\3\2\2\2{\u01da\3\2\2\2}\u01dd\3\2\2\2\177"+ - "\u01e8\3\2\2\2\u0081\u01ef\3\2\2\2\u0083\u01f1\3\2\2\2\u0085\u01fc\3\2"+ - "\2\2\u0087\u0088\7u\2\2\u0088\u0089\7g\2\2\u0089\u008a\7n\2\2\u008a\u008b"+ - "\7g\2\2\u008b\u008c\7e\2\2\u008c\u008d\7v\2\2\u008d\4\3\2\2\2\u008e\u008f"+ - "\7*\2\2\u008f\6\3\2\2\2\u0090\u0091\7+\2\2\u0091\b\3\2\2\2\u0092\u0093"+ - "\7f\2\2\u0093\u0094\7k\2\2\u0094\u0095\7u\2\2\u0095\u0096\7v\2\2\u0096"+ - "\u0097\7k\2\2\u0097\u0098\7p\2\2\u0098\u0099\7e\2\2\u0099\u009a\7v\2\2"+ - "\u009a\n\3\2\2\2\u009b\u009c\7y\2\2\u009c\u009d\7j\2\2\u009d\u009e\7g"+ - "\2\2\u009e\u009f\7t\2\2\u009f\u00a0\7g\2\2\u00a0\f\3\2\2\2\u00a1\u00a2"+ - "\7q\2\2\u00a2\u00a3\7t\2\2\u00a3\u00a4\7f\2\2\u00a4\u00a5\7g\2\2\u00a5"+ - "\u00a6\7t\2\2\u00a6\16\3\2\2\2\u00a7\u00a8\7d\2\2\u00a8\u00a9\7{\2\2\u00a9"+ - "\20\3\2\2\2\u00aa\u00ab\7.\2\2\u00ab\22\3\2\2\2\u00ac\u00ad\7p\2\2\u00ad"+ - "\u00ae\7w\2\2\u00ae\u00af\7n\2\2\u00af\u00b0\7n\2\2\u00b0\u00b1\7u\2\2"+ - "\u00b1\24\3\2\2\2\u00b2\u00b3\7h\2\2\u00b3\u00b4\7k\2\2\u00b4\u00b5\7"+ - "t\2\2\u00b5\u00b6\7u\2\2\u00b6\u00b7\7v\2\2\u00b7\26\3\2\2\2\u00b8\u00b9"+ - "\7n\2\2\u00b9\u00ba\7c\2\2\u00ba\u00bb\7u\2\2\u00bb\u00bc\7v\2\2\u00bc"+ - "\30\3\2\2\2\u00bd\u00be\7c\2\2\u00be\u00bf\7u\2\2\u00bf\u00c0\7e\2\2\u00c0"+ - "\32\3\2\2\2\u00c1\u00c2\7f\2\2\u00c2\u00c3\7g\2\2\u00c3\u00c4\7u\2\2\u00c4"+ - "\u00c5\7e\2\2\u00c5\34\3\2\2\2\u00c6\u00c7\7n\2\2\u00c7\u00c8\7k\2\2\u00c8"+ - "\u00c9\7o\2\2\u00c9\u00ca\7k\2\2\u00ca\u00cb\7v\2\2\u00cb\36\3\2\2\2\u00cc"+ - "\u00cd\7q\2\2\u00cd\u00ce\7h\2\2\u00ce\u00cf\7h\2\2\u00cf\u00d0\7u\2\2"+ - "\u00d0\u00d1\7g\2\2\u00d1\u00d2\7v\2\2\u00d2 \3\2\2\2\u00d3\u00d4\7h\2"+ - "\2\u00d4\u00d5\7g\2\2\u00d5\u00d6\7v\2\2\u00d6\u00d7\7e\2\2\u00d7\u00d8"+ - "\7j\2\2\u00d8\"\3\2\2\2\u00d9\u00da\7-\2\2\u00da$\3\2\2\2\u00db\u00dc"+ - "\7s\2\2\u00dc\u00dd\7w\2\2\u00dd\u00de\7g\2\2\u00de\u00df\7t\2\2\u00df"+ - "\u00e0\7{\2\2\u00e0&\3\2\2\2\u00e1\u00e2\7n\2\2\u00e2\u00e3\7c\2\2\u00e3"+ - "\u00e4\7|\2\2\u00e4\u00e5\7{\2\2\u00e5(\3\2\2\2\u00e6\u00e7\7q\2\2\u00e7"+ - "\u00e8\7t\2\2\u00e8*\3\2\2\2\u00e9\u00ea\7c\2\2\u00ea\u00eb\7p\2\2\u00eb"+ - "\u00ec\7f\2\2\u00ec,\3\2\2\2\u00ed\u00ee\7p\2\2\u00ee\u00ef\7q\2\2\u00ef"+ - "\u00f0\7v\2\2\u00f0.\3\2\2\2\u00f1\u00f2\7k\2\2\u00f2\u00f3\7p\2\2\u00f3"+ - "\60\3\2\2\2\u00f4\u00f5\7d\2\2\u00f5\u00f6\7g\2\2\u00f6\u00f7\7v\2\2\u00f7"+ - "\u00f8\7y\2\2\u00f8\u00f9\7g\2\2\u00f9\u00fa\7g\2\2\u00fa\u00fb\7p\2\2"+ - "\u00fb\62\3\2\2\2\u00fc\u00fd\7k\2\2\u00fd\u00fe\7u\2\2\u00fe\64\3\2\2"+ - "\2\u00ff\u0100\7p\2\2\u0100\u0101\7w\2\2\u0101\u0102\7n\2\2\u0102\u0103"+ - "\7n\2\2\u0103\66\3\2\2\2\u0104\u0105\7k\2\2\u0105\u0106\7u\2\2\u0106\u0107"+ - "\7P\2\2\u0107\u0108\7w\2\2\u0108\u0109\7n\2\2\u0109\u010a\7n\2\2\u010a"+ - "8\3\2\2\2\u010b\u010c\7k\2\2\u010c\u010d\7u\2\2\u010d\u010e\7P\2\2\u010e"+ - "\u010f\7q\2\2\u010f\u0110\7v\2\2\u0110\u0111\7P\2\2\u0111\u0112\7w\2\2"+ - "\u0112\u0113\7n\2\2\u0113\u0114\7n\2\2\u0114:\3\2\2\2\u0115\u0116\7p\2"+ - "\2\u0116\u0117\7q\2\2\u0117\u0118\7v\2\2\u0118\u0119\7P\2\2\u0119\u011a"+ - "\7w\2\2\u011a\u011b\7n\2\2\u011b\u011c\7n\2\2\u011c<\3\2\2\2\u011d\u011e"+ - "\7g\2\2\u011e\u011f\7o\2\2\u011f\u0120\7r\2\2\u0120\u0121\7v\2\2\u0121"+ - "\u0122\7{\2\2\u0122>\3\2\2\2\u0123\u0124\7k\2\2\u0124\u0125\7u\2\2\u0125"+ - "\u0126\7G\2\2\u0126\u0127\7o\2\2\u0127\u0128\7r\2\2\u0128\u0129\7v\2\2"+ - "\u0129\u012a\7{\2\2\u012a@\3\2\2\2\u012b\u012c\7k\2\2\u012c\u012d\7u\2"+ - "\2\u012d\u012e\7P\2\2\u012e\u012f\7q\2\2\u012f\u0130\7v\2\2\u0130\u0131"+ - "\7G\2\2\u0131\u0132\7o\2\2\u0132\u0133\7r\2\2\u0133\u0134\7v\2\2\u0134"+ - "\u0135\7{\2\2\u0135B\3\2\2\2\u0136\u0137\7p\2\2\u0137\u0138\7q\2\2\u0138"+ - "\u0139\7v\2\2\u0139\u013a\7G\2\2\u013a\u013b\7o\2\2\u013b\u013c\7r\2\2"+ - "\u013c\u013d\7v\2\2\u013d\u013e\7{\2\2\u013eD\3\2\2\2\u013f\u0140\7n\2"+ - "\2\u0140\u0141\7k\2\2\u0141\u0142\7m\2\2\u0142\u0143\7g\2\2\u0143F\3\2"+ - "\2\2\u0144\u0145\7k\2\2\u0145\u0146\7n\2\2\u0146\u0147\7k\2\2\u0147\u0148"+ - "\7m\2\2\u0148\u0149\7g\2\2\u0149H\3\2\2\2\u014a\u014b\7e\2\2\u014b\u014c"+ - "\7q\2\2\u014c\u014d\7p\2\2\u014d\u014e\7v\2\2\u014e\u014f\7c\2\2\u014f"+ - "\u0150\7k\2\2\u0150\u0151\7p\2\2\u0151\u0152\7u\2\2\u0152J\3\2\2\2\u0153"+ - "\u0154\7k\2\2\u0154\u0155\7e\2\2\u0155\u0156\7q\2\2\u0156\u0157\7p\2\2"+ - "\u0157\u0158\7v\2\2\u0158\u0159\7c\2\2\u0159\u015a\7k\2\2\u015a\u015b"+ - "\7p\2\2\u015b\u015c\7u\2\2\u015cL\3\2\2\2\u015d\u015e\7u\2\2\u015e\u015f"+ - "\7v\2\2\u015f\u0160\7c\2\2\u0160\u0161\7t\2\2\u0161\u0162\7v\2\2\u0162"+ - "\u0163\7u\2\2\u0163\u0164\7Y\2\2\u0164\u0165\7k\2\2\u0165\u0166\7v\2\2"+ - "\u0166\u0167\7j\2\2\u0167N\3\2\2\2\u0168\u0169\7k\2\2\u0169\u016a\7u\2"+ - "\2\u016a\u016b\7v\2\2\u016b\u016c\7c\2\2\u016c\u016d\7t\2\2\u016d\u016e"+ - "\7v\2\2\u016e\u016f\7u\2\2\u016f\u0170\7Y\2\2\u0170\u0171\7k\2\2\u0171"+ - "\u0172\7v\2\2\u0172\u0173\7j\2\2\u0173P\3\2\2\2\u0174\u0175\7g\2\2\u0175"+ - "\u0176\7p\2\2\u0176\u0177\7f\2\2\u0177\u0178\7u\2\2\u0178\u0179\7Y\2\2"+ - "\u0179\u017a\7k\2\2\u017a\u017b\7v\2\2\u017b\u017c\7j\2\2\u017cR\3\2\2"+ - "\2\u017d\u017e\7k\2\2\u017e\u017f\7g\2\2\u017f\u0180\7p\2\2\u0180\u0181"+ - "\7f\2\2\u0181\u0182\7u\2\2\u0182\u0183\7Y\2\2\u0183\u0184\7k\2\2\u0184"+ - "\u0185\7v\2\2\u0185\u0186\7j\2\2\u0186T\3\2\2\2\u0187\u0188\7?\2\2\u0188"+ - "V\3\2\2\2\u0189\u018a\7g\2\2\u018a\u018b\7s\2\2\u018bX\3\2\2\2\u018c\u018d"+ - "\7@\2\2\u018dZ\3\2\2\2\u018e\u018f\7i\2\2\u018f\u0190\7v\2\2\u0190\\\3"+ - "\2\2\2\u0191\u0192\7@\2\2\u0192\u0193\7?\2\2\u0193^\3\2\2\2\u0194\u0195"+ - "\7i\2\2\u0195\u0196\7g\2\2\u0196`\3\2\2\2\u0197\u0198\7i\2\2\u0198\u0199"+ - "\7v\2\2\u0199\u019a\7g\2\2\u019ab\3\2\2\2\u019b\u019c\7>\2\2\u019cd\3"+ - "\2\2\2\u019d\u019e\7n\2\2\u019e\u019f\7v\2\2\u019ff\3\2\2\2\u01a0\u01a1"+ - "\7>\2\2\u01a1\u01a2\7?\2\2\u01a2h\3\2\2\2\u01a3\u01a4\7n\2\2\u01a4\u01a5"+ - "\7g\2\2\u01a5j\3\2\2\2\u01a6\u01a7\7n\2\2\u01a7\u01a8\7v\2\2\u01a8\u01a9"+ - "\7g\2\2\u01a9l\3\2\2\2\u01aa\u01ab\7>\2\2\u01ab\u01ac\7@\2\2\u01acn\3"+ - "\2\2\2\u01ad\u01ae\7#\2\2\u01ae\u01af\7?\2\2\u01afp\3\2\2\2\u01b0\u01b1"+ - "\7p\2\2\u01b1\u01b2\7g\2\2\u01b2r\3\2\2\2\u01b3\u01b4\7k\2\2\u01b4\u01b5"+ - "\7g\2\2\u01b5\u01b6\7s\2\2\u01b6t\3\2\2\2\u01b7\u01b8\7<\2\2\u01b8\u01bc"+ - "\t\2\2\2\u01b9\u01bb\t\3\2\2\u01ba\u01b9\3\2\2\2\u01bb\u01be\3\2\2\2\u01bc"+ - "\u01ba\3\2\2\2\u01bc\u01bd\3\2\2\2\u01bdv\3\2\2\2\u01be\u01bc\3\2\2\2"+ - "\u01bf\u01c3\t\2\2\2\u01c0\u01c2\t\4\2\2\u01c1\u01c0\3\2\2\2\u01c2\u01c5"+ - "\3\2\2\2\u01c3\u01c1\3\2\2\2\u01c3\u01c4\3\2\2\2\u01c4x\3\2\2\2\u01c5"+ - "\u01c3\3\2\2\2\u01c6\u01c7\7v\2\2\u01c7\u01c8\7t\2\2\u01c8\u01c9\7w\2"+ - "\2\u01c9\u01d0\7g\2\2\u01ca\u01cb\7h\2\2\u01cb\u01cc\7c\2\2\u01cc\u01cd"+ - "\7n\2\2\u01cd\u01ce\7u\2\2\u01ce\u01d0\7g\2\2\u01cf\u01c6\3\2\2\2\u01cf"+ - "\u01ca\3\2\2\2\u01d0z\3\2\2\2\u01d1\u01d3\7/\2\2\u01d2\u01d1\3\2\2\2\u01d2"+ - "\u01d3\3\2\2\2\u01d3\u01d4\3\2\2\2\u01d4\u01db\5}?\2\u01d5\u01d7\7/\2"+ - "\2\u01d6\u01d5\3\2\2\2\u01d6\u01d7\3\2\2\2\u01d7\u01d8\3\2\2\2\u01d8\u01db"+ - "\5\177@\2\u01d9\u01db\5\u0081A\2\u01da\u01d2\3\2\2\2\u01da\u01d6\3\2\2"+ - "\2\u01da\u01d9\3\2\2\2\u01db|\3\2\2\2\u01dc\u01de\t\5\2\2\u01dd\u01dc"+ - "\3\2\2\2\u01de\u01df\3\2\2\2\u01df\u01dd\3\2\2\2\u01df\u01e0\3\2\2\2\u01e0"+ - "\u01e1\3\2\2\2\u01e1\u01e5\7\60\2\2\u01e2\u01e4\t\5\2\2\u01e3\u01e2\3"+ - "\2\2\2\u01e4\u01e7\3\2\2\2\u01e5\u01e3\3\2\2\2\u01e5\u01e6\3\2\2\2\u01e6"+ - "~\3\2\2\2\u01e7\u01e5\3\2\2\2\u01e8\u01ec\t\6\2\2\u01e9\u01eb\t\5\2\2"+ - "\u01ea\u01e9\3\2\2\2\u01eb\u01ee\3\2\2\2\u01ec\u01ea\3\2\2\2\u01ec\u01ed"+ - "\3\2\2\2\u01ed\u0080\3\2\2\2\u01ee\u01ec\3\2\2\2\u01ef\u01f0\7\62\2\2"+ - "\u01f0\u0082\3\2\2\2\u01f1\u01f7\7)\2\2\u01f2\u01f6\n\7\2\2\u01f3\u01f4"+ - "\7)\2\2\u01f4\u01f6\7)\2\2\u01f5\u01f2\3\2\2\2\u01f5\u01f3\3\2\2\2\u01f6"+ - "\u01f9\3\2\2\2\u01f7\u01f5\3\2\2\2\u01f7\u01f8\3\2\2\2\u01f8\u01fa\3\2"+ - "\2\2\u01f9\u01f7\3\2\2\2\u01fa\u01fb\7)\2\2\u01fb\u0084\3\2\2\2\u01fc"+ - "\u01fd\t\b\2\2\u01fd\u01fe\3\2\2\2\u01fe\u01ff\bC\2\2\u01ff\u0086\3\2"+ - "\2\2\16\2\u01bc\u01c3\u01cf\u01d2\u01d6\u01da\u01df\u01e5\u01ec\u01f5"+ - "\u01f7\3\b\2\2"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file + public static final String _serializedATN = + "\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\2D\u0200\b\1\4\2\t" + + "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13" + + "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22" + + "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31" + + "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!" + + "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4" + + ",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t" + + "\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t=" + + "\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\3\3" + + "\3\3\4\3\4\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\6\3\6\3\6\3\6\3\6\3\6" + + "\3\7\3\7\3\7\3\7\3\7\3\7\3\b\3\b\3\b\3\t\3\t\3\n\3\n\3\n\3\n\3\n\3\n\3" + + "\13\3\13\3\13\3\13\3\13\3\13\3\f\3\f\3\f\3\f\3\f\3\r\3\r\3\r\3\r\3\16" + + "\3\16\3\16\3\16\3\16\3\17\3\17\3\17\3\17\3\17\3\17\3\20\3\20\3\20\3\20" + + "\3\20\3\20\3\20\3\21\3\21\3\21\3\21\3\21\3\21\3\22\3\22\3\23\3\23\3\23" + + "\3\23\3\23\3\23\3\24\3\24\3\24\3\24\3\24\3\25\3\25\3\25\3\26\3\26\3\26" + + "\3\26\3\27\3\27\3\27\3\27\3\30\3\30\3\30\3\31\3\31\3\31\3\31\3\31\3\31" + + "\3\31\3\31\3\32\3\32\3\32\3\33\3\33\3\33\3\33\3\33\3\34\3\34\3\34\3\34" + + "\3\34\3\34\3\34\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\35\3\36" + + "\3\36\3\36\3\36\3\36\3\36\3\36\3\36\3\37\3\37\3\37\3\37\3\37\3\37\3 \3" + + " \3 \3 \3 \3 \3 \3 \3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3!\3\"\3\"\3\"\3\"\3" + + "\"\3\"\3\"\3\"\3\"\3#\3#\3#\3#\3#\3$\3$\3$\3$\3$\3$\3%\3%\3%\3%\3%\3%" + + "\3%\3%\3%\3&\3&\3&\3&\3&\3&\3&\3&\3&\3&\3\'\3\'\3\'\3\'\3\'\3\'\3\'\3" + + "\'\3\'\3\'\3\'\3(\3(\3(\3(\3(\3(\3(\3(\3(\3(\3(\3(\3)\3)\3)\3)\3)\3)\3" + + ")\3)\3)\3*\3*\3*\3*\3*\3*\3*\3*\3*\3*\3+\3+\3,\3,\3,\3-\3-\3.\3.\3.\3" + + "/\3/\3/\3\60\3\60\3\60\3\61\3\61\3\61\3\61\3\62\3\62\3\63\3\63\3\63\3" + + "\64\3\64\3\64\3\65\3\65\3\65\3\66\3\66\3\66\3\66\3\67\3\67\3\67\38\38" + + "\38\39\39\39\3:\3:\3:\3:\3;\3;\3;\7;\u01bb\n;\f;\16;\u01be\13;\3<\3<\7" + + "<\u01c2\n<\f<\16<\u01c5\13<\3=\3=\3=\3=\3=\3=\3=\3=\3=\5=\u01d0\n=\3>" + + "\5>\u01d3\n>\3>\3>\5>\u01d7\n>\3>\3>\5>\u01db\n>\3?\6?\u01de\n?\r?\16" + + "?\u01df\3?\3?\7?\u01e4\n?\f?\16?\u01e7\13?\3@\3@\7@\u01eb\n@\f@\16@\u01ee" + + "\13@\3A\3A\3B\3B\3B\3B\7B\u01f6\nB\fB\16B\u01f9\13B\3B\3B\3C\3C\3C\3C" + + "\2\2D\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33\17\35" + + "\20\37\21!\22#\23%\24\'\25)\26+\27-\30/\31\61\32\63\33\65\34\67\359\36" + + ";\37= ?!A\"C#E$G%I&K\'M(O)Q*S+U,W-Y.[/]\60_\61a\62c\63e\64g\65i\66k\67" + + "m8o9q:s;u{?}@\177A\u0081B\u0083C\u0085D\3\2\t\5\2C\\aac|\6\2\62;" + + "C\\aac|\7\2\60\60\62;C\\aac|\3\2\62;\3\2\63;\3\2))\5\2\13\f\17\17\"\"" + + "\u020b\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2" + + "\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2\2\2\2\23\3\2\2\2\2\25\3\2\2\2\2\27\3" + + "\2\2\2\2\31\3\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2" + + "\2#\3\2\2\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2" + + "/\3\2\2\2\2\61\3\2\2\2\2\63\3\2\2\2\2\65\3\2\2\2\2\67\3\2\2\2\29\3\2\2" + + "\2\2;\3\2\2\2\2=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2" + + "G\3\2\2\2\2I\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3" + + "\2\2\2\2U\3\2\2\2\2W\3\2\2\2\2Y\3\2\2\2\2[\3\2\2\2\2]\3\2\2\2\2_\3\2\2" + + "\2\2a\3\2\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3\2\2\2\2i\3\2\2\2\2k\3\2\2\2\2" + + "m\3\2\2\2\2o\3\2\2\2\2q\3\2\2\2\2s\3\2\2\2\2u\3\2\2\2\2w\3\2\2\2\2y\3" + + "\2\2\2\2{\3\2\2\2\2}\3\2\2\2\2\177\3\2\2\2\2\u0081\3\2\2\2\2\u0083\3\2" + + "\2\2\2\u0085\3\2\2\2\3\u0087\3\2\2\2\5\u008e\3\2\2\2\7\u0090\3\2\2\2\t" + + "\u0092\3\2\2\2\13\u009b\3\2\2\2\r\u00a1\3\2\2\2\17\u00a7\3\2\2\2\21\u00aa" + + "\3\2\2\2\23\u00ac\3\2\2\2\25\u00b2\3\2\2\2\27\u00b8\3\2\2\2\31\u00bd\3" + + "\2\2\2\33\u00c1\3\2\2\2\35\u00c6\3\2\2\2\37\u00cc\3\2\2\2!\u00d3\3\2\2" + + "\2#\u00d9\3\2\2\2%\u00db\3\2\2\2\'\u00e1\3\2\2\2)\u00e6\3\2\2\2+\u00e9" + + "\3\2\2\2-\u00ed\3\2\2\2/\u00f1\3\2\2\2\61\u00f4\3\2\2\2\63\u00fc\3\2\2" + + "\2\65\u00ff\3\2\2\2\67\u0104\3\2\2\29\u010b\3\2\2\2;\u0115\3\2\2\2=\u011d" + + "\3\2\2\2?\u0123\3\2\2\2A\u012b\3\2\2\2C\u0136\3\2\2\2E\u013f\3\2\2\2G" + + "\u0144\3\2\2\2I\u014a\3\2\2\2K\u0153\3\2\2\2M\u015d\3\2\2\2O\u0168\3\2" + + "\2\2Q\u0174\3\2\2\2S\u017d\3\2\2\2U\u0187\3\2\2\2W\u0189\3\2\2\2Y\u018c" + + "\3\2\2\2[\u018e\3\2\2\2]\u0191\3\2\2\2_\u0194\3\2\2\2a\u0197\3\2\2\2c" + + "\u019b\3\2\2\2e\u019d\3\2\2\2g\u01a0\3\2\2\2i\u01a3\3\2\2\2k\u01a6\3\2" + + "\2\2m\u01aa\3\2\2\2o\u01ad\3\2\2\2q\u01b0\3\2\2\2s\u01b3\3\2\2\2u\u01b7" + + "\3\2\2\2w\u01bf\3\2\2\2y\u01cf\3\2\2\2{\u01da\3\2\2\2}\u01dd\3\2\2\2\177" + + "\u01e8\3\2\2\2\u0081\u01ef\3\2\2\2\u0083\u01f1\3\2\2\2\u0085\u01fc\3\2" + + "\2\2\u0087\u0088\7u\2\2\u0088\u0089\7g\2\2\u0089\u008a\7n\2\2\u008a\u008b" + + "\7g\2\2\u008b\u008c\7e\2\2\u008c\u008d\7v\2\2\u008d\4\3\2\2\2\u008e\u008f" + + "\7*\2\2\u008f\6\3\2\2\2\u0090\u0091\7+\2\2\u0091\b\3\2\2\2\u0092\u0093" + + "\7f\2\2\u0093\u0094\7k\2\2\u0094\u0095\7u\2\2\u0095\u0096\7v\2\2\u0096" + + "\u0097\7k\2\2\u0097\u0098\7p\2\2\u0098\u0099\7e\2\2\u0099\u009a\7v\2\2" + + "\u009a\n\3\2\2\2\u009b\u009c\7y\2\2\u009c\u009d\7j\2\2\u009d\u009e\7g" + + "\2\2\u009e\u009f\7t\2\2\u009f\u00a0\7g\2\2\u00a0\f\3\2\2\2\u00a1\u00a2" + + "\7q\2\2\u00a2\u00a3\7t\2\2\u00a3\u00a4\7f\2\2\u00a4\u00a5\7g\2\2\u00a5" + + "\u00a6\7t\2\2\u00a6\16\3\2\2\2\u00a7\u00a8\7d\2\2\u00a8\u00a9\7{\2\2\u00a9" + + "\20\3\2\2\2\u00aa\u00ab\7.\2\2\u00ab\22\3\2\2\2\u00ac\u00ad\7p\2\2\u00ad" + + "\u00ae\7w\2\2\u00ae\u00af\7n\2\2\u00af\u00b0\7n\2\2\u00b0\u00b1\7u\2\2" + + "\u00b1\24\3\2\2\2\u00b2\u00b3\7h\2\2\u00b3\u00b4\7k\2\2\u00b4\u00b5\7" + + "t\2\2\u00b5\u00b6\7u\2\2\u00b6\u00b7\7v\2\2\u00b7\26\3\2\2\2\u00b8\u00b9" + + "\7n\2\2\u00b9\u00ba\7c\2\2\u00ba\u00bb\7u\2\2\u00bb\u00bc\7v\2\2\u00bc" + + "\30\3\2\2\2\u00bd\u00be\7c\2\2\u00be\u00bf\7u\2\2\u00bf\u00c0\7e\2\2\u00c0" + + "\32\3\2\2\2\u00c1\u00c2\7f\2\2\u00c2\u00c3\7g\2\2\u00c3\u00c4\7u\2\2\u00c4" + + "\u00c5\7e\2\2\u00c5\34\3\2\2\2\u00c6\u00c7\7n\2\2\u00c7\u00c8\7k\2\2\u00c8" + + "\u00c9\7o\2\2\u00c9\u00ca\7k\2\2\u00ca\u00cb\7v\2\2\u00cb\36\3\2\2\2\u00cc" + + "\u00cd\7q\2\2\u00cd\u00ce\7h\2\2\u00ce\u00cf\7h\2\2\u00cf\u00d0\7u\2\2" + + "\u00d0\u00d1\7g\2\2\u00d1\u00d2\7v\2\2\u00d2 \3\2\2\2\u00d3\u00d4\7h\2" + + "\2\u00d4\u00d5\7g\2\2\u00d5\u00d6\7v\2\2\u00d6\u00d7\7e\2\2\u00d7\u00d8" + + "\7j\2\2\u00d8\"\3\2\2\2\u00d9\u00da\7-\2\2\u00da$\3\2\2\2\u00db\u00dc" + + "\7s\2\2\u00dc\u00dd\7w\2\2\u00dd\u00de\7g\2\2\u00de\u00df\7t\2\2\u00df" + + "\u00e0\7{\2\2\u00e0&\3\2\2\2\u00e1\u00e2\7n\2\2\u00e2\u00e3\7c\2\2\u00e3" + + "\u00e4\7|\2\2\u00e4\u00e5\7{\2\2\u00e5(\3\2\2\2\u00e6\u00e7\7q\2\2\u00e7" + + "\u00e8\7t\2\2\u00e8*\3\2\2\2\u00e9\u00ea\7c\2\2\u00ea\u00eb\7p\2\2\u00eb" + + "\u00ec\7f\2\2\u00ec,\3\2\2\2\u00ed\u00ee\7p\2\2\u00ee\u00ef\7q\2\2\u00ef" + + "\u00f0\7v\2\2\u00f0.\3\2\2\2\u00f1\u00f2\7k\2\2\u00f2\u00f3\7p\2\2\u00f3" + + "\60\3\2\2\2\u00f4\u00f5\7d\2\2\u00f5\u00f6\7g\2\2\u00f6\u00f7\7v\2\2\u00f7" + + "\u00f8\7y\2\2\u00f8\u00f9\7g\2\2\u00f9\u00fa\7g\2\2\u00fa\u00fb\7p\2\2" + + "\u00fb\62\3\2\2\2\u00fc\u00fd\7k\2\2\u00fd\u00fe\7u\2\2\u00fe\64\3\2\2" + + "\2\u00ff\u0100\7p\2\2\u0100\u0101\7w\2\2\u0101\u0102\7n\2\2\u0102\u0103" + + "\7n\2\2\u0103\66\3\2\2\2\u0104\u0105\7k\2\2\u0105\u0106\7u\2\2\u0106\u0107" + + "\7P\2\2\u0107\u0108\7w\2\2\u0108\u0109\7n\2\2\u0109\u010a\7n\2\2\u010a" + + "8\3\2\2\2\u010b\u010c\7k\2\2\u010c\u010d\7u\2\2\u010d\u010e\7P\2\2\u010e" + + "\u010f\7q\2\2\u010f\u0110\7v\2\2\u0110\u0111\7P\2\2\u0111\u0112\7w\2\2" + + "\u0112\u0113\7n\2\2\u0113\u0114\7n\2\2\u0114:\3\2\2\2\u0115\u0116\7p\2" + + "\2\u0116\u0117\7q\2\2\u0117\u0118\7v\2\2\u0118\u0119\7P\2\2\u0119\u011a" + + "\7w\2\2\u011a\u011b\7n\2\2\u011b\u011c\7n\2\2\u011c<\3\2\2\2\u011d\u011e" + + "\7g\2\2\u011e\u011f\7o\2\2\u011f\u0120\7r\2\2\u0120\u0121\7v\2\2\u0121" + + "\u0122\7{\2\2\u0122>\3\2\2\2\u0123\u0124\7k\2\2\u0124\u0125\7u\2\2\u0125" + + "\u0126\7G\2\2\u0126\u0127\7o\2\2\u0127\u0128\7r\2\2\u0128\u0129\7v\2\2" + + "\u0129\u012a\7{\2\2\u012a@\3\2\2\2\u012b\u012c\7k\2\2\u012c\u012d\7u\2" + + "\2\u012d\u012e\7P\2\2\u012e\u012f\7q\2\2\u012f\u0130\7v\2\2\u0130\u0131" + + "\7G\2\2\u0131\u0132\7o\2\2\u0132\u0133\7r\2\2\u0133\u0134\7v\2\2\u0134" + + "\u0135\7{\2\2\u0135B\3\2\2\2\u0136\u0137\7p\2\2\u0137\u0138\7q\2\2\u0138" + + "\u0139\7v\2\2\u0139\u013a\7G\2\2\u013a\u013b\7o\2\2\u013b\u013c\7r\2\2" + + "\u013c\u013d\7v\2\2\u013d\u013e\7{\2\2\u013eD\3\2\2\2\u013f\u0140\7n\2" + + "\2\u0140\u0141\7k\2\2\u0141\u0142\7m\2\2\u0142\u0143\7g\2\2\u0143F\3\2" + + "\2\2\u0144\u0145\7k\2\2\u0145\u0146\7n\2\2\u0146\u0147\7k\2\2\u0147\u0148" + + "\7m\2\2\u0148\u0149\7g\2\2\u0149H\3\2\2\2\u014a\u014b\7e\2\2\u014b\u014c" + + "\7q\2\2\u014c\u014d\7p\2\2\u014d\u014e\7v\2\2\u014e\u014f\7c\2\2\u014f" + + "\u0150\7k\2\2\u0150\u0151\7p\2\2\u0151\u0152\7u\2\2\u0152J\3\2\2\2\u0153" + + "\u0154\7k\2\2\u0154\u0155\7e\2\2\u0155\u0156\7q\2\2\u0156\u0157\7p\2\2" + + "\u0157\u0158\7v\2\2\u0158\u0159\7c\2\2\u0159\u015a\7k\2\2\u015a\u015b" + + "\7p\2\2\u015b\u015c\7u\2\2\u015cL\3\2\2\2\u015d\u015e\7u\2\2\u015e\u015f" + + "\7v\2\2\u015f\u0160\7c\2\2\u0160\u0161\7t\2\2\u0161\u0162\7v\2\2\u0162" + + "\u0163\7u\2\2\u0163\u0164\7Y\2\2\u0164\u0165\7k\2\2\u0165\u0166\7v\2\2" + + "\u0166\u0167\7j\2\2\u0167N\3\2\2\2\u0168\u0169\7k\2\2\u0169\u016a\7u\2" + + "\2\u016a\u016b\7v\2\2\u016b\u016c\7c\2\2\u016c\u016d\7t\2\2\u016d\u016e" + + "\7v\2\2\u016e\u016f\7u\2\2\u016f\u0170\7Y\2\2\u0170\u0171\7k\2\2\u0171" + + "\u0172\7v\2\2\u0172\u0173\7j\2\2\u0173P\3\2\2\2\u0174\u0175\7g\2\2\u0175" + + "\u0176\7p\2\2\u0176\u0177\7f\2\2\u0177\u0178\7u\2\2\u0178\u0179\7Y\2\2" + + "\u0179\u017a\7k\2\2\u017a\u017b\7v\2\2\u017b\u017c\7j\2\2\u017cR\3\2\2" + + "\2\u017d\u017e\7k\2\2\u017e\u017f\7g\2\2\u017f\u0180\7p\2\2\u0180\u0181" + + "\7f\2\2\u0181\u0182\7u\2\2\u0182\u0183\7Y\2\2\u0183\u0184\7k\2\2\u0184" + + "\u0185\7v\2\2\u0185\u0186\7j\2\2\u0186T\3\2\2\2\u0187\u0188\7?\2\2\u0188" + + "V\3\2\2\2\u0189\u018a\7g\2\2\u018a\u018b\7s\2\2\u018bX\3\2\2\2\u018c\u018d" + + "\7@\2\2\u018dZ\3\2\2\2\u018e\u018f\7i\2\2\u018f\u0190\7v\2\2\u0190\\\3" + + "\2\2\2\u0191\u0192\7@\2\2\u0192\u0193\7?\2\2\u0193^\3\2\2\2\u0194\u0195" + + "\7i\2\2\u0195\u0196\7g\2\2\u0196`\3\2\2\2\u0197\u0198\7i\2\2\u0198\u0199" + + "\7v\2\2\u0199\u019a\7g\2\2\u019ab\3\2\2\2\u019b\u019c\7>\2\2\u019cd\3" + + "\2\2\2\u019d\u019e\7n\2\2\u019e\u019f\7v\2\2\u019ff\3\2\2\2\u01a0\u01a1" + + "\7>\2\2\u01a1\u01a2\7?\2\2\u01a2h\3\2\2\2\u01a3\u01a4\7n\2\2\u01a4\u01a5" + + "\7g\2\2\u01a5j\3\2\2\2\u01a6\u01a7\7n\2\2\u01a7\u01a8\7v\2\2\u01a8\u01a9" + + "\7g\2\2\u01a9l\3\2\2\2\u01aa\u01ab\7>\2\2\u01ab\u01ac\7@\2\2\u01acn\3" + + "\2\2\2\u01ad\u01ae\7#\2\2\u01ae\u01af\7?\2\2\u01afp\3\2\2\2\u01b0\u01b1" + + "\7p\2\2\u01b1\u01b2\7g\2\2\u01b2r\3\2\2\2\u01b3\u01b4\7k\2\2\u01b4\u01b5" + + "\7g\2\2\u01b5\u01b6\7s\2\2\u01b6t\3\2\2\2\u01b7\u01b8\7<\2\2\u01b8\u01bc" + + "\t\2\2\2\u01b9\u01bb\t\3\2\2\u01ba\u01b9\3\2\2\2\u01bb\u01be\3\2\2\2\u01bc" + + "\u01ba\3\2\2\2\u01bc\u01bd\3\2\2\2\u01bdv\3\2\2\2\u01be\u01bc\3\2\2\2" + + "\u01bf\u01c3\t\2\2\2\u01c0\u01c2\t\4\2\2\u01c1\u01c0\3\2\2\2\u01c2\u01c5" + + "\3\2\2\2\u01c3\u01c1\3\2\2\2\u01c3\u01c4\3\2\2\2\u01c4x\3\2\2\2\u01c5" + + "\u01c3\3\2\2\2\u01c6\u01c7\7v\2\2\u01c7\u01c8\7t\2\2\u01c8\u01c9\7w\2" + + "\2\u01c9\u01d0\7g\2\2\u01ca\u01cb\7h\2\2\u01cb\u01cc\7c\2\2\u01cc\u01cd" + + "\7n\2\2\u01cd\u01ce\7u\2\2\u01ce\u01d0\7g\2\2\u01cf\u01c6\3\2\2\2\u01cf" + + "\u01ca\3\2\2\2\u01d0z\3\2\2\2\u01d1\u01d3\7/\2\2\u01d2\u01d1\3\2\2\2\u01d2" + + "\u01d3\3\2\2\2\u01d3\u01d4\3\2\2\2\u01d4\u01db\5}?\2\u01d5\u01d7\7/\2" + + "\2\u01d6\u01d5\3\2\2\2\u01d6\u01d7\3\2\2\2\u01d7\u01d8\3\2\2\2\u01d8\u01db" + + "\5\177@\2\u01d9\u01db\5\u0081A\2\u01da\u01d2\3\2\2\2\u01da\u01d6\3\2\2" + + "\2\u01da\u01d9\3\2\2\2\u01db|\3\2\2\2\u01dc\u01de\t\5\2\2\u01dd\u01dc" + + "\3\2\2\2\u01de\u01df\3\2\2\2\u01df\u01dd\3\2\2\2\u01df\u01e0\3\2\2\2\u01e0" + + "\u01e1\3\2\2\2\u01e1\u01e5\7\60\2\2\u01e2\u01e4\t\5\2\2\u01e3\u01e2\3" + + "\2\2\2\u01e4\u01e7\3\2\2\2\u01e5\u01e3\3\2\2\2\u01e5\u01e6\3\2\2\2\u01e6" + + "~\3\2\2\2\u01e7\u01e5\3\2\2\2\u01e8\u01ec\t\6\2\2\u01e9\u01eb\t\5\2\2" + + "\u01ea\u01e9\3\2\2\2\u01eb\u01ee\3\2\2\2\u01ec\u01ea\3\2\2\2\u01ec\u01ed" + + "\3\2\2\2\u01ed\u0080\3\2\2\2\u01ee\u01ec\3\2\2\2\u01ef\u01f0\7\62\2\2" + + "\u01f0\u0082\3\2\2\2\u01f1\u01f7\7)\2\2\u01f2\u01f6\n\7\2\2\u01f3\u01f4" + + "\7)\2\2\u01f4\u01f6\7)\2\2\u01f5\u01f2\3\2\2\2\u01f5\u01f3\3\2\2\2\u01f6" + + "\u01f9\3\2\2\2\u01f7\u01f5\3\2\2\2\u01f7\u01f8\3\2\2\2\u01f8\u01fa\3\2" + + "\2\2\u01f9\u01f7\3\2\2\2\u01fa\u01fb\7)\2\2\u01fb\u0084\3\2\2\2\u01fc" + + "\u01fd\t\b\2\2\u01fd\u01fe\3\2\2\2\u01fe\u01ff\bC\2\2\u01ff\u0086\3\2" + + "\2\2\16\2\u01bc\u01c3\u01cf\u01d2\u01d6\u01da\u01df\u01e5\u01ec\u01f5" + + "\u01f7\3\b\2\2"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} diff --git a/src/main/java/com/avaje/ebeaninternal/server/grammer/antlr/EQLListener.java b/src/main/java/com/avaje/ebeaninternal/server/grammer/antlr/EQLListener.java index 8a340bf8a..3a6e3d4ec 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/grammer/antlr/EQLListener.java +++ b/src/main/java/com/avaje/ebeaninternal/server/grammer/antlr/EQLListener.java @@ -1,5 +1,6 @@ // Generated from /home/rob/github/ebean/src/test/resources/EQL.g4 by ANTLR 4.5.3 package com.avaje.ebeaninternal.server.grammer.antlr; + import org.antlr.v4.runtime.tree.ParseTreeListener; /** @@ -7,404 +8,563 @@ import org.antlr.v4.runtime.tree.ParseTreeListener; * {@link EQLParser}. */ public interface EQLListener extends ParseTreeListener { - /** - * Enter a parse tree produced by {@link EQLParser#select_statement}. - * @param ctx the parse tree - */ - void enterSelect_statement(EQLParser.Select_statementContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#select_statement}. - * @param ctx the parse tree - */ - void exitSelect_statement(EQLParser.Select_statementContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#select_clause}. - * @param ctx the parse tree - */ - void enterSelect_clause(EQLParser.Select_clauseContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#select_clause}. - * @param ctx the parse tree - */ - void exitSelect_clause(EQLParser.Select_clauseContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#distinct}. - * @param ctx the parse tree - */ - void enterDistinct(EQLParser.DistinctContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#distinct}. - * @param ctx the parse tree - */ - void exitDistinct(EQLParser.DistinctContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#fetch_clause}. - * @param ctx the parse tree - */ - void enterFetch_clause(EQLParser.Fetch_clauseContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#fetch_clause}. - * @param ctx the parse tree - */ - void exitFetch_clause(EQLParser.Fetch_clauseContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#where_clause}. - * @param ctx the parse tree - */ - void enterWhere_clause(EQLParser.Where_clauseContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#where_clause}. - * @param ctx the parse tree - */ - void exitWhere_clause(EQLParser.Where_clauseContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#orderby_clause}. - * @param ctx the parse tree - */ - void enterOrderby_clause(EQLParser.Orderby_clauseContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#orderby_clause}. - * @param ctx the parse tree - */ - void exitOrderby_clause(EQLParser.Orderby_clauseContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#orderby_property}. - * @param ctx the parse tree - */ - void enterOrderby_property(EQLParser.Orderby_propertyContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#orderby_property}. - * @param ctx the parse tree - */ - void exitOrderby_property(EQLParser.Orderby_propertyContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#nulls_firstlast}. - * @param ctx the parse tree - */ - void enterNulls_firstlast(EQLParser.Nulls_firstlastContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#nulls_firstlast}. - * @param ctx the parse tree - */ - void exitNulls_firstlast(EQLParser.Nulls_firstlastContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#asc_desc}. - * @param ctx the parse tree - */ - void enterAsc_desc(EQLParser.Asc_descContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#asc_desc}. - * @param ctx the parse tree - */ - void exitAsc_desc(EQLParser.Asc_descContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#limit_clause}. - * @param ctx the parse tree - */ - void enterLimit_clause(EQLParser.Limit_clauseContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#limit_clause}. - * @param ctx the parse tree - */ - void exitLimit_clause(EQLParser.Limit_clauseContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#offset_clause}. - * @param ctx the parse tree - */ - void enterOffset_clause(EQLParser.Offset_clauseContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#offset_clause}. - * @param ctx the parse tree - */ - void exitOffset_clause(EQLParser.Offset_clauseContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#fetch_path}. - * @param ctx the parse tree - */ - void enterFetch_path(EQLParser.Fetch_pathContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#fetch_path}. - * @param ctx the parse tree - */ - void exitFetch_path(EQLParser.Fetch_pathContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#fetch_property_set}. - * @param ctx the parse tree - */ - void enterFetch_property_set(EQLParser.Fetch_property_setContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#fetch_property_set}. - * @param ctx the parse tree - */ - void exitFetch_property_set(EQLParser.Fetch_property_setContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#fetch_property_group}. - * @param ctx the parse tree - */ - void enterFetch_property_group(EQLParser.Fetch_property_groupContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#fetch_property_group}. - * @param ctx the parse tree - */ - void exitFetch_property_group(EQLParser.Fetch_property_groupContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#fetch_property}. - * @param ctx the parse tree - */ - void enterFetch_property(EQLParser.Fetch_propertyContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#fetch_property}. - * @param ctx the parse tree - */ - void exitFetch_property(EQLParser.Fetch_propertyContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#fetch_query_hint}. - * @param ctx the parse tree - */ - void enterFetch_query_hint(EQLParser.Fetch_query_hintContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#fetch_query_hint}. - * @param ctx the parse tree - */ - void exitFetch_query_hint(EQLParser.Fetch_query_hintContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#fetch_lazy_hint}. - * @param ctx the parse tree - */ - void enterFetch_lazy_hint(EQLParser.Fetch_lazy_hintContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#fetch_lazy_hint}. - * @param ctx the parse tree - */ - void exitFetch_lazy_hint(EQLParser.Fetch_lazy_hintContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#fetch_option}. - * @param ctx the parse tree - */ - void enterFetch_option(EQLParser.Fetch_optionContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#fetch_option}. - * @param ctx the parse tree - */ - void exitFetch_option(EQLParser.Fetch_optionContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#fetch_query_option}. - * @param ctx the parse tree - */ - void enterFetch_query_option(EQLParser.Fetch_query_optionContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#fetch_query_option}. - * @param ctx the parse tree - */ - void exitFetch_query_option(EQLParser.Fetch_query_optionContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#fetch_lazy_option}. - * @param ctx the parse tree - */ - void enterFetch_lazy_option(EQLParser.Fetch_lazy_optionContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#fetch_lazy_option}. - * @param ctx the parse tree - */ - void exitFetch_lazy_option(EQLParser.Fetch_lazy_optionContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#fetch_batch_size}. - * @param ctx the parse tree - */ - void enterFetch_batch_size(EQLParser.Fetch_batch_sizeContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#fetch_batch_size}. - * @param ctx the parse tree - */ - void exitFetch_batch_size(EQLParser.Fetch_batch_sizeContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#conditional_expression}. - * @param ctx the parse tree - */ - void enterConditional_expression(EQLParser.Conditional_expressionContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#conditional_expression}. - * @param ctx the parse tree - */ - void exitConditional_expression(EQLParser.Conditional_expressionContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#conditional_term}. - * @param ctx the parse tree - */ - void enterConditional_term(EQLParser.Conditional_termContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#conditional_term}. - * @param ctx the parse tree - */ - void exitConditional_term(EQLParser.Conditional_termContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#conditional_factor}. - * @param ctx the parse tree - */ - void enterConditional_factor(EQLParser.Conditional_factorContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#conditional_factor}. - * @param ctx the parse tree - */ - void exitConditional_factor(EQLParser.Conditional_factorContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#conditional_primary}. - * @param ctx the parse tree - */ - void enterConditional_primary(EQLParser.Conditional_primaryContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#conditional_primary}. - * @param ctx the parse tree - */ - void exitConditional_primary(EQLParser.Conditional_primaryContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#any_expression}. - * @param ctx the parse tree - */ - void enterAny_expression(EQLParser.Any_expressionContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#any_expression}. - * @param ctx the parse tree - */ - void exitAny_expression(EQLParser.Any_expressionContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#in_expression}. - * @param ctx the parse tree - */ - void enterIn_expression(EQLParser.In_expressionContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#in_expression}. - * @param ctx the parse tree - */ - void exitIn_expression(EQLParser.In_expressionContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#in_value}. - * @param ctx the parse tree - */ - void enterIn_value(EQLParser.In_valueContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#in_value}. - * @param ctx the parse tree - */ - void exitIn_value(EQLParser.In_valueContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#between_expression}. - * @param ctx the parse tree - */ - void enterBetween_expression(EQLParser.Between_expressionContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#between_expression}. - * @param ctx the parse tree - */ - void exitBetween_expression(EQLParser.Between_expressionContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#propertyBetween_expression}. - * @param ctx the parse tree - */ - void enterPropertyBetween_expression(EQLParser.PropertyBetween_expressionContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#propertyBetween_expression}. - * @param ctx the parse tree - */ - void exitPropertyBetween_expression(EQLParser.PropertyBetween_expressionContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#isNull_expression}. - * @param ctx the parse tree - */ - void enterIsNull_expression(EQLParser.IsNull_expressionContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#isNull_expression}. - * @param ctx the parse tree - */ - void exitIsNull_expression(EQLParser.IsNull_expressionContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#isNotNull_expression}. - * @param ctx the parse tree - */ - void enterIsNotNull_expression(EQLParser.IsNotNull_expressionContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#isNotNull_expression}. - * @param ctx the parse tree - */ - void exitIsNotNull_expression(EQLParser.IsNotNull_expressionContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#isEmpty_expression}. - * @param ctx the parse tree - */ - void enterIsEmpty_expression(EQLParser.IsEmpty_expressionContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#isEmpty_expression}. - * @param ctx the parse tree - */ - void exitIsEmpty_expression(EQLParser.IsEmpty_expressionContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#isNotEmpty_expression}. - * @param ctx the parse tree - */ - void enterIsNotEmpty_expression(EQLParser.IsNotEmpty_expressionContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#isNotEmpty_expression}. - * @param ctx the parse tree - */ - void exitIsNotEmpty_expression(EQLParser.IsNotEmpty_expressionContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#like_expression}. - * @param ctx the parse tree - */ - void enterLike_expression(EQLParser.Like_expressionContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#like_expression}. - * @param ctx the parse tree - */ - void exitLike_expression(EQLParser.Like_expressionContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#like_op}. - * @param ctx the parse tree - */ - void enterLike_op(EQLParser.Like_opContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#like_op}. - * @param ctx the parse tree - */ - void exitLike_op(EQLParser.Like_opContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#comparison_expression}. - * @param ctx the parse tree - */ - void enterComparison_expression(EQLParser.Comparison_expressionContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#comparison_expression}. - * @param ctx the parse tree - */ - void exitComparison_expression(EQLParser.Comparison_expressionContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#comparison_operator}. - * @param ctx the parse tree - */ - void enterComparison_operator(EQLParser.Comparison_operatorContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#comparison_operator}. - * @param ctx the parse tree - */ - void exitComparison_operator(EQLParser.Comparison_operatorContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#value_expression}. - * @param ctx the parse tree - */ - void enterValue_expression(EQLParser.Value_expressionContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#value_expression}. - * @param ctx the parse tree - */ - void exitValue_expression(EQLParser.Value_expressionContext ctx); - /** - * Enter a parse tree produced by {@link EQLParser#literal}. - * @param ctx the parse tree - */ - void enterLiteral(EQLParser.LiteralContext ctx); - /** - * Exit a parse tree produced by {@link EQLParser#literal}. - * @param ctx the parse tree - */ - void exitLiteral(EQLParser.LiteralContext ctx); -} \ No newline at end of file + /** + * Enter a parse tree produced by {@link EQLParser#select_statement}. + * + * @param ctx the parse tree + */ + void enterSelect_statement(EQLParser.Select_statementContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#select_statement}. + * + * @param ctx the parse tree + */ + void exitSelect_statement(EQLParser.Select_statementContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#select_clause}. + * + * @param ctx the parse tree + */ + void enterSelect_clause(EQLParser.Select_clauseContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#select_clause}. + * + * @param ctx the parse tree + */ + void exitSelect_clause(EQLParser.Select_clauseContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#distinct}. + * + * @param ctx the parse tree + */ + void enterDistinct(EQLParser.DistinctContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#distinct}. + * + * @param ctx the parse tree + */ + void exitDistinct(EQLParser.DistinctContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#fetch_clause}. + * + * @param ctx the parse tree + */ + void enterFetch_clause(EQLParser.Fetch_clauseContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#fetch_clause}. + * + * @param ctx the parse tree + */ + void exitFetch_clause(EQLParser.Fetch_clauseContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#where_clause}. + * + * @param ctx the parse tree + */ + void enterWhere_clause(EQLParser.Where_clauseContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#where_clause}. + * + * @param ctx the parse tree + */ + void exitWhere_clause(EQLParser.Where_clauseContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#orderby_clause}. + * + * @param ctx the parse tree + */ + void enterOrderby_clause(EQLParser.Orderby_clauseContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#orderby_clause}. + * + * @param ctx the parse tree + */ + void exitOrderby_clause(EQLParser.Orderby_clauseContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#orderby_property}. + * + * @param ctx the parse tree + */ + void enterOrderby_property(EQLParser.Orderby_propertyContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#orderby_property}. + * + * @param ctx the parse tree + */ + void exitOrderby_property(EQLParser.Orderby_propertyContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#nulls_firstlast}. + * + * @param ctx the parse tree + */ + void enterNulls_firstlast(EQLParser.Nulls_firstlastContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#nulls_firstlast}. + * + * @param ctx the parse tree + */ + void exitNulls_firstlast(EQLParser.Nulls_firstlastContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#asc_desc}. + * + * @param ctx the parse tree + */ + void enterAsc_desc(EQLParser.Asc_descContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#asc_desc}. + * + * @param ctx the parse tree + */ + void exitAsc_desc(EQLParser.Asc_descContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#limit_clause}. + * + * @param ctx the parse tree + */ + void enterLimit_clause(EQLParser.Limit_clauseContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#limit_clause}. + * + * @param ctx the parse tree + */ + void exitLimit_clause(EQLParser.Limit_clauseContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#offset_clause}. + * + * @param ctx the parse tree + */ + void enterOffset_clause(EQLParser.Offset_clauseContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#offset_clause}. + * + * @param ctx the parse tree + */ + void exitOffset_clause(EQLParser.Offset_clauseContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#fetch_path}. + * + * @param ctx the parse tree + */ + void enterFetch_path(EQLParser.Fetch_pathContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#fetch_path}. + * + * @param ctx the parse tree + */ + void exitFetch_path(EQLParser.Fetch_pathContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#fetch_property_set}. + * + * @param ctx the parse tree + */ + void enterFetch_property_set(EQLParser.Fetch_property_setContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#fetch_property_set}. + * + * @param ctx the parse tree + */ + void exitFetch_property_set(EQLParser.Fetch_property_setContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#fetch_property_group}. + * + * @param ctx the parse tree + */ + void enterFetch_property_group(EQLParser.Fetch_property_groupContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#fetch_property_group}. + * + * @param ctx the parse tree + */ + void exitFetch_property_group(EQLParser.Fetch_property_groupContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#fetch_property}. + * + * @param ctx the parse tree + */ + void enterFetch_property(EQLParser.Fetch_propertyContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#fetch_property}. + * + * @param ctx the parse tree + */ + void exitFetch_property(EQLParser.Fetch_propertyContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#fetch_query_hint}. + * + * @param ctx the parse tree + */ + void enterFetch_query_hint(EQLParser.Fetch_query_hintContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#fetch_query_hint}. + * + * @param ctx the parse tree + */ + void exitFetch_query_hint(EQLParser.Fetch_query_hintContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#fetch_lazy_hint}. + * + * @param ctx the parse tree + */ + void enterFetch_lazy_hint(EQLParser.Fetch_lazy_hintContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#fetch_lazy_hint}. + * + * @param ctx the parse tree + */ + void exitFetch_lazy_hint(EQLParser.Fetch_lazy_hintContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#fetch_option}. + * + * @param ctx the parse tree + */ + void enterFetch_option(EQLParser.Fetch_optionContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#fetch_option}. + * + * @param ctx the parse tree + */ + void exitFetch_option(EQLParser.Fetch_optionContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#fetch_query_option}. + * + * @param ctx the parse tree + */ + void enterFetch_query_option(EQLParser.Fetch_query_optionContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#fetch_query_option}. + * + * @param ctx the parse tree + */ + void exitFetch_query_option(EQLParser.Fetch_query_optionContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#fetch_lazy_option}. + * + * @param ctx the parse tree + */ + void enterFetch_lazy_option(EQLParser.Fetch_lazy_optionContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#fetch_lazy_option}. + * + * @param ctx the parse tree + */ + void exitFetch_lazy_option(EQLParser.Fetch_lazy_optionContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#fetch_batch_size}. + * + * @param ctx the parse tree + */ + void enterFetch_batch_size(EQLParser.Fetch_batch_sizeContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#fetch_batch_size}. + * + * @param ctx the parse tree + */ + void exitFetch_batch_size(EQLParser.Fetch_batch_sizeContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#conditional_expression}. + * + * @param ctx the parse tree + */ + void enterConditional_expression(EQLParser.Conditional_expressionContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#conditional_expression}. + * + * @param ctx the parse tree + */ + void exitConditional_expression(EQLParser.Conditional_expressionContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#conditional_term}. + * + * @param ctx the parse tree + */ + void enterConditional_term(EQLParser.Conditional_termContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#conditional_term}. + * + * @param ctx the parse tree + */ + void exitConditional_term(EQLParser.Conditional_termContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#conditional_factor}. + * + * @param ctx the parse tree + */ + void enterConditional_factor(EQLParser.Conditional_factorContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#conditional_factor}. + * + * @param ctx the parse tree + */ + void exitConditional_factor(EQLParser.Conditional_factorContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#conditional_primary}. + * + * @param ctx the parse tree + */ + void enterConditional_primary(EQLParser.Conditional_primaryContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#conditional_primary}. + * + * @param ctx the parse tree + */ + void exitConditional_primary(EQLParser.Conditional_primaryContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#any_expression}. + * + * @param ctx the parse tree + */ + void enterAny_expression(EQLParser.Any_expressionContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#any_expression}. + * + * @param ctx the parse tree + */ + void exitAny_expression(EQLParser.Any_expressionContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#in_expression}. + * + * @param ctx the parse tree + */ + void enterIn_expression(EQLParser.In_expressionContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#in_expression}. + * + * @param ctx the parse tree + */ + void exitIn_expression(EQLParser.In_expressionContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#in_value}. + * + * @param ctx the parse tree + */ + void enterIn_value(EQLParser.In_valueContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#in_value}. + * + * @param ctx the parse tree + */ + void exitIn_value(EQLParser.In_valueContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#between_expression}. + * + * @param ctx the parse tree + */ + void enterBetween_expression(EQLParser.Between_expressionContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#between_expression}. + * + * @param ctx the parse tree + */ + void exitBetween_expression(EQLParser.Between_expressionContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#propertyBetween_expression}. + * + * @param ctx the parse tree + */ + void enterPropertyBetween_expression(EQLParser.PropertyBetween_expressionContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#propertyBetween_expression}. + * + * @param ctx the parse tree + */ + void exitPropertyBetween_expression(EQLParser.PropertyBetween_expressionContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#isNull_expression}. + * + * @param ctx the parse tree + */ + void enterIsNull_expression(EQLParser.IsNull_expressionContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#isNull_expression}. + * + * @param ctx the parse tree + */ + void exitIsNull_expression(EQLParser.IsNull_expressionContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#isNotNull_expression}. + * + * @param ctx the parse tree + */ + void enterIsNotNull_expression(EQLParser.IsNotNull_expressionContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#isNotNull_expression}. + * + * @param ctx the parse tree + */ + void exitIsNotNull_expression(EQLParser.IsNotNull_expressionContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#isEmpty_expression}. + * + * @param ctx the parse tree + */ + void enterIsEmpty_expression(EQLParser.IsEmpty_expressionContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#isEmpty_expression}. + * + * @param ctx the parse tree + */ + void exitIsEmpty_expression(EQLParser.IsEmpty_expressionContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#isNotEmpty_expression}. + * + * @param ctx the parse tree + */ + void enterIsNotEmpty_expression(EQLParser.IsNotEmpty_expressionContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#isNotEmpty_expression}. + * + * @param ctx the parse tree + */ + void exitIsNotEmpty_expression(EQLParser.IsNotEmpty_expressionContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#like_expression}. + * + * @param ctx the parse tree + */ + void enterLike_expression(EQLParser.Like_expressionContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#like_expression}. + * + * @param ctx the parse tree + */ + void exitLike_expression(EQLParser.Like_expressionContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#like_op}. + * + * @param ctx the parse tree + */ + void enterLike_op(EQLParser.Like_opContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#like_op}. + * + * @param ctx the parse tree + */ + void exitLike_op(EQLParser.Like_opContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#comparison_expression}. + * + * @param ctx the parse tree + */ + void enterComparison_expression(EQLParser.Comparison_expressionContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#comparison_expression}. + * + * @param ctx the parse tree + */ + void exitComparison_expression(EQLParser.Comparison_expressionContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#comparison_operator}. + * + * @param ctx the parse tree + */ + void enterComparison_operator(EQLParser.Comparison_operatorContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#comparison_operator}. + * + * @param ctx the parse tree + */ + void exitComparison_operator(EQLParser.Comparison_operatorContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#value_expression}. + * + * @param ctx the parse tree + */ + void enterValue_expression(EQLParser.Value_expressionContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#value_expression}. + * + * @param ctx the parse tree + */ + void exitValue_expression(EQLParser.Value_expressionContext ctx); + + /** + * Enter a parse tree produced by {@link EQLParser#literal}. + * + * @param ctx the parse tree + */ + void enterLiteral(EQLParser.LiteralContext ctx); + + /** + * Exit a parse tree produced by {@link EQLParser#literal}. + * + * @param ctx the parse tree + */ + void exitLiteral(EQLParser.LiteralContext ctx); +} diff --git a/src/main/java/com/avaje/ebeaninternal/server/grammer/antlr/EQLParser.java b/src/main/java/com/avaje/ebeaninternal/server/grammer/antlr/EQLParser.java index a2f63fc6f..3bf7eb517 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/grammer/antlr/EQLParser.java +++ b/src/main/java/com/avaje/ebeaninternal/server/grammer/antlr/EQLParser.java @@ -1,124 +1,145 @@ // Generated from /home/rob/github/ebean/src/test/resources/EQL.g4 by ANTLR 4.5.3 package com.avaje.ebeaninternal.server.grammer.antlr; -import org.antlr.v4.runtime.atn.*; + +import org.antlr.v4.runtime.NoViableAltException; +import org.antlr.v4.runtime.Parser; +import org.antlr.v4.runtime.ParserRuleContext; +import org.antlr.v4.runtime.RecognitionException; +import org.antlr.v4.runtime.RuntimeMetaData; +import org.antlr.v4.runtime.TokenStream; +import org.antlr.v4.runtime.Vocabulary; +import org.antlr.v4.runtime.VocabularyImpl; +import org.antlr.v4.runtime.atn.ATN; +import org.antlr.v4.runtime.atn.ATNDeserializer; +import org.antlr.v4.runtime.atn.ParserATNSimulator; +import org.antlr.v4.runtime.atn.PredictionContextCache; import org.antlr.v4.runtime.dfa.DFA; -import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.misc.*; -import org.antlr.v4.runtime.tree.*; +import org.antlr.v4.runtime.tree.ParseTreeListener; +import org.antlr.v4.runtime.tree.TerminalNode; + import java.util.List; -import java.util.Iterator; -import java.util.ArrayList; @SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) public class EQLParser extends Parser { - static { RuntimeMetaData.checkVersion("4.5.3", RuntimeMetaData.VERSION); } + static { + RuntimeMetaData.checkVersion("4.5.3", RuntimeMetaData.VERSION); + } - protected static final DFA[] _decisionToDFA; - protected static final PredictionContextCache _sharedContextCache = - new PredictionContextCache(); - public static final int - T__0=1, T__1=2, T__2=3, T__3=4, T__4=5, T__5=6, T__6=7, T__7=8, T__8=9, - T__9=10, T__10=11, T__11=12, T__12=13, T__13=14, T__14=15, T__15=16, T__16=17, - T__17=18, T__18=19, T__19=20, T__20=21, T__21=22, T__22=23, T__23=24, - T__24=25, T__25=26, T__26=27, T__27=28, T__28=29, T__29=30, T__30=31, - T__31=32, T__32=33, T__33=34, T__34=35, T__35=36, T__36=37, T__37=38, - T__38=39, T__39=40, T__40=41, T__41=42, T__42=43, T__43=44, T__44=45, - T__45=46, T__46=47, T__47=48, T__48=49, T__49=50, T__50=51, T__51=52, - T__52=53, T__53=54, T__54=55, T__55=56, T__56=57, INPUT_VARIABLE=58, PATH_VARIABLE=59, - BOOLEAN_LITERAL=60, NUMBER_LITERAL=61, DOUBLE=62, INT=63, ZERO=64, STRING_LITERAL=65, - WS=66; - public static final int - RULE_select_statement = 0, RULE_select_clause = 1, RULE_distinct = 2, - RULE_fetch_clause = 3, RULE_where_clause = 4, RULE_orderby_clause = 5, - RULE_orderby_property = 6, RULE_nulls_firstlast = 7, RULE_asc_desc = 8, - RULE_limit_clause = 9, RULE_offset_clause = 10, RULE_fetch_path = 11, - RULE_fetch_property_set = 12, RULE_fetch_property_group = 13, RULE_fetch_property = 14, - RULE_fetch_query_hint = 15, RULE_fetch_lazy_hint = 16, RULE_fetch_option = 17, - RULE_fetch_query_option = 18, RULE_fetch_lazy_option = 19, RULE_fetch_batch_size = 20, - RULE_conditional_expression = 21, RULE_conditional_term = 22, RULE_conditional_factor = 23, - RULE_conditional_primary = 24, RULE_any_expression = 25, RULE_in_expression = 26, - RULE_in_value = 27, RULE_between_expression = 28, RULE_propertyBetween_expression = 29, - RULE_isNull_expression = 30, RULE_isNotNull_expression = 31, RULE_isEmpty_expression = 32, - RULE_isNotEmpty_expression = 33, RULE_like_expression = 34, RULE_like_op = 35, - RULE_comparison_expression = 36, RULE_comparison_operator = 37, RULE_value_expression = 38, - RULE_literal = 39; - public static final String[] ruleNames = { - "select_statement", "select_clause", "distinct", "fetch_clause", "where_clause", - "orderby_clause", "orderby_property", "nulls_firstlast", "asc_desc", "limit_clause", - "offset_clause", "fetch_path", "fetch_property_set", "fetch_property_group", - "fetch_property", "fetch_query_hint", "fetch_lazy_hint", "fetch_option", - "fetch_query_option", "fetch_lazy_option", "fetch_batch_size", "conditional_expression", - "conditional_term", "conditional_factor", "conditional_primary", "any_expression", - "in_expression", "in_value", "between_expression", "propertyBetween_expression", - "isNull_expression", "isNotNull_expression", "isEmpty_expression", "isNotEmpty_expression", - "like_expression", "like_op", "comparison_expression", "comparison_operator", - "value_expression", "literal" - }; + protected static final DFA[] _decisionToDFA; + protected static final PredictionContextCache _sharedContextCache = + new PredictionContextCache(); + public static final int + T__0 = 1, T__1 = 2, T__2 = 3, T__3 = 4, T__4 = 5, T__5 = 6, T__6 = 7, T__7 = 8, T__8 = 9, + T__9 = 10, T__10 = 11, T__11 = 12, T__12 = 13, T__13 = 14, T__14 = 15, T__15 = 16, T__16 = 17, + T__17 = 18, T__18 = 19, T__19 = 20, T__20 = 21, T__21 = 22, T__22 = 23, T__23 = 24, + T__24 = 25, T__25 = 26, T__26 = 27, T__27 = 28, T__28 = 29, T__29 = 30, T__30 = 31, + T__31 = 32, T__32 = 33, T__33 = 34, T__34 = 35, T__35 = 36, T__36 = 37, T__37 = 38, + T__38 = 39, T__39 = 40, T__40 = 41, T__41 = 42, T__42 = 43, T__43 = 44, T__44 = 45, + T__45 = 46, T__46 = 47, T__47 = 48, T__48 = 49, T__49 = 50, T__50 = 51, T__51 = 52, + T__52 = 53, T__53 = 54, T__54 = 55, T__55 = 56, T__56 = 57, INPUT_VARIABLE = 58, PATH_VARIABLE = 59, + BOOLEAN_LITERAL = 60, NUMBER_LITERAL = 61, DOUBLE = 62, INT = 63, ZERO = 64, STRING_LITERAL = 65, + WS = 66; + public static final int + RULE_select_statement = 0, RULE_select_clause = 1, RULE_distinct = 2, + RULE_fetch_clause = 3, RULE_where_clause = 4, RULE_orderby_clause = 5, + RULE_orderby_property = 6, RULE_nulls_firstlast = 7, RULE_asc_desc = 8, + RULE_limit_clause = 9, RULE_offset_clause = 10, RULE_fetch_path = 11, + RULE_fetch_property_set = 12, RULE_fetch_property_group = 13, RULE_fetch_property = 14, + RULE_fetch_query_hint = 15, RULE_fetch_lazy_hint = 16, RULE_fetch_option = 17, + RULE_fetch_query_option = 18, RULE_fetch_lazy_option = 19, RULE_fetch_batch_size = 20, + RULE_conditional_expression = 21, RULE_conditional_term = 22, RULE_conditional_factor = 23, + RULE_conditional_primary = 24, RULE_any_expression = 25, RULE_in_expression = 26, + RULE_in_value = 27, RULE_between_expression = 28, RULE_propertyBetween_expression = 29, + RULE_isNull_expression = 30, RULE_isNotNull_expression = 31, RULE_isEmpty_expression = 32, + RULE_isNotEmpty_expression = 33, RULE_like_expression = 34, RULE_like_op = 35, + RULE_comparison_expression = 36, RULE_comparison_operator = 37, RULE_value_expression = 38, + RULE_literal = 39; + public static final String[] ruleNames = { + "select_statement", "select_clause", "distinct", "fetch_clause", "where_clause", + "orderby_clause", "orderby_property", "nulls_firstlast", "asc_desc", "limit_clause", + "offset_clause", "fetch_path", "fetch_property_set", "fetch_property_group", + "fetch_property", "fetch_query_hint", "fetch_lazy_hint", "fetch_option", + "fetch_query_option", "fetch_lazy_option", "fetch_batch_size", "conditional_expression", + "conditional_term", "conditional_factor", "conditional_primary", "any_expression", + "in_expression", "in_value", "between_expression", "propertyBetween_expression", + "isNull_expression", "isNotNull_expression", "isEmpty_expression", "isNotEmpty_expression", + "like_expression", "like_op", "comparison_expression", "comparison_operator", + "value_expression", "literal" + }; - private static final String[] _LITERAL_NAMES = { - null, "'select'", "'('", "')'", "'distinct'", "'where'", "'order'", "'by'", - "','", "'nulls'", "'first'", "'last'", "'asc'", "'desc'", "'limit'", "'offset'", - "'fetch'", "'+'", "'query'", "'lazy'", "'or'", "'and'", "'not'", "'in'", - "'between'", "'is'", "'null'", "'isNull'", "'isNotNull'", "'notNull'", - "'empty'", "'isEmpty'", "'isNotEmpty'", "'notEmpty'", "'like'", "'ilike'", - "'contains'", "'icontains'", "'startsWith'", "'istartsWith'", "'endsWith'", - "'iendsWith'", "'='", "'eq'", "'>'", "'gt'", "'>='", "'ge'", "'gte'", - "'<'", "'lt'", "'<='", "'le'", "'lte'", "'<>'", "'!='", "'ne'", "'ieq'", - null, null, null, null, null, null, "'0'" - }; - private static final String[] _SYMBOLIC_NAMES = { - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, "INPUT_VARIABLE", - "PATH_VARIABLE", "BOOLEAN_LITERAL", "NUMBER_LITERAL", "DOUBLE", "INT", - "ZERO", "STRING_LITERAL", "WS" - }; - public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); + private static final String[] _LITERAL_NAMES = { + null, "'select'", "'('", "')'", "'distinct'", "'where'", "'order'", "'by'", + "','", "'nulls'", "'first'", "'last'", "'asc'", "'desc'", "'limit'", "'offset'", + "'fetch'", "'+'", "'query'", "'lazy'", "'or'", "'and'", "'not'", "'in'", + "'between'", "'is'", "'null'", "'isNull'", "'isNotNull'", "'notNull'", + "'empty'", "'isEmpty'", "'isNotEmpty'", "'notEmpty'", "'like'", "'ilike'", + "'contains'", "'icontains'", "'startsWith'", "'istartsWith'", "'endsWith'", + "'iendsWith'", "'='", "'eq'", "'>'", "'gt'", "'>='", "'ge'", "'gte'", + "'<'", "'lt'", "'<='", "'le'", "'lte'", "'<>'", "'!='", "'ne'", "'ieq'", + null, null, null, null, null, null, "'0'" + }; + private static final String[] _SYMBOLIC_NAMES = { + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, "INPUT_VARIABLE", + "PATH_VARIABLE", "BOOLEAN_LITERAL", "NUMBER_LITERAL", "DOUBLE", "INT", + "ZERO", "STRING_LITERAL", "WS" + }; + public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); - /** - * @deprecated Use {@link #VOCABULARY} instead. - */ - @Deprecated - public static final String[] tokenNames; - static { - tokenNames = new String[_SYMBOLIC_NAMES.length]; - for (int i = 0; i < tokenNames.length; i++) { - tokenNames[i] = VOCABULARY.getLiteralName(i); - if (tokenNames[i] == null) { - tokenNames[i] = VOCABULARY.getSymbolicName(i); - } + /** + * @deprecated Use {@link #VOCABULARY} instead. + */ + @Deprecated + public static final String[] tokenNames; - if (tokenNames[i] == null) { - tokenNames[i] = ""; - } - } - } + static { + tokenNames = new String[_SYMBOLIC_NAMES.length]; + for (int i = 0; i < tokenNames.length; i++) { + tokenNames[i] = VOCABULARY.getLiteralName(i); + if (tokenNames[i] == null) { + tokenNames[i] = VOCABULARY.getSymbolicName(i); + } - @Override - @Deprecated - public String[] getTokenNames() { - return tokenNames; - } + if (tokenNames[i] == null) { + tokenNames[i] = ""; + } + } + } - @Override + @Override + @Deprecated + public String[] getTokenNames() { + return tokenNames; + } - public Vocabulary getVocabulary() { - return VOCABULARY; - } + @Override - @Override - public String getGrammarFileName() { return "EQL.g4"; } + public Vocabulary getVocabulary() { + return VOCABULARY; + } - @Override - public String[] getRuleNames() { return ruleNames; } + @Override + public String getGrammarFileName() { + return "EQL.g4"; + } - @Override - public String getSerializedATN() { return _serializedATN; } + @Override + public String[] getRuleNames() { + return ruleNames; + } - @Override - public ATN getATN() { return _ATN; } + @Override + public String getSerializedATN() { + return _serializedATN; + } + + @Override + public ATN getATN() { + return _ATN; + } // @Override @@ -126,2354 +147,2633 @@ public class EQLParser extends Parser { // throw new RuntimeException("Error in grammer - " + e.getMessage()); // } - public EQLParser(TokenStream input) { - super(input); - _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); - } - public static class Select_statementContext extends ParserRuleContext { - public Select_clauseContext select_clause() { - return getRuleContext(Select_clauseContext.class,0); - } - public List fetch_clause() { - return getRuleContexts(Fetch_clauseContext.class); - } - public Fetch_clauseContext fetch_clause(int i) { - return getRuleContext(Fetch_clauseContext.class,i); - } - public Where_clauseContext where_clause() { - return getRuleContext(Where_clauseContext.class,0); - } - public Orderby_clauseContext orderby_clause() { - return getRuleContext(Orderby_clauseContext.class,0); - } - public Limit_clauseContext limit_clause() { - return getRuleContext(Limit_clauseContext.class,0); - } - public Select_statementContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_select_statement; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterSelect_statement(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitSelect_statement(this); - } - } - - public final Select_statementContext select_statement() throws RecognitionException { - Select_statementContext _localctx = new Select_statementContext(_ctx, getState()); - enterRule(_localctx, 0, RULE_select_statement); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(81); - _la = _input.LA(1); - if (_la==T__0) { - { - setState(80); - select_clause(); - } - } - - setState(86); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==T__15) { - { - { - setState(83); - fetch_clause(); - } - } - setState(88); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(90); - _la = _input.LA(1); - if (_la==T__4) { - { - setState(89); - where_clause(); - } - } - - setState(93); - _la = _input.LA(1); - if (_la==T__5) { - { - setState(92); - orderby_clause(); - } - } - - setState(96); - _la = _input.LA(1); - if (_la==T__13) { - { - setState(95); - limit_clause(); - } - } - - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Select_clauseContext extends ParserRuleContext { - public Fetch_property_groupContext fetch_property_group() { - return getRuleContext(Fetch_property_groupContext.class,0); - } - public DistinctContext distinct() { - return getRuleContext(DistinctContext.class,0); - } - public Select_clauseContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_select_clause; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterSelect_clause(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitSelect_clause(this); - } - } - - public final Select_clauseContext select_clause() throws RecognitionException { - Select_clauseContext _localctx = new Select_clauseContext(_ctx, getState()); - enterRule(_localctx, 2, RULE_select_clause); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(98); - match(T__0); - setState(100); - _la = _input.LA(1); - if (_la==T__3) { - { - setState(99); - distinct(); - } - } - - setState(102); - match(T__1); - setState(103); - fetch_property_group(); - setState(104); - match(T__2); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class DistinctContext extends ParserRuleContext { - public DistinctContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_distinct; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterDistinct(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitDistinct(this); - } - } - - public final DistinctContext distinct() throws RecognitionException { - DistinctContext _localctx = new DistinctContext(_ctx, getState()); - enterRule(_localctx, 4, RULE_distinct); - try { - enterOuterAlt(_localctx, 1); - { - setState(106); - match(T__3); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Fetch_clauseContext extends ParserRuleContext { - public Fetch_pathContext fetch_path() { - return getRuleContext(Fetch_pathContext.class,0); - } - public Fetch_clauseContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_fetch_clause; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterFetch_clause(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitFetch_clause(this); - } - } - - public final Fetch_clauseContext fetch_clause() throws RecognitionException { - Fetch_clauseContext _localctx = new Fetch_clauseContext(_ctx, getState()); - enterRule(_localctx, 6, RULE_fetch_clause); - try { - enterOuterAlt(_localctx, 1); - { - setState(108); - fetch_path(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Where_clauseContext extends ParserRuleContext { - public Conditional_expressionContext conditional_expression() { - return getRuleContext(Conditional_expressionContext.class,0); - } - public Where_clauseContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_where_clause; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterWhere_clause(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitWhere_clause(this); - } - } - - public final Where_clauseContext where_clause() throws RecognitionException { - Where_clauseContext _localctx = new Where_clauseContext(_ctx, getState()); - enterRule(_localctx, 8, RULE_where_clause); - try { - enterOuterAlt(_localctx, 1); - { - setState(110); - match(T__4); - setState(111); - conditional_expression(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Orderby_clauseContext extends ParserRuleContext { - public List orderby_property() { - return getRuleContexts(Orderby_propertyContext.class); - } - public Orderby_propertyContext orderby_property(int i) { - return getRuleContext(Orderby_propertyContext.class,i); - } - public Orderby_clauseContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_orderby_clause; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterOrderby_clause(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitOrderby_clause(this); - } - } - - public final Orderby_clauseContext orderby_clause() throws RecognitionException { - Orderby_clauseContext _localctx = new Orderby_clauseContext(_ctx, getState()); - enterRule(_localctx, 10, RULE_orderby_clause); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(113); - match(T__5); - setState(114); - match(T__6); - setState(115); - orderby_property(); - setState(120); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==T__7) { - { - { - setState(116); - match(T__7); - setState(117); - orderby_property(); - } - } - setState(122); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Orderby_propertyContext extends ParserRuleContext { - public TerminalNode PATH_VARIABLE() { return getToken(EQLParser.PATH_VARIABLE, 0); } - public Asc_descContext asc_desc() { - return getRuleContext(Asc_descContext.class,0); - } - public Nulls_firstlastContext nulls_firstlast() { - return getRuleContext(Nulls_firstlastContext.class,0); - } - public Orderby_propertyContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_orderby_property; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterOrderby_property(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitOrderby_property(this); - } - } - - public final Orderby_propertyContext orderby_property() throws RecognitionException { - Orderby_propertyContext _localctx = new Orderby_propertyContext(_ctx, getState()); - enterRule(_localctx, 12, RULE_orderby_property); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(123); - match(PATH_VARIABLE); - setState(125); - _la = _input.LA(1); - if (_la==T__11 || _la==T__12) { - { - setState(124); - asc_desc(); - } - } - - setState(128); - _la = _input.LA(1); - if (_la==T__8) { - { - setState(127); - nulls_firstlast(); - } - } - - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Nulls_firstlastContext extends ParserRuleContext { - public Nulls_firstlastContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_nulls_firstlast; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterNulls_firstlast(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitNulls_firstlast(this); - } - } - - public final Nulls_firstlastContext nulls_firstlast() throws RecognitionException { - Nulls_firstlastContext _localctx = new Nulls_firstlastContext(_ctx, getState()); - enterRule(_localctx, 14, RULE_nulls_firstlast); - try { - setState(134); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,9,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(130); - match(T__8); - setState(131); - match(T__9); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(132); - match(T__8); - setState(133); - match(T__10); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Asc_descContext extends ParserRuleContext { - public Asc_descContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_asc_desc; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterAsc_desc(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitAsc_desc(this); - } - } - - public final Asc_descContext asc_desc() throws RecognitionException { - Asc_descContext _localctx = new Asc_descContext(_ctx, getState()); - enterRule(_localctx, 16, RULE_asc_desc); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(136); - _la = _input.LA(1); - if ( !(_la==T__11 || _la==T__12) ) { - _errHandler.recoverInline(this); - } else { - consume(); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Limit_clauseContext extends ParserRuleContext { - public TerminalNode NUMBER_LITERAL() { return getToken(EQLParser.NUMBER_LITERAL, 0); } - public Offset_clauseContext offset_clause() { - return getRuleContext(Offset_clauseContext.class,0); - } - public Limit_clauseContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_limit_clause; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterLimit_clause(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitLimit_clause(this); - } - } - - public final Limit_clauseContext limit_clause() throws RecognitionException { - Limit_clauseContext _localctx = new Limit_clauseContext(_ctx, getState()); - enterRule(_localctx, 18, RULE_limit_clause); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(138); - match(T__13); - setState(139); - match(NUMBER_LITERAL); - setState(141); - _la = _input.LA(1); - if (_la==T__14) { - { - setState(140); - offset_clause(); - } - } - - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Offset_clauseContext extends ParserRuleContext { - public TerminalNode NUMBER_LITERAL() { return getToken(EQLParser.NUMBER_LITERAL, 0); } - public Offset_clauseContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_offset_clause; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterOffset_clause(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitOffset_clause(this); - } - } - - public final Offset_clauseContext offset_clause() throws RecognitionException { - Offset_clauseContext _localctx = new Offset_clauseContext(_ctx, getState()); - enterRule(_localctx, 20, RULE_offset_clause); - try { - enterOuterAlt(_localctx, 1); - { - setState(143); - match(T__14); - setState(144); - match(NUMBER_LITERAL); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Fetch_pathContext extends ParserRuleContext { - public TerminalNode PATH_VARIABLE() { return getToken(EQLParser.PATH_VARIABLE, 0); } - public Fetch_optionContext fetch_option() { - return getRuleContext(Fetch_optionContext.class,0); - } - public Fetch_property_setContext fetch_property_set() { - return getRuleContext(Fetch_property_setContext.class,0); - } - public Fetch_pathContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_fetch_path; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterFetch_path(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitFetch_path(this); - } - } - - public final Fetch_pathContext fetch_path() throws RecognitionException { - Fetch_pathContext _localctx = new Fetch_pathContext(_ctx, getState()); - enterRule(_localctx, 22, RULE_fetch_path); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(146); - match(T__15); - setState(148); - _la = _input.LA(1); - if (_la==T__17 || _la==T__18) { - { - setState(147); - fetch_option(); - } - } - - setState(150); - match(PATH_VARIABLE); - setState(152); - _la = _input.LA(1); - if (_la==T__1) { - { - setState(151); - fetch_property_set(); - } - } - - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Fetch_property_setContext extends ParserRuleContext { - public Fetch_property_groupContext fetch_property_group() { - return getRuleContext(Fetch_property_groupContext.class,0); - } - public Fetch_property_setContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_fetch_property_set; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterFetch_property_set(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitFetch_property_set(this); - } - } - - public final Fetch_property_setContext fetch_property_set() throws RecognitionException { - Fetch_property_setContext _localctx = new Fetch_property_setContext(_ctx, getState()); - enterRule(_localctx, 24, RULE_fetch_property_set); - try { - enterOuterAlt(_localctx, 1); - { - setState(154); - match(T__1); - setState(155); - fetch_property_group(); - setState(156); - match(T__2); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Fetch_property_groupContext extends ParserRuleContext { - public List fetch_property() { - return getRuleContexts(Fetch_propertyContext.class); - } - public Fetch_propertyContext fetch_property(int i) { - return getRuleContext(Fetch_propertyContext.class,i); - } - public Fetch_property_groupContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_fetch_property_group; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterFetch_property_group(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitFetch_property_group(this); - } - } - - public final Fetch_property_groupContext fetch_property_group() throws RecognitionException { - Fetch_property_groupContext _localctx = new Fetch_property_groupContext(_ctx, getState()); - enterRule(_localctx, 26, RULE_fetch_property_group); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(158); - fetch_property(); - setState(163); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==T__7) { - { - { - setState(159); - match(T__7); - setState(160); - fetch_property(); - } - } - setState(165); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Fetch_propertyContext extends ParserRuleContext { - public TerminalNode PATH_VARIABLE() { return getToken(EQLParser.PATH_VARIABLE, 0); } - public Fetch_query_hintContext fetch_query_hint() { - return getRuleContext(Fetch_query_hintContext.class,0); - } - public Fetch_lazy_hintContext fetch_lazy_hint() { - return getRuleContext(Fetch_lazy_hintContext.class,0); - } - public Fetch_propertyContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_fetch_property; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterFetch_property(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitFetch_property(this); - } - } - - public final Fetch_propertyContext fetch_property() throws RecognitionException { - Fetch_propertyContext _localctx = new Fetch_propertyContext(_ctx, getState()); - enterRule(_localctx, 28, RULE_fetch_property); - try { - setState(169); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,14,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(166); - match(PATH_VARIABLE); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(167); - fetch_query_hint(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(168); - fetch_lazy_hint(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Fetch_query_hintContext extends ParserRuleContext { - public Fetch_query_optionContext fetch_query_option() { - return getRuleContext(Fetch_query_optionContext.class,0); - } - public Fetch_query_hintContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_fetch_query_hint; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterFetch_query_hint(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitFetch_query_hint(this); - } - } - - public final Fetch_query_hintContext fetch_query_hint() throws RecognitionException { - Fetch_query_hintContext _localctx = new Fetch_query_hintContext(_ctx, getState()); - enterRule(_localctx, 30, RULE_fetch_query_hint); - try { - enterOuterAlt(_localctx, 1); - { - setState(171); - match(T__16); - setState(172); - fetch_query_option(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Fetch_lazy_hintContext extends ParserRuleContext { - public Fetch_lazy_optionContext fetch_lazy_option() { - return getRuleContext(Fetch_lazy_optionContext.class,0); - } - public Fetch_lazy_hintContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_fetch_lazy_hint; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterFetch_lazy_hint(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitFetch_lazy_hint(this); - } - } - - public final Fetch_lazy_hintContext fetch_lazy_hint() throws RecognitionException { - Fetch_lazy_hintContext _localctx = new Fetch_lazy_hintContext(_ctx, getState()); - enterRule(_localctx, 32, RULE_fetch_lazy_hint); - try { - enterOuterAlt(_localctx, 1); - { - setState(174); - match(T__16); - setState(175); - fetch_lazy_option(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Fetch_optionContext extends ParserRuleContext { - public Fetch_query_optionContext fetch_query_option() { - return getRuleContext(Fetch_query_optionContext.class,0); - } - public Fetch_lazy_optionContext fetch_lazy_option() { - return getRuleContext(Fetch_lazy_optionContext.class,0); - } - public Fetch_optionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_fetch_option; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterFetch_option(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitFetch_option(this); - } - } - - public final Fetch_optionContext fetch_option() throws RecognitionException { - Fetch_optionContext _localctx = new Fetch_optionContext(_ctx, getState()); - enterRule(_localctx, 34, RULE_fetch_option); - try { - setState(179); - switch (_input.LA(1)) { - case T__17: - enterOuterAlt(_localctx, 1); - { - setState(177); - fetch_query_option(); - } - break; - case T__18: - enterOuterAlt(_localctx, 2); - { - setState(178); - fetch_lazy_option(); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Fetch_query_optionContext extends ParserRuleContext { - public Fetch_batch_sizeContext fetch_batch_size() { - return getRuleContext(Fetch_batch_sizeContext.class,0); - } - public Fetch_query_optionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_fetch_query_option; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterFetch_query_option(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitFetch_query_option(this); - } - } - - public final Fetch_query_optionContext fetch_query_option() throws RecognitionException { - Fetch_query_optionContext _localctx = new Fetch_query_optionContext(_ctx, getState()); - enterRule(_localctx, 36, RULE_fetch_query_option); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(181); - match(T__17); - setState(183); - _la = _input.LA(1); - if (_la==T__1) { - { - setState(182); - fetch_batch_size(); - } - } - - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Fetch_lazy_optionContext extends ParserRuleContext { - public Fetch_batch_sizeContext fetch_batch_size() { - return getRuleContext(Fetch_batch_sizeContext.class,0); - } - public Fetch_lazy_optionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_fetch_lazy_option; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterFetch_lazy_option(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitFetch_lazy_option(this); - } - } - - public final Fetch_lazy_optionContext fetch_lazy_option() throws RecognitionException { - Fetch_lazy_optionContext _localctx = new Fetch_lazy_optionContext(_ctx, getState()); - enterRule(_localctx, 38, RULE_fetch_lazy_option); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(185); - match(T__18); - setState(187); - _la = _input.LA(1); - if (_la==T__1) { - { - setState(186); - fetch_batch_size(); - } - } - - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Fetch_batch_sizeContext extends ParserRuleContext { - public TerminalNode NUMBER_LITERAL() { return getToken(EQLParser.NUMBER_LITERAL, 0); } - public Fetch_batch_sizeContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_fetch_batch_size; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterFetch_batch_size(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitFetch_batch_size(this); - } - } - - public final Fetch_batch_sizeContext fetch_batch_size() throws RecognitionException { - Fetch_batch_sizeContext _localctx = new Fetch_batch_sizeContext(_ctx, getState()); - enterRule(_localctx, 40, RULE_fetch_batch_size); - try { - enterOuterAlt(_localctx, 1); - { - setState(189); - match(T__1); - setState(190); - match(NUMBER_LITERAL); - setState(191); - match(T__2); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Conditional_expressionContext extends ParserRuleContext { - public List conditional_term() { - return getRuleContexts(Conditional_termContext.class); - } - public Conditional_termContext conditional_term(int i) { - return getRuleContext(Conditional_termContext.class,i); - } - public Conditional_expressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_conditional_expression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterConditional_expression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitConditional_expression(this); - } - } - - public final Conditional_expressionContext conditional_expression() throws RecognitionException { - Conditional_expressionContext _localctx = new Conditional_expressionContext(_ctx, getState()); - enterRule(_localctx, 42, RULE_conditional_expression); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(193); - conditional_term(); - setState(198); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==T__19) { - { - { - setState(194); - match(T__19); - setState(195); - conditional_term(); - } - } - setState(200); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Conditional_termContext extends ParserRuleContext { - public List conditional_factor() { - return getRuleContexts(Conditional_factorContext.class); - } - public Conditional_factorContext conditional_factor(int i) { - return getRuleContext(Conditional_factorContext.class,i); - } - public Conditional_termContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_conditional_term; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterConditional_term(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitConditional_term(this); - } - } - - public final Conditional_termContext conditional_term() throws RecognitionException { - Conditional_termContext _localctx = new Conditional_termContext(_ctx, getState()); - enterRule(_localctx, 44, RULE_conditional_term); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(201); - conditional_factor(); - setState(206); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==T__20) { - { - { - setState(202); - match(T__20); - setState(203); - conditional_factor(); - } - } - setState(208); - _errHandler.sync(this); - _la = _input.LA(1); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Conditional_factorContext extends ParserRuleContext { - public Conditional_primaryContext conditional_primary() { - return getRuleContext(Conditional_primaryContext.class,0); - } - public Conditional_factorContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_conditional_factor; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterConditional_factor(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitConditional_factor(this); - } - } - - public final Conditional_factorContext conditional_factor() throws RecognitionException { - Conditional_factorContext _localctx = new Conditional_factorContext(_ctx, getState()); - enterRule(_localctx, 46, RULE_conditional_factor); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(210); - _la = _input.LA(1); - if (_la==T__21) { - { - setState(209); - match(T__21); - } - } - - setState(212); - conditional_primary(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Conditional_primaryContext extends ParserRuleContext { - public Any_expressionContext any_expression() { - return getRuleContext(Any_expressionContext.class,0); - } - public Conditional_expressionContext conditional_expression() { - return getRuleContext(Conditional_expressionContext.class,0); - } - public Conditional_primaryContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_conditional_primary; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterConditional_primary(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitConditional_primary(this); - } - } - - public final Conditional_primaryContext conditional_primary() throws RecognitionException { - Conditional_primaryContext _localctx = new Conditional_primaryContext(_ctx, getState()); - enterRule(_localctx, 48, RULE_conditional_primary); - try { - setState(219); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,21,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(214); - any_expression(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(215); - match(T__1); - setState(216); - conditional_expression(); - setState(217); - match(T__2); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Any_expressionContext extends ParserRuleContext { - public Comparison_expressionContext comparison_expression() { - return getRuleContext(Comparison_expressionContext.class,0); - } - public Like_expressionContext like_expression() { - return getRuleContext(Like_expressionContext.class,0); - } - public Between_expressionContext between_expression() { - return getRuleContext(Between_expressionContext.class,0); - } - public PropertyBetween_expressionContext propertyBetween_expression() { - return getRuleContext(PropertyBetween_expressionContext.class,0); - } - public In_expressionContext in_expression() { - return getRuleContext(In_expressionContext.class,0); - } - public IsNull_expressionContext isNull_expression() { - return getRuleContext(IsNull_expressionContext.class,0); - } - public IsNotNull_expressionContext isNotNull_expression() { - return getRuleContext(IsNotNull_expressionContext.class,0); - } - public IsEmpty_expressionContext isEmpty_expression() { - return getRuleContext(IsEmpty_expressionContext.class,0); - } - public IsNotEmpty_expressionContext isNotEmpty_expression() { - return getRuleContext(IsNotEmpty_expressionContext.class,0); - } - public Any_expressionContext any_expression() { - return getRuleContext(Any_expressionContext.class,0); - } - public Any_expressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_any_expression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterAny_expression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitAny_expression(this); - } - } - - public final Any_expressionContext any_expression() throws RecognitionException { - Any_expressionContext _localctx = new Any_expressionContext(_ctx, getState()); - enterRule(_localctx, 50, RULE_any_expression); - try { - setState(234); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,22,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(221); - comparison_expression(); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(222); - like_expression(); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(223); - between_expression(); - } - break; - case 4: - enterOuterAlt(_localctx, 4); - { - setState(224); - propertyBetween_expression(); - } - break; - case 5: - enterOuterAlt(_localctx, 5); - { - setState(225); - in_expression(); - } - break; - case 6: - enterOuterAlt(_localctx, 6); - { - setState(226); - isNull_expression(); - } - break; - case 7: - enterOuterAlt(_localctx, 7); - { - setState(227); - isNotNull_expression(); - } - break; - case 8: - enterOuterAlt(_localctx, 8); - { - setState(228); - isEmpty_expression(); - } - break; - case 9: - enterOuterAlt(_localctx, 9); - { - setState(229); - isNotEmpty_expression(); - } - break; - case 10: - enterOuterAlt(_localctx, 10); - { - setState(230); - match(T__1); - setState(231); - any_expression(); - setState(232); - match(T__2); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class In_expressionContext extends ParserRuleContext { - public TerminalNode PATH_VARIABLE() { return getToken(EQLParser.PATH_VARIABLE, 0); } - public In_valueContext in_value() { - return getRuleContext(In_valueContext.class,0); - } - public In_expressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_in_expression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterIn_expression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitIn_expression(this); - } - } - - public final In_expressionContext in_expression() throws RecognitionException { - In_expressionContext _localctx = new In_expressionContext(_ctx, getState()); - enterRule(_localctx, 52, RULE_in_expression); - try { - enterOuterAlt(_localctx, 1); - { - setState(236); - match(PATH_VARIABLE); - setState(237); - match(T__22); - setState(238); - in_value(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class In_valueContext extends ParserRuleContext { - public TerminalNode INPUT_VARIABLE() { return getToken(EQLParser.INPUT_VARIABLE, 0); } - public List value_expression() { - return getRuleContexts(Value_expressionContext.class); - } - public Value_expressionContext value_expression(int i) { - return getRuleContext(Value_expressionContext.class,i); - } - public In_valueContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_in_value; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterIn_value(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitIn_value(this); - } - } - - public final In_valueContext in_value() throws RecognitionException { - In_valueContext _localctx = new In_valueContext(_ctx, getState()); - enterRule(_localctx, 54, RULE_in_value); - int _la; - try { - setState(252); - switch (_input.LA(1)) { - case INPUT_VARIABLE: - enterOuterAlt(_localctx, 1); - { - setState(240); - match(INPUT_VARIABLE); - } - break; - case T__1: - enterOuterAlt(_localctx, 2); - { - setState(241); - match(T__1); - setState(242); - value_expression(); - setState(247); - _errHandler.sync(this); - _la = _input.LA(1); - while (_la==T__7) { - { - { - setState(243); - match(T__7); - setState(244); - value_expression(); - } - } - setState(249); - _errHandler.sync(this); - _la = _input.LA(1); - } - setState(250); - match(T__2); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Between_expressionContext extends ParserRuleContext { - public TerminalNode PATH_VARIABLE() { return getToken(EQLParser.PATH_VARIABLE, 0); } - public List value_expression() { - return getRuleContexts(Value_expressionContext.class); - } - public Value_expressionContext value_expression(int i) { - return getRuleContext(Value_expressionContext.class,i); - } - public Between_expressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_between_expression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterBetween_expression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitBetween_expression(this); - } - } - - public final Between_expressionContext between_expression() throws RecognitionException { - Between_expressionContext _localctx = new Between_expressionContext(_ctx, getState()); - enterRule(_localctx, 56, RULE_between_expression); - try { - enterOuterAlt(_localctx, 1); - { - setState(254); - match(PATH_VARIABLE); - setState(255); - match(T__23); - setState(256); - value_expression(); - setState(257); - match(T__20); - setState(258); - value_expression(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class PropertyBetween_expressionContext extends ParserRuleContext { - public Value_expressionContext value_expression() { - return getRuleContext(Value_expressionContext.class,0); - } - public List PATH_VARIABLE() { return getTokens(EQLParser.PATH_VARIABLE); } - public TerminalNode PATH_VARIABLE(int i) { - return getToken(EQLParser.PATH_VARIABLE, i); - } - public PropertyBetween_expressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_propertyBetween_expression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterPropertyBetween_expression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitPropertyBetween_expression(this); - } - } - - public final PropertyBetween_expressionContext propertyBetween_expression() throws RecognitionException { - PropertyBetween_expressionContext _localctx = new PropertyBetween_expressionContext(_ctx, getState()); - enterRule(_localctx, 58, RULE_propertyBetween_expression); - try { - enterOuterAlt(_localctx, 1); - { - setState(260); - value_expression(); - setState(261); - match(T__23); - setState(262); - match(PATH_VARIABLE); - setState(263); - match(T__20); - setState(264); - match(PATH_VARIABLE); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class IsNull_expressionContext extends ParserRuleContext { - public TerminalNode PATH_VARIABLE() { return getToken(EQLParser.PATH_VARIABLE, 0); } - public IsNull_expressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_isNull_expression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterIsNull_expression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitIsNull_expression(this); - } - } - - public final IsNull_expressionContext isNull_expression() throws RecognitionException { - IsNull_expressionContext _localctx = new IsNull_expressionContext(_ctx, getState()); - enterRule(_localctx, 60, RULE_isNull_expression); - try { - setState(271); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,25,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(266); - match(PATH_VARIABLE); - setState(267); - match(T__24); - setState(268); - match(T__25); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(269); - match(PATH_VARIABLE); - setState(270); - match(T__26); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class IsNotNull_expressionContext extends ParserRuleContext { - public TerminalNode PATH_VARIABLE() { return getToken(EQLParser.PATH_VARIABLE, 0); } - public IsNotNull_expressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_isNotNull_expression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterIsNotNull_expression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitIsNotNull_expression(this); - } - } - - public final IsNotNull_expressionContext isNotNull_expression() throws RecognitionException { - IsNotNull_expressionContext _localctx = new IsNotNull_expressionContext(_ctx, getState()); - enterRule(_localctx, 62, RULE_isNotNull_expression); - try { - setState(281); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,26,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(273); - match(PATH_VARIABLE); - setState(274); - match(T__24); - setState(275); - match(T__21); - setState(276); - match(T__25); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(277); - match(PATH_VARIABLE); - setState(278); - match(T__27); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(279); - match(PATH_VARIABLE); - setState(280); - match(T__28); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class IsEmpty_expressionContext extends ParserRuleContext { - public TerminalNode PATH_VARIABLE() { return getToken(EQLParser.PATH_VARIABLE, 0); } - public IsEmpty_expressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_isEmpty_expression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterIsEmpty_expression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitIsEmpty_expression(this); - } - } - - public final IsEmpty_expressionContext isEmpty_expression() throws RecognitionException { - IsEmpty_expressionContext _localctx = new IsEmpty_expressionContext(_ctx, getState()); - enterRule(_localctx, 64, RULE_isEmpty_expression); - try { - setState(288); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,27,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(283); - match(PATH_VARIABLE); - setState(284); - match(T__24); - setState(285); - match(T__29); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(286); - match(PATH_VARIABLE); - setState(287); - match(T__30); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class IsNotEmpty_expressionContext extends ParserRuleContext { - public TerminalNode PATH_VARIABLE() { return getToken(EQLParser.PATH_VARIABLE, 0); } - public IsNotEmpty_expressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_isNotEmpty_expression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterIsNotEmpty_expression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitIsNotEmpty_expression(this); - } - } - - public final IsNotEmpty_expressionContext isNotEmpty_expression() throws RecognitionException { - IsNotEmpty_expressionContext _localctx = new IsNotEmpty_expressionContext(_ctx, getState()); - enterRule(_localctx, 66, RULE_isNotEmpty_expression); - try { - setState(298); - _errHandler.sync(this); - switch ( getInterpreter().adaptivePredict(_input,28,_ctx) ) { - case 1: - enterOuterAlt(_localctx, 1); - { - setState(290); - match(PATH_VARIABLE); - setState(291); - match(T__24); - setState(292); - match(T__21); - setState(293); - match(T__29); - } - break; - case 2: - enterOuterAlt(_localctx, 2); - { - setState(294); - match(PATH_VARIABLE); - setState(295); - match(T__31); - } - break; - case 3: - enterOuterAlt(_localctx, 3); - { - setState(296); - match(PATH_VARIABLE); - setState(297); - match(T__32); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Like_expressionContext extends ParserRuleContext { - public TerminalNode PATH_VARIABLE() { return getToken(EQLParser.PATH_VARIABLE, 0); } - public Like_opContext like_op() { - return getRuleContext(Like_opContext.class,0); - } - public Value_expressionContext value_expression() { - return getRuleContext(Value_expressionContext.class,0); - } - public Like_expressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_like_expression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterLike_expression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitLike_expression(this); - } - } - - public final Like_expressionContext like_expression() throws RecognitionException { - Like_expressionContext _localctx = new Like_expressionContext(_ctx, getState()); - enterRule(_localctx, 68, RULE_like_expression); - try { - enterOuterAlt(_localctx, 1); - { - setState(300); - match(PATH_VARIABLE); - setState(301); - like_op(); - setState(302); - value_expression(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Like_opContext extends ParserRuleContext { - public Like_opContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_like_op; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterLike_op(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitLike_op(this); - } - } - - public final Like_opContext like_op() throws RecognitionException { - Like_opContext _localctx = new Like_opContext(_ctx, getState()); - enterRule(_localctx, 70, RULE_like_op); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(304); - _la = _input.LA(1); - if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__33) | (1L << T__34) | (1L << T__35) | (1L << T__36) | (1L << T__37) | (1L << T__38) | (1L << T__39) | (1L << T__40))) != 0)) ) { - _errHandler.recoverInline(this); - } else { - consume(); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Comparison_expressionContext extends ParserRuleContext { - public TerminalNode PATH_VARIABLE() { return getToken(EQLParser.PATH_VARIABLE, 0); } - public Comparison_operatorContext comparison_operator() { - return getRuleContext(Comparison_operatorContext.class,0); - } - public Value_expressionContext value_expression() { - return getRuleContext(Value_expressionContext.class,0); - } - public Comparison_expressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_comparison_expression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterComparison_expression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitComparison_expression(this); - } - } - - public final Comparison_expressionContext comparison_expression() throws RecognitionException { - Comparison_expressionContext _localctx = new Comparison_expressionContext(_ctx, getState()); - enterRule(_localctx, 72, RULE_comparison_expression); - try { - setState(314); - switch (_input.LA(1)) { - case PATH_VARIABLE: - enterOuterAlt(_localctx, 1); - { - setState(306); - match(PATH_VARIABLE); - setState(307); - comparison_operator(); - setState(308); - value_expression(); - } - break; - case INPUT_VARIABLE: - case BOOLEAN_LITERAL: - case NUMBER_LITERAL: - case STRING_LITERAL: - enterOuterAlt(_localctx, 2); - { - setState(310); - value_expression(); - setState(311); - comparison_operator(); - setState(312); - match(PATH_VARIABLE); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Comparison_operatorContext extends ParserRuleContext { - public Comparison_operatorContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_comparison_operator; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterComparison_operator(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitComparison_operator(this); - } - } - - public final Comparison_operatorContext comparison_operator() throws RecognitionException { - Comparison_operatorContext _localctx = new Comparison_operatorContext(_ctx, getState()); - enterRule(_localctx, 74, RULE_comparison_operator); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(316); - _la = _input.LA(1); - if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__41) | (1L << T__42) | (1L << T__43) | (1L << T__44) | (1L << T__45) | (1L << T__46) | (1L << T__47) | (1L << T__48) | (1L << T__49) | (1L << T__50) | (1L << T__51) | (1L << T__52) | (1L << T__53) | (1L << T__54) | (1L << T__55) | (1L << T__56))) != 0)) ) { - _errHandler.recoverInline(this); - } else { - consume(); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class Value_expressionContext extends ParserRuleContext { - public LiteralContext literal() { - return getRuleContext(LiteralContext.class,0); - } - public TerminalNode INPUT_VARIABLE() { return getToken(EQLParser.INPUT_VARIABLE, 0); } - public Value_expressionContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_value_expression; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterValue_expression(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitValue_expression(this); - } - } - - public final Value_expressionContext value_expression() throws RecognitionException { - Value_expressionContext _localctx = new Value_expressionContext(_ctx, getState()); - enterRule(_localctx, 76, RULE_value_expression); - try { - setState(320); - switch (_input.LA(1)) { - case BOOLEAN_LITERAL: - case NUMBER_LITERAL: - case STRING_LITERAL: - enterOuterAlt(_localctx, 1); - { - setState(318); - literal(); - } - break; - case INPUT_VARIABLE: - enterOuterAlt(_localctx, 2); - { - setState(319); - match(INPUT_VARIABLE); - } - break; - default: - throw new NoViableAltException(this); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static class LiteralContext extends ParserRuleContext { - public TerminalNode STRING_LITERAL() { return getToken(EQLParser.STRING_LITERAL, 0); } - public TerminalNode BOOLEAN_LITERAL() { return getToken(EQLParser.BOOLEAN_LITERAL, 0); } - public TerminalNode NUMBER_LITERAL() { return getToken(EQLParser.NUMBER_LITERAL, 0); } - public LiteralContext(ParserRuleContext parent, int invokingState) { - super(parent, invokingState); - } - @Override public int getRuleIndex() { return RULE_literal; } - @Override - public void enterRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).enterLiteral(this); - } - @Override - public void exitRule(ParseTreeListener listener) { - if ( listener instanceof EQLListener ) ((EQLListener)listener).exitLiteral(this); - } - } - - public final LiteralContext literal() throws RecognitionException { - LiteralContext _localctx = new LiteralContext(_ctx, getState()); - enterRule(_localctx, 78, RULE_literal); - int _la; - try { - enterOuterAlt(_localctx, 1); - { - setState(322); - _la = _input.LA(1); - if ( !(((((_la - 60)) & ~0x3f) == 0 && ((1L << (_la - 60)) & ((1L << (BOOLEAN_LITERAL - 60)) | (1L << (NUMBER_LITERAL - 60)) | (1L << (STRING_LITERAL - 60)))) != 0)) ) { - _errHandler.recoverInline(this); - } else { - consume(); - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - _errHandler.reportError(this, re); - _errHandler.recover(this, re); - } - finally { - exitRule(); - } - return _localctx; - } - - public static final String _serializedATN = - "\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\3D\u0147\4\2\t\2\4"+ - "\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t"+ - "\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ - "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ - "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+ - "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\3\2\5\2T\n\2\3"+ - "\2\7\2W\n\2\f\2\16\2Z\13\2\3\2\5\2]\n\2\3\2\5\2`\n\2\3\2\5\2c\n\2\3\3"+ - "\3\3\5\3g\n\3\3\3\3\3\3\3\3\3\3\4\3\4\3\5\3\5\3\6\3\6\3\6\3\7\3\7\3\7"+ - "\3\7\3\7\7\7y\n\7\f\7\16\7|\13\7\3\b\3\b\5\b\u0080\n\b\3\b\5\b\u0083\n"+ - "\b\3\t\3\t\3\t\3\t\5\t\u0089\n\t\3\n\3\n\3\13\3\13\3\13\5\13\u0090\n\13"+ - "\3\f\3\f\3\f\3\r\3\r\5\r\u0097\n\r\3\r\3\r\5\r\u009b\n\r\3\16\3\16\3\16"+ - "\3\16\3\17\3\17\3\17\7\17\u00a4\n\17\f\17\16\17\u00a7\13\17\3\20\3\20"+ - "\3\20\5\20\u00ac\n\20\3\21\3\21\3\21\3\22\3\22\3\22\3\23\3\23\5\23\u00b6"+ - "\n\23\3\24\3\24\5\24\u00ba\n\24\3\25\3\25\5\25\u00be\n\25\3\26\3\26\3"+ - "\26\3\26\3\27\3\27\3\27\7\27\u00c7\n\27\f\27\16\27\u00ca\13\27\3\30\3"+ - "\30\3\30\7\30\u00cf\n\30\f\30\16\30\u00d2\13\30\3\31\5\31\u00d5\n\31\3"+ - "\31\3\31\3\32\3\32\3\32\3\32\3\32\5\32\u00de\n\32\3\33\3\33\3\33\3\33"+ - "\3\33\3\33\3\33\3\33\3\33\3\33\3\33\3\33\3\33\5\33\u00ed\n\33\3\34\3\34"+ - "\3\34\3\34\3\35\3\35\3\35\3\35\3\35\7\35\u00f8\n\35\f\35\16\35\u00fb\13"+ - "\35\3\35\3\35\5\35\u00ff\n\35\3\36\3\36\3\36\3\36\3\36\3\36\3\37\3\37"+ - "\3\37\3\37\3\37\3\37\3 \3 \3 \3 \3 \5 \u0112\n \3!\3!\3!\3!\3!\3!\3!\3"+ - "!\5!\u011c\n!\3\"\3\"\3\"\3\"\3\"\5\"\u0123\n\"\3#\3#\3#\3#\3#\3#\3#\3"+ - "#\5#\u012d\n#\3$\3$\3$\3$\3%\3%\3&\3&\3&\3&\3&\3&\3&\3&\5&\u013d\n&\3"+ - "\'\3\'\3(\3(\5(\u0143\n(\3)\3)\3)\2\2*\2\4\6\b\n\f\16\20\22\24\26\30\32"+ - "\34\36 \"$&(*,.\60\62\64\668:<>@BDFHJLNP\2\6\3\2\16\17\3\2$+\3\2,;\4\2"+ - ">?CC\u0148\2S\3\2\2\2\4d\3\2\2\2\6l\3\2\2\2\bn\3\2\2\2\np\3\2\2\2\fs\3"+ - "\2\2\2\16}\3\2\2\2\20\u0088\3\2\2\2\22\u008a\3\2\2\2\24\u008c\3\2\2\2"+ - "\26\u0091\3\2\2\2\30\u0094\3\2\2\2\32\u009c\3\2\2\2\34\u00a0\3\2\2\2\36"+ - "\u00ab\3\2\2\2 \u00ad\3\2\2\2\"\u00b0\3\2\2\2$\u00b5\3\2\2\2&\u00b7\3"+ - "\2\2\2(\u00bb\3\2\2\2*\u00bf\3\2\2\2,\u00c3\3\2\2\2.\u00cb\3\2\2\2\60"+ - "\u00d4\3\2\2\2\62\u00dd\3\2\2\2\64\u00ec\3\2\2\2\66\u00ee\3\2\2\28\u00fe"+ - "\3\2\2\2:\u0100\3\2\2\2<\u0106\3\2\2\2>\u0111\3\2\2\2@\u011b\3\2\2\2B"+ - "\u0122\3\2\2\2D\u012c\3\2\2\2F\u012e\3\2\2\2H\u0132\3\2\2\2J\u013c\3\2"+ - "\2\2L\u013e\3\2\2\2N\u0142\3\2\2\2P\u0144\3\2\2\2RT\5\4\3\2SR\3\2\2\2"+ - "ST\3\2\2\2TX\3\2\2\2UW\5\b\5\2VU\3\2\2\2WZ\3\2\2\2XV\3\2\2\2XY\3\2\2\2"+ - "Y\\\3\2\2\2ZX\3\2\2\2[]\5\n\6\2\\[\3\2\2\2\\]\3\2\2\2]_\3\2\2\2^`\5\f"+ - "\7\2_^\3\2\2\2_`\3\2\2\2`b\3\2\2\2ac\5\24\13\2ba\3\2\2\2bc\3\2\2\2c\3"+ - "\3\2\2\2df\7\3\2\2eg\5\6\4\2fe\3\2\2\2fg\3\2\2\2gh\3\2\2\2hi\7\4\2\2i"+ - "j\5\34\17\2jk\7\5\2\2k\5\3\2\2\2lm\7\6\2\2m\7\3\2\2\2no\5\30\r\2o\t\3"+ - "\2\2\2pq\7\7\2\2qr\5,\27\2r\13\3\2\2\2st\7\b\2\2tu\7\t\2\2uz\5\16\b\2"+ - "vw\7\n\2\2wy\5\16\b\2xv\3\2\2\2y|\3\2\2\2zx\3\2\2\2z{\3\2\2\2{\r\3\2\2"+ - "\2|z\3\2\2\2}\177\7=\2\2~\u0080\5\22\n\2\177~\3\2\2\2\177\u0080\3\2\2"+ - "\2\u0080\u0082\3\2\2\2\u0081\u0083\5\20\t\2\u0082\u0081\3\2\2\2\u0082"+ - "\u0083\3\2\2\2\u0083\17\3\2\2\2\u0084\u0085\7\13\2\2\u0085\u0089\7\f\2"+ - "\2\u0086\u0087\7\13\2\2\u0087\u0089\7\r\2\2\u0088\u0084\3\2\2\2\u0088"+ - "\u0086\3\2\2\2\u0089\21\3\2\2\2\u008a\u008b\t\2\2\2\u008b\23\3\2\2\2\u008c"+ - "\u008d\7\20\2\2\u008d\u008f\7?\2\2\u008e\u0090\5\26\f\2\u008f\u008e\3"+ - "\2\2\2\u008f\u0090\3\2\2\2\u0090\25\3\2\2\2\u0091\u0092\7\21\2\2\u0092"+ - "\u0093\7?\2\2\u0093\27\3\2\2\2\u0094\u0096\7\22\2\2\u0095\u0097\5$\23"+ - "\2\u0096\u0095\3\2\2\2\u0096\u0097\3\2\2\2\u0097\u0098\3\2\2\2\u0098\u009a"+ - "\7=\2\2\u0099\u009b\5\32\16\2\u009a\u0099\3\2\2\2\u009a\u009b\3\2\2\2"+ - "\u009b\31\3\2\2\2\u009c\u009d\7\4\2\2\u009d\u009e\5\34\17\2\u009e\u009f"+ - "\7\5\2\2\u009f\33\3\2\2\2\u00a0\u00a5\5\36\20\2\u00a1\u00a2\7\n\2\2\u00a2"+ - "\u00a4\5\36\20\2\u00a3\u00a1\3\2\2\2\u00a4\u00a7\3\2\2\2\u00a5\u00a3\3"+ - "\2\2\2\u00a5\u00a6\3\2\2\2\u00a6\35\3\2\2\2\u00a7\u00a5\3\2\2\2\u00a8"+ - "\u00ac\7=\2\2\u00a9\u00ac\5 \21\2\u00aa\u00ac\5\"\22\2\u00ab\u00a8\3\2"+ - "\2\2\u00ab\u00a9\3\2\2\2\u00ab\u00aa\3\2\2\2\u00ac\37\3\2\2\2\u00ad\u00ae"+ - "\7\23\2\2\u00ae\u00af\5&\24\2\u00af!\3\2\2\2\u00b0\u00b1\7\23\2\2\u00b1"+ - "\u00b2\5(\25\2\u00b2#\3\2\2\2\u00b3\u00b6\5&\24\2\u00b4\u00b6\5(\25\2"+ - "\u00b5\u00b3\3\2\2\2\u00b5\u00b4\3\2\2\2\u00b6%\3\2\2\2\u00b7\u00b9\7"+ - "\24\2\2\u00b8\u00ba\5*\26\2\u00b9\u00b8\3\2\2\2\u00b9\u00ba\3\2\2\2\u00ba"+ - "\'\3\2\2\2\u00bb\u00bd\7\25\2\2\u00bc\u00be\5*\26\2\u00bd\u00bc\3\2\2"+ - "\2\u00bd\u00be\3\2\2\2\u00be)\3\2\2\2\u00bf\u00c0\7\4\2\2\u00c0\u00c1"+ - "\7?\2\2\u00c1\u00c2\7\5\2\2\u00c2+\3\2\2\2\u00c3\u00c8\5.\30\2\u00c4\u00c5"+ - "\7\26\2\2\u00c5\u00c7\5.\30\2\u00c6\u00c4\3\2\2\2\u00c7\u00ca\3\2\2\2"+ - "\u00c8\u00c6\3\2\2\2\u00c8\u00c9\3\2\2\2\u00c9-\3\2\2\2\u00ca\u00c8\3"+ - "\2\2\2\u00cb\u00d0\5\60\31\2\u00cc\u00cd\7\27\2\2\u00cd\u00cf\5\60\31"+ - "\2\u00ce\u00cc\3\2\2\2\u00cf\u00d2\3\2\2\2\u00d0\u00ce\3\2\2\2\u00d0\u00d1"+ - "\3\2\2\2\u00d1/\3\2\2\2\u00d2\u00d0\3\2\2\2\u00d3\u00d5\7\30\2\2\u00d4"+ - "\u00d3\3\2\2\2\u00d4\u00d5\3\2\2\2\u00d5\u00d6\3\2\2\2\u00d6\u00d7\5\62"+ - "\32\2\u00d7\61\3\2\2\2\u00d8\u00de\5\64\33\2\u00d9\u00da\7\4\2\2\u00da"+ - "\u00db\5,\27\2\u00db\u00dc\7\5\2\2\u00dc\u00de\3\2\2\2\u00dd\u00d8\3\2"+ - "\2\2\u00dd\u00d9\3\2\2\2\u00de\63\3\2\2\2\u00df\u00ed\5J&\2\u00e0\u00ed"+ - "\5F$\2\u00e1\u00ed\5:\36\2\u00e2\u00ed\5<\37\2\u00e3\u00ed\5\66\34\2\u00e4"+ - "\u00ed\5> \2\u00e5\u00ed\5@!\2\u00e6\u00ed\5B\"\2\u00e7\u00ed\5D#\2\u00e8"+ - "\u00e9\7\4\2\2\u00e9\u00ea\5\64\33\2\u00ea\u00eb\7\5\2\2\u00eb\u00ed\3"+ - "\2\2\2\u00ec\u00df\3\2\2\2\u00ec\u00e0\3\2\2\2\u00ec\u00e1\3\2\2\2\u00ec"+ - "\u00e2\3\2\2\2\u00ec\u00e3\3\2\2\2\u00ec\u00e4\3\2\2\2\u00ec\u00e5\3\2"+ - "\2\2\u00ec\u00e6\3\2\2\2\u00ec\u00e7\3\2\2\2\u00ec\u00e8\3\2\2\2\u00ed"+ - "\65\3\2\2\2\u00ee\u00ef\7=\2\2\u00ef\u00f0\7\31\2\2\u00f0\u00f1\58\35"+ - "\2\u00f1\67\3\2\2\2\u00f2\u00ff\7<\2\2\u00f3\u00f4\7\4\2\2\u00f4\u00f9"+ - "\5N(\2\u00f5\u00f6\7\n\2\2\u00f6\u00f8\5N(\2\u00f7\u00f5\3\2\2\2\u00f8"+ - "\u00fb\3\2\2\2\u00f9\u00f7\3\2\2\2\u00f9\u00fa\3\2\2\2\u00fa\u00fc\3\2"+ - "\2\2\u00fb\u00f9\3\2\2\2\u00fc\u00fd\7\5\2\2\u00fd\u00ff\3\2\2\2\u00fe"+ - "\u00f2\3\2\2\2\u00fe\u00f3\3\2\2\2\u00ff9\3\2\2\2\u0100\u0101\7=\2\2\u0101"+ - "\u0102\7\32\2\2\u0102\u0103\5N(\2\u0103\u0104\7\27\2\2\u0104\u0105\5N"+ - "(\2\u0105;\3\2\2\2\u0106\u0107\5N(\2\u0107\u0108\7\32\2\2\u0108\u0109"+ - "\7=\2\2\u0109\u010a\7\27\2\2\u010a\u010b\7=\2\2\u010b=\3\2\2\2\u010c\u010d"+ - "\7=\2\2\u010d\u010e\7\33\2\2\u010e\u0112\7\34\2\2\u010f\u0110\7=\2\2\u0110"+ - "\u0112\7\35\2\2\u0111\u010c\3\2\2\2\u0111\u010f\3\2\2\2\u0112?\3\2\2\2"+ - "\u0113\u0114\7=\2\2\u0114\u0115\7\33\2\2\u0115\u0116\7\30\2\2\u0116\u011c"+ - "\7\34\2\2\u0117\u0118\7=\2\2\u0118\u011c\7\36\2\2\u0119\u011a\7=\2\2\u011a"+ - "\u011c\7\37\2\2\u011b\u0113\3\2\2\2\u011b\u0117\3\2\2\2\u011b\u0119\3"+ - "\2\2\2\u011cA\3\2\2\2\u011d\u011e\7=\2\2\u011e\u011f\7\33\2\2\u011f\u0123"+ - "\7 \2\2\u0120\u0121\7=\2\2\u0121\u0123\7!\2\2\u0122\u011d\3\2\2\2\u0122"+ - "\u0120\3\2\2\2\u0123C\3\2\2\2\u0124\u0125\7=\2\2\u0125\u0126\7\33\2\2"+ - "\u0126\u0127\7\30\2\2\u0127\u012d\7 \2\2\u0128\u0129\7=\2\2\u0129\u012d"+ - "\7\"\2\2\u012a\u012b\7=\2\2\u012b\u012d\7#\2\2\u012c\u0124\3\2\2\2\u012c"+ - "\u0128\3\2\2\2\u012c\u012a\3\2\2\2\u012dE\3\2\2\2\u012e\u012f\7=\2\2\u012f"+ - "\u0130\5H%\2\u0130\u0131\5N(\2\u0131G\3\2\2\2\u0132\u0133\t\3\2\2\u0133"+ - "I\3\2\2\2\u0134\u0135\7=\2\2\u0135\u0136\5L\'\2\u0136\u0137\5N(\2\u0137"+ - "\u013d\3\2\2\2\u0138\u0139\5N(\2\u0139\u013a\5L\'\2\u013a\u013b\7=\2\2"+ - "\u013b\u013d\3\2\2\2\u013c\u0134\3\2\2\2\u013c\u0138\3\2\2\2\u013dK\3"+ - "\2\2\2\u013e\u013f\t\4\2\2\u013fM\3\2\2\2\u0140\u0143\5P)\2\u0141\u0143"+ - "\7<\2\2\u0142\u0140\3\2\2\2\u0142\u0141\3\2\2\2\u0143O\3\2\2\2\u0144\u0145"+ - "\t\5\2\2\u0145Q\3\2\2\2!SX\\_bfz\177\u0082\u0088\u008f\u0096\u009a\u00a5"+ - "\u00ab\u00b5\u00b9\u00bd\u00c8\u00d0\u00d4\u00dd\u00ec\u00f9\u00fe\u0111"+ - "\u011b\u0122\u012c\u013c\u0142"; - public static final ATN _ATN = - new ATNDeserializer().deserialize(_serializedATN.toCharArray()); - static { - _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; - for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { - _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); - } - } -} \ No newline at end of file + public EQLParser(TokenStream input) { + super(input); + _interp = new ParserATNSimulator(this, _ATN, _decisionToDFA, _sharedContextCache); + } + + public static class Select_statementContext extends ParserRuleContext { + public Select_clauseContext select_clause() { + return getRuleContext(Select_clauseContext.class, 0); + } + + public List fetch_clause() { + return getRuleContexts(Fetch_clauseContext.class); + } + + public Fetch_clauseContext fetch_clause(int i) { + return getRuleContext(Fetch_clauseContext.class, i); + } + + public Where_clauseContext where_clause() { + return getRuleContext(Where_clauseContext.class, 0); + } + + public Orderby_clauseContext orderby_clause() { + return getRuleContext(Orderby_clauseContext.class, 0); + } + + public Limit_clauseContext limit_clause() { + return getRuleContext(Limit_clauseContext.class, 0); + } + + public Select_statementContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_select_statement; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterSelect_statement(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitSelect_statement(this); + } + } + + public final Select_statementContext select_statement() throws RecognitionException { + Select_statementContext _localctx = new Select_statementContext(_ctx, getState()); + enterRule(_localctx, 0, RULE_select_statement); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(81); + _la = _input.LA(1); + if (_la == T__0) { + { + setState(80); + select_clause(); + } + } + + setState(86); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la == T__15) { + { + { + setState(83); + fetch_clause(); + } + } + setState(88); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(90); + _la = _input.LA(1); + if (_la == T__4) { + { + setState(89); + where_clause(); + } + } + + setState(93); + _la = _input.LA(1); + if (_la == T__5) { + { + setState(92); + orderby_clause(); + } + } + + setState(96); + _la = _input.LA(1); + if (_la == T__13) { + { + setState(95); + limit_clause(); + } + } + + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Select_clauseContext extends ParserRuleContext { + public Fetch_property_groupContext fetch_property_group() { + return getRuleContext(Fetch_property_groupContext.class, 0); + } + + public DistinctContext distinct() { + return getRuleContext(DistinctContext.class, 0); + } + + public Select_clauseContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_select_clause; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterSelect_clause(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitSelect_clause(this); + } + } + + public final Select_clauseContext select_clause() throws RecognitionException { + Select_clauseContext _localctx = new Select_clauseContext(_ctx, getState()); + enterRule(_localctx, 2, RULE_select_clause); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(98); + match(T__0); + setState(100); + _la = _input.LA(1); + if (_la == T__3) { + { + setState(99); + distinct(); + } + } + + setState(102); + match(T__1); + setState(103); + fetch_property_group(); + setState(104); + match(T__2); + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class DistinctContext extends ParserRuleContext { + public DistinctContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_distinct; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterDistinct(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitDistinct(this); + } + } + + public final DistinctContext distinct() throws RecognitionException { + DistinctContext _localctx = new DistinctContext(_ctx, getState()); + enterRule(_localctx, 4, RULE_distinct); + try { + enterOuterAlt(_localctx, 1); + { + setState(106); + match(T__3); + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Fetch_clauseContext extends ParserRuleContext { + public Fetch_pathContext fetch_path() { + return getRuleContext(Fetch_pathContext.class, 0); + } + + public Fetch_clauseContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_fetch_clause; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterFetch_clause(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitFetch_clause(this); + } + } + + public final Fetch_clauseContext fetch_clause() throws RecognitionException { + Fetch_clauseContext _localctx = new Fetch_clauseContext(_ctx, getState()); + enterRule(_localctx, 6, RULE_fetch_clause); + try { + enterOuterAlt(_localctx, 1); + { + setState(108); + fetch_path(); + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Where_clauseContext extends ParserRuleContext { + public Conditional_expressionContext conditional_expression() { + return getRuleContext(Conditional_expressionContext.class, 0); + } + + public Where_clauseContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_where_clause; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterWhere_clause(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitWhere_clause(this); + } + } + + public final Where_clauseContext where_clause() throws RecognitionException { + Where_clauseContext _localctx = new Where_clauseContext(_ctx, getState()); + enterRule(_localctx, 8, RULE_where_clause); + try { + enterOuterAlt(_localctx, 1); + { + setState(110); + match(T__4); + setState(111); + conditional_expression(); + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Orderby_clauseContext extends ParserRuleContext { + public List orderby_property() { + return getRuleContexts(Orderby_propertyContext.class); + } + + public Orderby_propertyContext orderby_property(int i) { + return getRuleContext(Orderby_propertyContext.class, i); + } + + public Orderby_clauseContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_orderby_clause; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterOrderby_clause(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitOrderby_clause(this); + } + } + + public final Orderby_clauseContext orderby_clause() throws RecognitionException { + Orderby_clauseContext _localctx = new Orderby_clauseContext(_ctx, getState()); + enterRule(_localctx, 10, RULE_orderby_clause); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(113); + match(T__5); + setState(114); + match(T__6); + setState(115); + orderby_property(); + setState(120); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la == T__7) { + { + { + setState(116); + match(T__7); + setState(117); + orderby_property(); + } + } + setState(122); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Orderby_propertyContext extends ParserRuleContext { + public TerminalNode PATH_VARIABLE() { + return getToken(EQLParser.PATH_VARIABLE, 0); + } + + public Asc_descContext asc_desc() { + return getRuleContext(Asc_descContext.class, 0); + } + + public Nulls_firstlastContext nulls_firstlast() { + return getRuleContext(Nulls_firstlastContext.class, 0); + } + + public Orderby_propertyContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_orderby_property; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterOrderby_property(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitOrderby_property(this); + } + } + + public final Orderby_propertyContext orderby_property() throws RecognitionException { + Orderby_propertyContext _localctx = new Orderby_propertyContext(_ctx, getState()); + enterRule(_localctx, 12, RULE_orderby_property); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(123); + match(PATH_VARIABLE); + setState(125); + _la = _input.LA(1); + if (_la == T__11 || _la == T__12) { + { + setState(124); + asc_desc(); + } + } + + setState(128); + _la = _input.LA(1); + if (_la == T__8) { + { + setState(127); + nulls_firstlast(); + } + } + + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Nulls_firstlastContext extends ParserRuleContext { + public Nulls_firstlastContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_nulls_firstlast; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterNulls_firstlast(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitNulls_firstlast(this); + } + } + + public final Nulls_firstlastContext nulls_firstlast() throws RecognitionException { + Nulls_firstlastContext _localctx = new Nulls_firstlastContext(_ctx, getState()); + enterRule(_localctx, 14, RULE_nulls_firstlast); + try { + setState(134); + _errHandler.sync(this); + switch (getInterpreter().adaptivePredict(_input, 9, _ctx)) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(130); + match(T__8); + setState(131); + match(T__9); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(132); + match(T__8); + setState(133); + match(T__10); + } + break; + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Asc_descContext extends ParserRuleContext { + public Asc_descContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_asc_desc; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterAsc_desc(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitAsc_desc(this); + } + } + + public final Asc_descContext asc_desc() throws RecognitionException { + Asc_descContext _localctx = new Asc_descContext(_ctx, getState()); + enterRule(_localctx, 16, RULE_asc_desc); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(136); + _la = _input.LA(1); + if (!(_la == T__11 || _la == T__12)) { + _errHandler.recoverInline(this); + } else { + consume(); + } + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Limit_clauseContext extends ParserRuleContext { + public TerminalNode NUMBER_LITERAL() { + return getToken(EQLParser.NUMBER_LITERAL, 0); + } + + public Offset_clauseContext offset_clause() { + return getRuleContext(Offset_clauseContext.class, 0); + } + + public Limit_clauseContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_limit_clause; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterLimit_clause(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitLimit_clause(this); + } + } + + public final Limit_clauseContext limit_clause() throws RecognitionException { + Limit_clauseContext _localctx = new Limit_clauseContext(_ctx, getState()); + enterRule(_localctx, 18, RULE_limit_clause); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(138); + match(T__13); + setState(139); + match(NUMBER_LITERAL); + setState(141); + _la = _input.LA(1); + if (_la == T__14) { + { + setState(140); + offset_clause(); + } + } + + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Offset_clauseContext extends ParserRuleContext { + public TerminalNode NUMBER_LITERAL() { + return getToken(EQLParser.NUMBER_LITERAL, 0); + } + + public Offset_clauseContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_offset_clause; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterOffset_clause(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitOffset_clause(this); + } + } + + public final Offset_clauseContext offset_clause() throws RecognitionException { + Offset_clauseContext _localctx = new Offset_clauseContext(_ctx, getState()); + enterRule(_localctx, 20, RULE_offset_clause); + try { + enterOuterAlt(_localctx, 1); + { + setState(143); + match(T__14); + setState(144); + match(NUMBER_LITERAL); + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Fetch_pathContext extends ParserRuleContext { + public TerminalNode PATH_VARIABLE() { + return getToken(EQLParser.PATH_VARIABLE, 0); + } + + public Fetch_optionContext fetch_option() { + return getRuleContext(Fetch_optionContext.class, 0); + } + + public Fetch_property_setContext fetch_property_set() { + return getRuleContext(Fetch_property_setContext.class, 0); + } + + public Fetch_pathContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_fetch_path; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterFetch_path(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitFetch_path(this); + } + } + + public final Fetch_pathContext fetch_path() throws RecognitionException { + Fetch_pathContext _localctx = new Fetch_pathContext(_ctx, getState()); + enterRule(_localctx, 22, RULE_fetch_path); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(146); + match(T__15); + setState(148); + _la = _input.LA(1); + if (_la == T__17 || _la == T__18) { + { + setState(147); + fetch_option(); + } + } + + setState(150); + match(PATH_VARIABLE); + setState(152); + _la = _input.LA(1); + if (_la == T__1) { + { + setState(151); + fetch_property_set(); + } + } + + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Fetch_property_setContext extends ParserRuleContext { + public Fetch_property_groupContext fetch_property_group() { + return getRuleContext(Fetch_property_groupContext.class, 0); + } + + public Fetch_property_setContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_fetch_property_set; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterFetch_property_set(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitFetch_property_set(this); + } + } + + public final Fetch_property_setContext fetch_property_set() throws RecognitionException { + Fetch_property_setContext _localctx = new Fetch_property_setContext(_ctx, getState()); + enterRule(_localctx, 24, RULE_fetch_property_set); + try { + enterOuterAlt(_localctx, 1); + { + setState(154); + match(T__1); + setState(155); + fetch_property_group(); + setState(156); + match(T__2); + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Fetch_property_groupContext extends ParserRuleContext { + public List fetch_property() { + return getRuleContexts(Fetch_propertyContext.class); + } + + public Fetch_propertyContext fetch_property(int i) { + return getRuleContext(Fetch_propertyContext.class, i); + } + + public Fetch_property_groupContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_fetch_property_group; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterFetch_property_group(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitFetch_property_group(this); + } + } + + public final Fetch_property_groupContext fetch_property_group() throws RecognitionException { + Fetch_property_groupContext _localctx = new Fetch_property_groupContext(_ctx, getState()); + enterRule(_localctx, 26, RULE_fetch_property_group); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(158); + fetch_property(); + setState(163); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la == T__7) { + { + { + setState(159); + match(T__7); + setState(160); + fetch_property(); + } + } + setState(165); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Fetch_propertyContext extends ParserRuleContext { + public TerminalNode PATH_VARIABLE() { + return getToken(EQLParser.PATH_VARIABLE, 0); + } + + public Fetch_query_hintContext fetch_query_hint() { + return getRuleContext(Fetch_query_hintContext.class, 0); + } + + public Fetch_lazy_hintContext fetch_lazy_hint() { + return getRuleContext(Fetch_lazy_hintContext.class, 0); + } + + public Fetch_propertyContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_fetch_property; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterFetch_property(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitFetch_property(this); + } + } + + public final Fetch_propertyContext fetch_property() throws RecognitionException { + Fetch_propertyContext _localctx = new Fetch_propertyContext(_ctx, getState()); + enterRule(_localctx, 28, RULE_fetch_property); + try { + setState(169); + _errHandler.sync(this); + switch (getInterpreter().adaptivePredict(_input, 14, _ctx)) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(166); + match(PATH_VARIABLE); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(167); + fetch_query_hint(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(168); + fetch_lazy_hint(); + } + break; + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Fetch_query_hintContext extends ParserRuleContext { + public Fetch_query_optionContext fetch_query_option() { + return getRuleContext(Fetch_query_optionContext.class, 0); + } + + public Fetch_query_hintContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_fetch_query_hint; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterFetch_query_hint(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitFetch_query_hint(this); + } + } + + public final Fetch_query_hintContext fetch_query_hint() throws RecognitionException { + Fetch_query_hintContext _localctx = new Fetch_query_hintContext(_ctx, getState()); + enterRule(_localctx, 30, RULE_fetch_query_hint); + try { + enterOuterAlt(_localctx, 1); + { + setState(171); + match(T__16); + setState(172); + fetch_query_option(); + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Fetch_lazy_hintContext extends ParserRuleContext { + public Fetch_lazy_optionContext fetch_lazy_option() { + return getRuleContext(Fetch_lazy_optionContext.class, 0); + } + + public Fetch_lazy_hintContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_fetch_lazy_hint; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterFetch_lazy_hint(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitFetch_lazy_hint(this); + } + } + + public final Fetch_lazy_hintContext fetch_lazy_hint() throws RecognitionException { + Fetch_lazy_hintContext _localctx = new Fetch_lazy_hintContext(_ctx, getState()); + enterRule(_localctx, 32, RULE_fetch_lazy_hint); + try { + enterOuterAlt(_localctx, 1); + { + setState(174); + match(T__16); + setState(175); + fetch_lazy_option(); + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Fetch_optionContext extends ParserRuleContext { + public Fetch_query_optionContext fetch_query_option() { + return getRuleContext(Fetch_query_optionContext.class, 0); + } + + public Fetch_lazy_optionContext fetch_lazy_option() { + return getRuleContext(Fetch_lazy_optionContext.class, 0); + } + + public Fetch_optionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_fetch_option; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterFetch_option(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitFetch_option(this); + } + } + + public final Fetch_optionContext fetch_option() throws RecognitionException { + Fetch_optionContext _localctx = new Fetch_optionContext(_ctx, getState()); + enterRule(_localctx, 34, RULE_fetch_option); + try { + setState(179); + switch (_input.LA(1)) { + case T__17: + enterOuterAlt(_localctx, 1); + { + setState(177); + fetch_query_option(); + } + break; + case T__18: + enterOuterAlt(_localctx, 2); + { + setState(178); + fetch_lazy_option(); + } + break; + default: + throw new NoViableAltException(this); + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Fetch_query_optionContext extends ParserRuleContext { + public Fetch_batch_sizeContext fetch_batch_size() { + return getRuleContext(Fetch_batch_sizeContext.class, 0); + } + + public Fetch_query_optionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_fetch_query_option; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterFetch_query_option(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitFetch_query_option(this); + } + } + + public final Fetch_query_optionContext fetch_query_option() throws RecognitionException { + Fetch_query_optionContext _localctx = new Fetch_query_optionContext(_ctx, getState()); + enterRule(_localctx, 36, RULE_fetch_query_option); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(181); + match(T__17); + setState(183); + _la = _input.LA(1); + if (_la == T__1) { + { + setState(182); + fetch_batch_size(); + } + } + + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Fetch_lazy_optionContext extends ParserRuleContext { + public Fetch_batch_sizeContext fetch_batch_size() { + return getRuleContext(Fetch_batch_sizeContext.class, 0); + } + + public Fetch_lazy_optionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_fetch_lazy_option; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterFetch_lazy_option(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitFetch_lazy_option(this); + } + } + + public final Fetch_lazy_optionContext fetch_lazy_option() throws RecognitionException { + Fetch_lazy_optionContext _localctx = new Fetch_lazy_optionContext(_ctx, getState()); + enterRule(_localctx, 38, RULE_fetch_lazy_option); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(185); + match(T__18); + setState(187); + _la = _input.LA(1); + if (_la == T__1) { + { + setState(186); + fetch_batch_size(); + } + } + + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Fetch_batch_sizeContext extends ParserRuleContext { + public TerminalNode NUMBER_LITERAL() { + return getToken(EQLParser.NUMBER_LITERAL, 0); + } + + public Fetch_batch_sizeContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_fetch_batch_size; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterFetch_batch_size(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitFetch_batch_size(this); + } + } + + public final Fetch_batch_sizeContext fetch_batch_size() throws RecognitionException { + Fetch_batch_sizeContext _localctx = new Fetch_batch_sizeContext(_ctx, getState()); + enterRule(_localctx, 40, RULE_fetch_batch_size); + try { + enterOuterAlt(_localctx, 1); + { + setState(189); + match(T__1); + setState(190); + match(NUMBER_LITERAL); + setState(191); + match(T__2); + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Conditional_expressionContext extends ParserRuleContext { + public List conditional_term() { + return getRuleContexts(Conditional_termContext.class); + } + + public Conditional_termContext conditional_term(int i) { + return getRuleContext(Conditional_termContext.class, i); + } + + public Conditional_expressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_conditional_expression; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterConditional_expression(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitConditional_expression(this); + } + } + + public final Conditional_expressionContext conditional_expression() throws RecognitionException { + Conditional_expressionContext _localctx = new Conditional_expressionContext(_ctx, getState()); + enterRule(_localctx, 42, RULE_conditional_expression); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(193); + conditional_term(); + setState(198); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la == T__19) { + { + { + setState(194); + match(T__19); + setState(195); + conditional_term(); + } + } + setState(200); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Conditional_termContext extends ParserRuleContext { + public List conditional_factor() { + return getRuleContexts(Conditional_factorContext.class); + } + + public Conditional_factorContext conditional_factor(int i) { + return getRuleContext(Conditional_factorContext.class, i); + } + + public Conditional_termContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_conditional_term; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterConditional_term(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitConditional_term(this); + } + } + + public final Conditional_termContext conditional_term() throws RecognitionException { + Conditional_termContext _localctx = new Conditional_termContext(_ctx, getState()); + enterRule(_localctx, 44, RULE_conditional_term); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(201); + conditional_factor(); + setState(206); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la == T__20) { + { + { + setState(202); + match(T__20); + setState(203); + conditional_factor(); + } + } + setState(208); + _errHandler.sync(this); + _la = _input.LA(1); + } + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Conditional_factorContext extends ParserRuleContext { + public Conditional_primaryContext conditional_primary() { + return getRuleContext(Conditional_primaryContext.class, 0); + } + + public Conditional_factorContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_conditional_factor; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterConditional_factor(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitConditional_factor(this); + } + } + + public final Conditional_factorContext conditional_factor() throws RecognitionException { + Conditional_factorContext _localctx = new Conditional_factorContext(_ctx, getState()); + enterRule(_localctx, 46, RULE_conditional_factor); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(210); + _la = _input.LA(1); + if (_la == T__21) { + { + setState(209); + match(T__21); + } + } + + setState(212); + conditional_primary(); + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Conditional_primaryContext extends ParserRuleContext { + public Any_expressionContext any_expression() { + return getRuleContext(Any_expressionContext.class, 0); + } + + public Conditional_expressionContext conditional_expression() { + return getRuleContext(Conditional_expressionContext.class, 0); + } + + public Conditional_primaryContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_conditional_primary; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterConditional_primary(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitConditional_primary(this); + } + } + + public final Conditional_primaryContext conditional_primary() throws RecognitionException { + Conditional_primaryContext _localctx = new Conditional_primaryContext(_ctx, getState()); + enterRule(_localctx, 48, RULE_conditional_primary); + try { + setState(219); + _errHandler.sync(this); + switch (getInterpreter().adaptivePredict(_input, 21, _ctx)) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(214); + any_expression(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(215); + match(T__1); + setState(216); + conditional_expression(); + setState(217); + match(T__2); + } + break; + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Any_expressionContext extends ParserRuleContext { + public Comparison_expressionContext comparison_expression() { + return getRuleContext(Comparison_expressionContext.class, 0); + } + + public Like_expressionContext like_expression() { + return getRuleContext(Like_expressionContext.class, 0); + } + + public Between_expressionContext between_expression() { + return getRuleContext(Between_expressionContext.class, 0); + } + + public PropertyBetween_expressionContext propertyBetween_expression() { + return getRuleContext(PropertyBetween_expressionContext.class, 0); + } + + public In_expressionContext in_expression() { + return getRuleContext(In_expressionContext.class, 0); + } + + public IsNull_expressionContext isNull_expression() { + return getRuleContext(IsNull_expressionContext.class, 0); + } + + public IsNotNull_expressionContext isNotNull_expression() { + return getRuleContext(IsNotNull_expressionContext.class, 0); + } + + public IsEmpty_expressionContext isEmpty_expression() { + return getRuleContext(IsEmpty_expressionContext.class, 0); + } + + public IsNotEmpty_expressionContext isNotEmpty_expression() { + return getRuleContext(IsNotEmpty_expressionContext.class, 0); + } + + public Any_expressionContext any_expression() { + return getRuleContext(Any_expressionContext.class, 0); + } + + public Any_expressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_any_expression; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterAny_expression(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitAny_expression(this); + } + } + + public final Any_expressionContext any_expression() throws RecognitionException { + Any_expressionContext _localctx = new Any_expressionContext(_ctx, getState()); + enterRule(_localctx, 50, RULE_any_expression); + try { + setState(234); + _errHandler.sync(this); + switch (getInterpreter().adaptivePredict(_input, 22, _ctx)) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(221); + comparison_expression(); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(222); + like_expression(); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(223); + between_expression(); + } + break; + case 4: + enterOuterAlt(_localctx, 4); + { + setState(224); + propertyBetween_expression(); + } + break; + case 5: + enterOuterAlt(_localctx, 5); + { + setState(225); + in_expression(); + } + break; + case 6: + enterOuterAlt(_localctx, 6); + { + setState(226); + isNull_expression(); + } + break; + case 7: + enterOuterAlt(_localctx, 7); + { + setState(227); + isNotNull_expression(); + } + break; + case 8: + enterOuterAlt(_localctx, 8); + { + setState(228); + isEmpty_expression(); + } + break; + case 9: + enterOuterAlt(_localctx, 9); + { + setState(229); + isNotEmpty_expression(); + } + break; + case 10: + enterOuterAlt(_localctx, 10); + { + setState(230); + match(T__1); + setState(231); + any_expression(); + setState(232); + match(T__2); + } + break; + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class In_expressionContext extends ParserRuleContext { + public TerminalNode PATH_VARIABLE() { + return getToken(EQLParser.PATH_VARIABLE, 0); + } + + public In_valueContext in_value() { + return getRuleContext(In_valueContext.class, 0); + } + + public In_expressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_in_expression; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterIn_expression(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitIn_expression(this); + } + } + + public final In_expressionContext in_expression() throws RecognitionException { + In_expressionContext _localctx = new In_expressionContext(_ctx, getState()); + enterRule(_localctx, 52, RULE_in_expression); + try { + enterOuterAlt(_localctx, 1); + { + setState(236); + match(PATH_VARIABLE); + setState(237); + match(T__22); + setState(238); + in_value(); + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class In_valueContext extends ParserRuleContext { + public TerminalNode INPUT_VARIABLE() { + return getToken(EQLParser.INPUT_VARIABLE, 0); + } + + public List value_expression() { + return getRuleContexts(Value_expressionContext.class); + } + + public Value_expressionContext value_expression(int i) { + return getRuleContext(Value_expressionContext.class, i); + } + + public In_valueContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_in_value; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterIn_value(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitIn_value(this); + } + } + + public final In_valueContext in_value() throws RecognitionException { + In_valueContext _localctx = new In_valueContext(_ctx, getState()); + enterRule(_localctx, 54, RULE_in_value); + int _la; + try { + setState(252); + switch (_input.LA(1)) { + case INPUT_VARIABLE: + enterOuterAlt(_localctx, 1); + { + setState(240); + match(INPUT_VARIABLE); + } + break; + case T__1: + enterOuterAlt(_localctx, 2); + { + setState(241); + match(T__1); + setState(242); + value_expression(); + setState(247); + _errHandler.sync(this); + _la = _input.LA(1); + while (_la == T__7) { + { + { + setState(243); + match(T__7); + setState(244); + value_expression(); + } + } + setState(249); + _errHandler.sync(this); + _la = _input.LA(1); + } + setState(250); + match(T__2); + } + break; + default: + throw new NoViableAltException(this); + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Between_expressionContext extends ParserRuleContext { + public TerminalNode PATH_VARIABLE() { + return getToken(EQLParser.PATH_VARIABLE, 0); + } + + public List value_expression() { + return getRuleContexts(Value_expressionContext.class); + } + + public Value_expressionContext value_expression(int i) { + return getRuleContext(Value_expressionContext.class, i); + } + + public Between_expressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_between_expression; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterBetween_expression(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitBetween_expression(this); + } + } + + public final Between_expressionContext between_expression() throws RecognitionException { + Between_expressionContext _localctx = new Between_expressionContext(_ctx, getState()); + enterRule(_localctx, 56, RULE_between_expression); + try { + enterOuterAlt(_localctx, 1); + { + setState(254); + match(PATH_VARIABLE); + setState(255); + match(T__23); + setState(256); + value_expression(); + setState(257); + match(T__20); + setState(258); + value_expression(); + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class PropertyBetween_expressionContext extends ParserRuleContext { + public Value_expressionContext value_expression() { + return getRuleContext(Value_expressionContext.class, 0); + } + + public List PATH_VARIABLE() { + return getTokens(EQLParser.PATH_VARIABLE); + } + + public TerminalNode PATH_VARIABLE(int i) { + return getToken(EQLParser.PATH_VARIABLE, i); + } + + public PropertyBetween_expressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_propertyBetween_expression; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterPropertyBetween_expression(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitPropertyBetween_expression(this); + } + } + + public final PropertyBetween_expressionContext propertyBetween_expression() throws RecognitionException { + PropertyBetween_expressionContext _localctx = new PropertyBetween_expressionContext(_ctx, getState()); + enterRule(_localctx, 58, RULE_propertyBetween_expression); + try { + enterOuterAlt(_localctx, 1); + { + setState(260); + value_expression(); + setState(261); + match(T__23); + setState(262); + match(PATH_VARIABLE); + setState(263); + match(T__20); + setState(264); + match(PATH_VARIABLE); + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class IsNull_expressionContext extends ParserRuleContext { + public TerminalNode PATH_VARIABLE() { + return getToken(EQLParser.PATH_VARIABLE, 0); + } + + public IsNull_expressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_isNull_expression; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterIsNull_expression(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitIsNull_expression(this); + } + } + + public final IsNull_expressionContext isNull_expression() throws RecognitionException { + IsNull_expressionContext _localctx = new IsNull_expressionContext(_ctx, getState()); + enterRule(_localctx, 60, RULE_isNull_expression); + try { + setState(271); + _errHandler.sync(this); + switch (getInterpreter().adaptivePredict(_input, 25, _ctx)) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(266); + match(PATH_VARIABLE); + setState(267); + match(T__24); + setState(268); + match(T__25); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(269); + match(PATH_VARIABLE); + setState(270); + match(T__26); + } + break; + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class IsNotNull_expressionContext extends ParserRuleContext { + public TerminalNode PATH_VARIABLE() { + return getToken(EQLParser.PATH_VARIABLE, 0); + } + + public IsNotNull_expressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_isNotNull_expression; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterIsNotNull_expression(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitIsNotNull_expression(this); + } + } + + public final IsNotNull_expressionContext isNotNull_expression() throws RecognitionException { + IsNotNull_expressionContext _localctx = new IsNotNull_expressionContext(_ctx, getState()); + enterRule(_localctx, 62, RULE_isNotNull_expression); + try { + setState(281); + _errHandler.sync(this); + switch (getInterpreter().adaptivePredict(_input, 26, _ctx)) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(273); + match(PATH_VARIABLE); + setState(274); + match(T__24); + setState(275); + match(T__21); + setState(276); + match(T__25); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(277); + match(PATH_VARIABLE); + setState(278); + match(T__27); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(279); + match(PATH_VARIABLE); + setState(280); + match(T__28); + } + break; + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class IsEmpty_expressionContext extends ParserRuleContext { + public TerminalNode PATH_VARIABLE() { + return getToken(EQLParser.PATH_VARIABLE, 0); + } + + public IsEmpty_expressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_isEmpty_expression; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterIsEmpty_expression(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitIsEmpty_expression(this); + } + } + + public final IsEmpty_expressionContext isEmpty_expression() throws RecognitionException { + IsEmpty_expressionContext _localctx = new IsEmpty_expressionContext(_ctx, getState()); + enterRule(_localctx, 64, RULE_isEmpty_expression); + try { + setState(288); + _errHandler.sync(this); + switch (getInterpreter().adaptivePredict(_input, 27, _ctx)) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(283); + match(PATH_VARIABLE); + setState(284); + match(T__24); + setState(285); + match(T__29); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(286); + match(PATH_VARIABLE); + setState(287); + match(T__30); + } + break; + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class IsNotEmpty_expressionContext extends ParserRuleContext { + public TerminalNode PATH_VARIABLE() { + return getToken(EQLParser.PATH_VARIABLE, 0); + } + + public IsNotEmpty_expressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_isNotEmpty_expression; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterIsNotEmpty_expression(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitIsNotEmpty_expression(this); + } + } + + public final IsNotEmpty_expressionContext isNotEmpty_expression() throws RecognitionException { + IsNotEmpty_expressionContext _localctx = new IsNotEmpty_expressionContext(_ctx, getState()); + enterRule(_localctx, 66, RULE_isNotEmpty_expression); + try { + setState(298); + _errHandler.sync(this); + switch (getInterpreter().adaptivePredict(_input, 28, _ctx)) { + case 1: + enterOuterAlt(_localctx, 1); + { + setState(290); + match(PATH_VARIABLE); + setState(291); + match(T__24); + setState(292); + match(T__21); + setState(293); + match(T__29); + } + break; + case 2: + enterOuterAlt(_localctx, 2); + { + setState(294); + match(PATH_VARIABLE); + setState(295); + match(T__31); + } + break; + case 3: + enterOuterAlt(_localctx, 3); + { + setState(296); + match(PATH_VARIABLE); + setState(297); + match(T__32); + } + break; + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Like_expressionContext extends ParserRuleContext { + public TerminalNode PATH_VARIABLE() { + return getToken(EQLParser.PATH_VARIABLE, 0); + } + + public Like_opContext like_op() { + return getRuleContext(Like_opContext.class, 0); + } + + public Value_expressionContext value_expression() { + return getRuleContext(Value_expressionContext.class, 0); + } + + public Like_expressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_like_expression; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterLike_expression(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitLike_expression(this); + } + } + + public final Like_expressionContext like_expression() throws RecognitionException { + Like_expressionContext _localctx = new Like_expressionContext(_ctx, getState()); + enterRule(_localctx, 68, RULE_like_expression); + try { + enterOuterAlt(_localctx, 1); + { + setState(300); + match(PATH_VARIABLE); + setState(301); + like_op(); + setState(302); + value_expression(); + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Like_opContext extends ParserRuleContext { + public Like_opContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_like_op; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterLike_op(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitLike_op(this); + } + } + + public final Like_opContext like_op() throws RecognitionException { + Like_opContext _localctx = new Like_opContext(_ctx, getState()); + enterRule(_localctx, 70, RULE_like_op); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(304); + _la = _input.LA(1); + if (!((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__33) | (1L << T__34) | (1L << T__35) | (1L << T__36) | (1L << T__37) | (1L << T__38) | (1L << T__39) | (1L << T__40))) != 0))) { + _errHandler.recoverInline(this); + } else { + consume(); + } + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Comparison_expressionContext extends ParserRuleContext { + public TerminalNode PATH_VARIABLE() { + return getToken(EQLParser.PATH_VARIABLE, 0); + } + + public Comparison_operatorContext comparison_operator() { + return getRuleContext(Comparison_operatorContext.class, 0); + } + + public Value_expressionContext value_expression() { + return getRuleContext(Value_expressionContext.class, 0); + } + + public Comparison_expressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_comparison_expression; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterComparison_expression(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitComparison_expression(this); + } + } + + public final Comparison_expressionContext comparison_expression() throws RecognitionException { + Comparison_expressionContext _localctx = new Comparison_expressionContext(_ctx, getState()); + enterRule(_localctx, 72, RULE_comparison_expression); + try { + setState(314); + switch (_input.LA(1)) { + case PATH_VARIABLE: + enterOuterAlt(_localctx, 1); + { + setState(306); + match(PATH_VARIABLE); + setState(307); + comparison_operator(); + setState(308); + value_expression(); + } + break; + case INPUT_VARIABLE: + case BOOLEAN_LITERAL: + case NUMBER_LITERAL: + case STRING_LITERAL: + enterOuterAlt(_localctx, 2); + { + setState(310); + value_expression(); + setState(311); + comparison_operator(); + setState(312); + match(PATH_VARIABLE); + } + break; + default: + throw new NoViableAltException(this); + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Comparison_operatorContext extends ParserRuleContext { + public Comparison_operatorContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_comparison_operator; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterComparison_operator(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitComparison_operator(this); + } + } + + public final Comparison_operatorContext comparison_operator() throws RecognitionException { + Comparison_operatorContext _localctx = new Comparison_operatorContext(_ctx, getState()); + enterRule(_localctx, 74, RULE_comparison_operator); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(316); + _la = _input.LA(1); + if (!((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__41) | (1L << T__42) | (1L << T__43) | (1L << T__44) | (1L << T__45) | (1L << T__46) | (1L << T__47) | (1L << T__48) | (1L << T__49) | (1L << T__50) | (1L << T__51) | (1L << T__52) | (1L << T__53) | (1L << T__54) | (1L << T__55) | (1L << T__56))) != 0))) { + _errHandler.recoverInline(this); + } else { + consume(); + } + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class Value_expressionContext extends ParserRuleContext { + public LiteralContext literal() { + return getRuleContext(LiteralContext.class, 0); + } + + public TerminalNode INPUT_VARIABLE() { + return getToken(EQLParser.INPUT_VARIABLE, 0); + } + + public Value_expressionContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_value_expression; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterValue_expression(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitValue_expression(this); + } + } + + public final Value_expressionContext value_expression() throws RecognitionException { + Value_expressionContext _localctx = new Value_expressionContext(_ctx, getState()); + enterRule(_localctx, 76, RULE_value_expression); + try { + setState(320); + switch (_input.LA(1)) { + case BOOLEAN_LITERAL: + case NUMBER_LITERAL: + case STRING_LITERAL: + enterOuterAlt(_localctx, 1); + { + setState(318); + literal(); + } + break; + case INPUT_VARIABLE: + enterOuterAlt(_localctx, 2); + { + setState(319); + match(INPUT_VARIABLE); + } + break; + default: + throw new NoViableAltException(this); + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static class LiteralContext extends ParserRuleContext { + public TerminalNode STRING_LITERAL() { + return getToken(EQLParser.STRING_LITERAL, 0); + } + + public TerminalNode BOOLEAN_LITERAL() { + return getToken(EQLParser.BOOLEAN_LITERAL, 0); + } + + public TerminalNode NUMBER_LITERAL() { + return getToken(EQLParser.NUMBER_LITERAL, 0); + } + + public LiteralContext(ParserRuleContext parent, int invokingState) { + super(parent, invokingState); + } + + @Override + public int getRuleIndex() { + return RULE_literal; + } + + @Override + public void enterRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).enterLiteral(this); + } + + @Override + public void exitRule(ParseTreeListener listener) { + if (listener instanceof EQLListener) ((EQLListener) listener).exitLiteral(this); + } + } + + public final LiteralContext literal() throws RecognitionException { + LiteralContext _localctx = new LiteralContext(_ctx, getState()); + enterRule(_localctx, 78, RULE_literal); + int _la; + try { + enterOuterAlt(_localctx, 1); + { + setState(322); + _la = _input.LA(1); + if (!(((((_la - 60)) & ~0x3f) == 0 && ((1L << (_la - 60)) & ((1L << (BOOLEAN_LITERAL - 60)) | (1L << (NUMBER_LITERAL - 60)) | (1L << (STRING_LITERAL - 60)))) != 0))) { + _errHandler.recoverInline(this); + } else { + consume(); + } + } + } catch (RecognitionException re) { + _localctx.exception = re; + _errHandler.reportError(this, re); + _errHandler.recover(this, re); + } finally { + exitRule(); + } + return _localctx; + } + + public static final String _serializedATN = + "\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\3D\u0147\4\2\t\2\4" + + "\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t" + + "\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22" + + "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31" + + "\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!" + + "\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\3\2\5\2T\n\2\3" + + "\2\7\2W\n\2\f\2\16\2Z\13\2\3\2\5\2]\n\2\3\2\5\2`\n\2\3\2\5\2c\n\2\3\3" + + "\3\3\5\3g\n\3\3\3\3\3\3\3\3\3\3\4\3\4\3\5\3\5\3\6\3\6\3\6\3\7\3\7\3\7" + + "\3\7\3\7\7\7y\n\7\f\7\16\7|\13\7\3\b\3\b\5\b\u0080\n\b\3\b\5\b\u0083\n" + + "\b\3\t\3\t\3\t\3\t\5\t\u0089\n\t\3\n\3\n\3\13\3\13\3\13\5\13\u0090\n\13" + + "\3\f\3\f\3\f\3\r\3\r\5\r\u0097\n\r\3\r\3\r\5\r\u009b\n\r\3\16\3\16\3\16" + + "\3\16\3\17\3\17\3\17\7\17\u00a4\n\17\f\17\16\17\u00a7\13\17\3\20\3\20" + + "\3\20\5\20\u00ac\n\20\3\21\3\21\3\21\3\22\3\22\3\22\3\23\3\23\5\23\u00b6" + + "\n\23\3\24\3\24\5\24\u00ba\n\24\3\25\3\25\5\25\u00be\n\25\3\26\3\26\3" + + "\26\3\26\3\27\3\27\3\27\7\27\u00c7\n\27\f\27\16\27\u00ca\13\27\3\30\3" + + "\30\3\30\7\30\u00cf\n\30\f\30\16\30\u00d2\13\30\3\31\5\31\u00d5\n\31\3" + + "\31\3\31\3\32\3\32\3\32\3\32\3\32\5\32\u00de\n\32\3\33\3\33\3\33\3\33" + + "\3\33\3\33\3\33\3\33\3\33\3\33\3\33\3\33\3\33\5\33\u00ed\n\33\3\34\3\34" + + "\3\34\3\34\3\35\3\35\3\35\3\35\3\35\7\35\u00f8\n\35\f\35\16\35\u00fb\13" + + "\35\3\35\3\35\5\35\u00ff\n\35\3\36\3\36\3\36\3\36\3\36\3\36\3\37\3\37" + + "\3\37\3\37\3\37\3\37\3 \3 \3 \3 \3 \5 \u0112\n \3!\3!\3!\3!\3!\3!\3!\3" + + "!\5!\u011c\n!\3\"\3\"\3\"\3\"\3\"\5\"\u0123\n\"\3#\3#\3#\3#\3#\3#\3#\3" + + "#\5#\u012d\n#\3$\3$\3$\3$\3%\3%\3&\3&\3&\3&\3&\3&\3&\3&\5&\u013d\n&\3" + + "\'\3\'\3(\3(\5(\u0143\n(\3)\3)\3)\2\2*\2\4\6\b\n\f\16\20\22\24\26\30\32" + + "\34\36 \"$&(*,.\60\62\64\668:<>@BDFHJLNP\2\6\3\2\16\17\3\2$+\3\2,;\4\2" + + ">?CC\u0148\2S\3\2\2\2\4d\3\2\2\2\6l\3\2\2\2\bn\3\2\2\2\np\3\2\2\2\fs\3" + + "\2\2\2\16}\3\2\2\2\20\u0088\3\2\2\2\22\u008a\3\2\2\2\24\u008c\3\2\2\2" + + "\26\u0091\3\2\2\2\30\u0094\3\2\2\2\32\u009c\3\2\2\2\34\u00a0\3\2\2\2\36" + + "\u00ab\3\2\2\2 \u00ad\3\2\2\2\"\u00b0\3\2\2\2$\u00b5\3\2\2\2&\u00b7\3" + + "\2\2\2(\u00bb\3\2\2\2*\u00bf\3\2\2\2,\u00c3\3\2\2\2.\u00cb\3\2\2\2\60" + + "\u00d4\3\2\2\2\62\u00dd\3\2\2\2\64\u00ec\3\2\2\2\66\u00ee\3\2\2\28\u00fe" + + "\3\2\2\2:\u0100\3\2\2\2<\u0106\3\2\2\2>\u0111\3\2\2\2@\u011b\3\2\2\2B" + + "\u0122\3\2\2\2D\u012c\3\2\2\2F\u012e\3\2\2\2H\u0132\3\2\2\2J\u013c\3\2" + + "\2\2L\u013e\3\2\2\2N\u0142\3\2\2\2P\u0144\3\2\2\2RT\5\4\3\2SR\3\2\2\2" + + "ST\3\2\2\2TX\3\2\2\2UW\5\b\5\2VU\3\2\2\2WZ\3\2\2\2XV\3\2\2\2XY\3\2\2\2" + + "Y\\\3\2\2\2ZX\3\2\2\2[]\5\n\6\2\\[\3\2\2\2\\]\3\2\2\2]_\3\2\2\2^`\5\f" + + "\7\2_^\3\2\2\2_`\3\2\2\2`b\3\2\2\2ac\5\24\13\2ba\3\2\2\2bc\3\2\2\2c\3" + + "\3\2\2\2df\7\3\2\2eg\5\6\4\2fe\3\2\2\2fg\3\2\2\2gh\3\2\2\2hi\7\4\2\2i" + + "j\5\34\17\2jk\7\5\2\2k\5\3\2\2\2lm\7\6\2\2m\7\3\2\2\2no\5\30\r\2o\t\3" + + "\2\2\2pq\7\7\2\2qr\5,\27\2r\13\3\2\2\2st\7\b\2\2tu\7\t\2\2uz\5\16\b\2" + + "vw\7\n\2\2wy\5\16\b\2xv\3\2\2\2y|\3\2\2\2zx\3\2\2\2z{\3\2\2\2{\r\3\2\2" + + "\2|z\3\2\2\2}\177\7=\2\2~\u0080\5\22\n\2\177~\3\2\2\2\177\u0080\3\2\2" + + "\2\u0080\u0082\3\2\2\2\u0081\u0083\5\20\t\2\u0082\u0081\3\2\2\2\u0082" + + "\u0083\3\2\2\2\u0083\17\3\2\2\2\u0084\u0085\7\13\2\2\u0085\u0089\7\f\2" + + "\2\u0086\u0087\7\13\2\2\u0087\u0089\7\r\2\2\u0088\u0084\3\2\2\2\u0088" + + "\u0086\3\2\2\2\u0089\21\3\2\2\2\u008a\u008b\t\2\2\2\u008b\23\3\2\2\2\u008c" + + "\u008d\7\20\2\2\u008d\u008f\7?\2\2\u008e\u0090\5\26\f\2\u008f\u008e\3" + + "\2\2\2\u008f\u0090\3\2\2\2\u0090\25\3\2\2\2\u0091\u0092\7\21\2\2\u0092" + + "\u0093\7?\2\2\u0093\27\3\2\2\2\u0094\u0096\7\22\2\2\u0095\u0097\5$\23" + + "\2\u0096\u0095\3\2\2\2\u0096\u0097\3\2\2\2\u0097\u0098\3\2\2\2\u0098\u009a" + + "\7=\2\2\u0099\u009b\5\32\16\2\u009a\u0099\3\2\2\2\u009a\u009b\3\2\2\2" + + "\u009b\31\3\2\2\2\u009c\u009d\7\4\2\2\u009d\u009e\5\34\17\2\u009e\u009f" + + "\7\5\2\2\u009f\33\3\2\2\2\u00a0\u00a5\5\36\20\2\u00a1\u00a2\7\n\2\2\u00a2" + + "\u00a4\5\36\20\2\u00a3\u00a1\3\2\2\2\u00a4\u00a7\3\2\2\2\u00a5\u00a3\3" + + "\2\2\2\u00a5\u00a6\3\2\2\2\u00a6\35\3\2\2\2\u00a7\u00a5\3\2\2\2\u00a8" + + "\u00ac\7=\2\2\u00a9\u00ac\5 \21\2\u00aa\u00ac\5\"\22\2\u00ab\u00a8\3\2" + + "\2\2\u00ab\u00a9\3\2\2\2\u00ab\u00aa\3\2\2\2\u00ac\37\3\2\2\2\u00ad\u00ae" + + "\7\23\2\2\u00ae\u00af\5&\24\2\u00af!\3\2\2\2\u00b0\u00b1\7\23\2\2\u00b1" + + "\u00b2\5(\25\2\u00b2#\3\2\2\2\u00b3\u00b6\5&\24\2\u00b4\u00b6\5(\25\2" + + "\u00b5\u00b3\3\2\2\2\u00b5\u00b4\3\2\2\2\u00b6%\3\2\2\2\u00b7\u00b9\7" + + "\24\2\2\u00b8\u00ba\5*\26\2\u00b9\u00b8\3\2\2\2\u00b9\u00ba\3\2\2\2\u00ba" + + "\'\3\2\2\2\u00bb\u00bd\7\25\2\2\u00bc\u00be\5*\26\2\u00bd\u00bc\3\2\2" + + "\2\u00bd\u00be\3\2\2\2\u00be)\3\2\2\2\u00bf\u00c0\7\4\2\2\u00c0\u00c1" + + "\7?\2\2\u00c1\u00c2\7\5\2\2\u00c2+\3\2\2\2\u00c3\u00c8\5.\30\2\u00c4\u00c5" + + "\7\26\2\2\u00c5\u00c7\5.\30\2\u00c6\u00c4\3\2\2\2\u00c7\u00ca\3\2\2\2" + + "\u00c8\u00c6\3\2\2\2\u00c8\u00c9\3\2\2\2\u00c9-\3\2\2\2\u00ca\u00c8\3" + + "\2\2\2\u00cb\u00d0\5\60\31\2\u00cc\u00cd\7\27\2\2\u00cd\u00cf\5\60\31" + + "\2\u00ce\u00cc\3\2\2\2\u00cf\u00d2\3\2\2\2\u00d0\u00ce\3\2\2\2\u00d0\u00d1" + + "\3\2\2\2\u00d1/\3\2\2\2\u00d2\u00d0\3\2\2\2\u00d3\u00d5\7\30\2\2\u00d4" + + "\u00d3\3\2\2\2\u00d4\u00d5\3\2\2\2\u00d5\u00d6\3\2\2\2\u00d6\u00d7\5\62" + + "\32\2\u00d7\61\3\2\2\2\u00d8\u00de\5\64\33\2\u00d9\u00da\7\4\2\2\u00da" + + "\u00db\5,\27\2\u00db\u00dc\7\5\2\2\u00dc\u00de\3\2\2\2\u00dd\u00d8\3\2" + + "\2\2\u00dd\u00d9\3\2\2\2\u00de\63\3\2\2\2\u00df\u00ed\5J&\2\u00e0\u00ed" + + "\5F$\2\u00e1\u00ed\5:\36\2\u00e2\u00ed\5<\37\2\u00e3\u00ed\5\66\34\2\u00e4" + + "\u00ed\5> \2\u00e5\u00ed\5@!\2\u00e6\u00ed\5B\"\2\u00e7\u00ed\5D#\2\u00e8" + + "\u00e9\7\4\2\2\u00e9\u00ea\5\64\33\2\u00ea\u00eb\7\5\2\2\u00eb\u00ed\3" + + "\2\2\2\u00ec\u00df\3\2\2\2\u00ec\u00e0\3\2\2\2\u00ec\u00e1\3\2\2\2\u00ec" + + "\u00e2\3\2\2\2\u00ec\u00e3\3\2\2\2\u00ec\u00e4\3\2\2\2\u00ec\u00e5\3\2" + + "\2\2\u00ec\u00e6\3\2\2\2\u00ec\u00e7\3\2\2\2\u00ec\u00e8\3\2\2\2\u00ed" + + "\65\3\2\2\2\u00ee\u00ef\7=\2\2\u00ef\u00f0\7\31\2\2\u00f0\u00f1\58\35" + + "\2\u00f1\67\3\2\2\2\u00f2\u00ff\7<\2\2\u00f3\u00f4\7\4\2\2\u00f4\u00f9" + + "\5N(\2\u00f5\u00f6\7\n\2\2\u00f6\u00f8\5N(\2\u00f7\u00f5\3\2\2\2\u00f8" + + "\u00fb\3\2\2\2\u00f9\u00f7\3\2\2\2\u00f9\u00fa\3\2\2\2\u00fa\u00fc\3\2" + + "\2\2\u00fb\u00f9\3\2\2\2\u00fc\u00fd\7\5\2\2\u00fd\u00ff\3\2\2\2\u00fe" + + "\u00f2\3\2\2\2\u00fe\u00f3\3\2\2\2\u00ff9\3\2\2\2\u0100\u0101\7=\2\2\u0101" + + "\u0102\7\32\2\2\u0102\u0103\5N(\2\u0103\u0104\7\27\2\2\u0104\u0105\5N" + + "(\2\u0105;\3\2\2\2\u0106\u0107\5N(\2\u0107\u0108\7\32\2\2\u0108\u0109" + + "\7=\2\2\u0109\u010a\7\27\2\2\u010a\u010b\7=\2\2\u010b=\3\2\2\2\u010c\u010d" + + "\7=\2\2\u010d\u010e\7\33\2\2\u010e\u0112\7\34\2\2\u010f\u0110\7=\2\2\u0110" + + "\u0112\7\35\2\2\u0111\u010c\3\2\2\2\u0111\u010f\3\2\2\2\u0112?\3\2\2\2" + + "\u0113\u0114\7=\2\2\u0114\u0115\7\33\2\2\u0115\u0116\7\30\2\2\u0116\u011c" + + "\7\34\2\2\u0117\u0118\7=\2\2\u0118\u011c\7\36\2\2\u0119\u011a\7=\2\2\u011a" + + "\u011c\7\37\2\2\u011b\u0113\3\2\2\2\u011b\u0117\3\2\2\2\u011b\u0119\3" + + "\2\2\2\u011cA\3\2\2\2\u011d\u011e\7=\2\2\u011e\u011f\7\33\2\2\u011f\u0123" + + "\7 \2\2\u0120\u0121\7=\2\2\u0121\u0123\7!\2\2\u0122\u011d\3\2\2\2\u0122" + + "\u0120\3\2\2\2\u0123C\3\2\2\2\u0124\u0125\7=\2\2\u0125\u0126\7\33\2\2" + + "\u0126\u0127\7\30\2\2\u0127\u012d\7 \2\2\u0128\u0129\7=\2\2\u0129\u012d" + + "\7\"\2\2\u012a\u012b\7=\2\2\u012b\u012d\7#\2\2\u012c\u0124\3\2\2\2\u012c" + + "\u0128\3\2\2\2\u012c\u012a\3\2\2\2\u012dE\3\2\2\2\u012e\u012f\7=\2\2\u012f" + + "\u0130\5H%\2\u0130\u0131\5N(\2\u0131G\3\2\2\2\u0132\u0133\t\3\2\2\u0133" + + "I\3\2\2\2\u0134\u0135\7=\2\2\u0135\u0136\5L\'\2\u0136\u0137\5N(\2\u0137" + + "\u013d\3\2\2\2\u0138\u0139\5N(\2\u0139\u013a\5L\'\2\u013a\u013b\7=\2\2" + + "\u013b\u013d\3\2\2\2\u013c\u0134\3\2\2\2\u013c\u0138\3\2\2\2\u013dK\3" + + "\2\2\2\u013e\u013f\t\4\2\2\u013fM\3\2\2\2\u0140\u0143\5P)\2\u0141\u0143" + + "\7<\2\2\u0142\u0140\3\2\2\2\u0142\u0141\3\2\2\2\u0143O\3\2\2\2\u0144\u0145" + + "\t\5\2\2\u0145Q\3\2\2\2!SX\\_bfz\177\u0082\u0088\u008f\u0096\u009a\u00a5" + + "\u00ab\u00b5\u00b9\u00bd\u00c8\u00d0\u00d4\u00dd\u00ec\u00f9\u00fe\u0111" + + "\u011b\u0122\u012c\u013c\u0142"; + public static final ATN _ATN = + new ATNDeserializer().deserialize(_serializedATN.toCharArray()); + + static { + _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()]; + for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) { + _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i); + } + } +} diff --git a/src/main/java/com/avaje/ebeaninternal/server/idgen/package.html b/src/main/java/com/avaje/ebeaninternal/server/idgen/package.html index 6e97437be..90aa57569 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/idgen/package.html +++ b/src/main/java/com/avaje/ebeaninternal/server/idgen/package.html @@ -1,11 +1,11 @@ - - Id Generation + + Id Generation Id Generation (Sequences, UUIDGen etc) - \ No newline at end of file + diff --git a/src/main/java/com/avaje/ebeaninternal/server/lib/DaemonScheduleThreadPool.java b/src/main/java/com/avaje/ebeaninternal/server/lib/DaemonScheduleThreadPool.java index f420e59d2..0e45a8caf 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/lib/DaemonScheduleThreadPool.java +++ b/src/main/java/com/avaje/ebeaninternal/server/lib/DaemonScheduleThreadPool.java @@ -1,11 +1,11 @@ package com.avaje.ebeaninternal.server.lib; -import java.util.concurrent.ScheduledThreadPoolExecutor; -import java.util.concurrent.TimeUnit; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.concurrent.ScheduledThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + /** * Daemon based ScheduleThreadPool. *

diff --git a/src/main/java/com/avaje/ebeaninternal/server/lib/DaemonThreadFactory.java b/src/main/java/com/avaje/ebeaninternal/server/lib/DaemonThreadFactory.java index 70ca67fe5..63dc82944 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/lib/DaemonThreadFactory.java +++ b/src/main/java/com/avaje/ebeaninternal/server/lib/DaemonThreadFactory.java @@ -15,35 +15,35 @@ import java.util.concurrent.atomic.AtomicInteger; * on shutdown or register with the JVM shutdown hook to perform a nice shutdown * of the daemon threads etc. *

- * + * * @author rbygrave */ public class DaemonThreadFactory implements ThreadFactory { - private static final AtomicInteger poolNumber = new AtomicInteger(1); - - private final ThreadGroup group; - - private final AtomicInteger threadNumber = new AtomicInteger(1); - - private final String namePrefix; + private static final AtomicInteger poolNumber = new AtomicInteger(1); - public DaemonThreadFactory(String namePrefix) { - SecurityManager s = System.getSecurityManager(); - this.group = (s != null) ? s.getThreadGroup() : Thread.currentThread().getThreadGroup(); - this.namePrefix = namePrefix != null ? namePrefix : "pool-" + poolNumber.getAndIncrement() + "-thread-"; + private final ThreadGroup group; + + private final AtomicInteger threadNumber = new AtomicInteger(1); + + private final String namePrefix; + + public DaemonThreadFactory(String namePrefix) { + SecurityManager s = System.getSecurityManager(); + this.group = (s != null) ? s.getThreadGroup() : Thread.currentThread().getThreadGroup(); + this.namePrefix = namePrefix != null ? namePrefix : "pool-" + poolNumber.getAndIncrement() + "-thread-"; + } + + public Thread newThread(Runnable r) { + + Thread t = new Thread(group, r, namePrefix + threadNumber.getAndIncrement(), 0); + + t.setDaemon(true); + + if (t.getPriority() != Thread.NORM_PRIORITY) { + t.setPriority(Thread.NORM_PRIORITY); } - public Thread newThread(Runnable r) { - - Thread t = new Thread(group, r, namePrefix + threadNumber.getAndIncrement(), 0); - - t.setDaemon(true); - - if (t.getPriority() != Thread.NORM_PRIORITY) { - t.setPriority(Thread.NORM_PRIORITY); - } - - return t; - } -} \ No newline at end of file + return t; + } +} diff --git a/src/main/java/com/avaje/ebeaninternal/server/lib/ShutdownManager.java b/src/main/java/com/avaje/ebeaninternal/server/lib/ShutdownManager.java index 33f298554..892a36e9c 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/lib/ShutdownManager.java +++ b/src/main/java/com/avaje/ebeaninternal/server/lib/ShutdownManager.java @@ -21,87 +21,87 @@ import java.util.List; */ public final class ShutdownManager { - private static final Logger logger = LoggerFactory.getLogger(ShutdownManager.class); + private static final Logger logger = LoggerFactory.getLogger(ShutdownManager.class); - static final List servers = new ArrayList<>(); + static final List servers = new ArrayList<>(); - static final ShutdownHook shutdownHook = new ShutdownHook(); + static final ShutdownHook shutdownHook = new ShutdownHook(); - static boolean stopping; + static boolean stopping; - static SpiContainer container; + static SpiContainer container; - static { - // Register the Shutdown hook - registerShutdownHook(); - } + static { + // Register the Shutdown hook + registerShutdownHook(); + } - /** - * Disallow construction. - */ - private ShutdownManager() { - } + /** + * Disallow construction. + */ + private ShutdownManager() { + } - public static void registerContainer(SpiContainer ebeanContainer){ - container = ebeanContainer; - } - - /** - * Make sure the ShutdownManager is activated. - */ - public static void touch() { - // Do nothing - } + public static void registerContainer(SpiContainer ebeanContainer) { + container = ebeanContainer; + } - /** - * Return true if the system is in the process of stopping. - */ - public static boolean isStopping() { - synchronized (servers) { - return stopping; - } - } + /** + * Make sure the ShutdownManager is activated. + */ + public static void touch() { + // Do nothing + } - /** - * Deregister the Shutdown hook. + /** + * Return true if the system is in the process of stopping. + */ + public static boolean isStopping() { + synchronized (servers) { + return stopping; + } + } + + /** + * Deregister the Shutdown hook. *

* In calling this method it is expected that application code will invoke * the shutdown() method. *

- *

- * For running in a Servlet Container a redeploy will cause a shutdown, and - * for that case we need to make sure the shutdown hook is deregistered. - *

- */ - public static void deregisterShutdownHook() { - synchronized (servers) { - try { - Runtime.getRuntime().removeShutdownHook(shutdownHook); - } catch (IllegalStateException ex) { - if (!ex.getMessage().equals("Shutdown in progress")) { - throw ex; - } - } - } - } + *

+ * For running in a Servlet Container a redeploy will cause a shutdown, and + * for that case we need to make sure the shutdown hook is deregistered. + *

+ */ + public static void deregisterShutdownHook() { + synchronized (servers) { + try { + Runtime.getRuntime().removeShutdownHook(shutdownHook); + } catch (IllegalStateException ex) { + if (!ex.getMessage().equals("Shutdown in progress")) { + throw ex; + } + } + } + } - /** - * Register the shutdown hook with the Runtime. - */ - protected static void registerShutdownHook() { - synchronized (servers) { - try { + /** + * Register the shutdown hook with the Runtime. + */ + protected static void registerShutdownHook() { + synchronized (servers) { + try { String value = System.getProperty("ebean.registerShutdownHook"); if (value == null || !value.trim().equalsIgnoreCase("false")) { Runtime.getRuntime().addShutdownHook(shutdownHook); } - } catch (IllegalStateException ex) { - if (!ex.getMessage().equals("Shutdown in progress")) { - throw ex; - } - } - } - } + } catch (IllegalStateException ex) { + if (!ex.getMessage().equals("Shutdown in progress")) { + throw ex; + } + } + } + } /** * Shutdown gracefully cleaning up any resources as required. @@ -134,7 +134,7 @@ public final class ShutdownManager { logger.error("Error running custom shutdown runnable", e); } } - + if (container != null) { // shutdown cluster networking if active container.shutdown(); @@ -150,10 +150,10 @@ public final class ShutdownManager { ex.printStackTrace(); } } - + if ("true".equalsIgnoreCase(System.getProperty("ebean.datasource.deregisterAllDrivers", "false"))) { deregisterAllJdbcDrivers(); - } + } } } @@ -163,29 +163,29 @@ public final class ShutdownManager { while (drivers.hasMoreElements()) { Driver driver = drivers.nextElement(); try { - logger.info("Deregistering jdbc driver: "+driver); + logger.info("Deregistering jdbc driver: " + driver); DriverManager.deregisterDriver(driver); } catch (SQLException e) { - logger.error("Error deregistering driver "+driver, e); + logger.error("Error deregistering driver " + driver, e); } } } - - /** - * Register an ebeanServer to be shutdown when the JVM is shutdown. - */ - public static void registerEbeanServer(SpiEbeanServer server) { - synchronized (servers) { - servers.add(server); - } - } - - /** - * Deregister an ebeanServer. - *

- * This is done when the ebeanServer is shutdown manually. - *

- */ + + /** + * Register an ebeanServer to be shutdown when the JVM is shutdown. + */ + public static void registerEbeanServer(SpiEbeanServer server) { + synchronized (servers) { + servers.add(server); + } + } + + /** + * Deregister an ebeanServer. + *

+ * This is done when the ebeanServer is shutdown manually. + *

+ */ public static void unregisterEbeanServer(SpiEbeanServer server) { synchronized (servers) { servers.remove(server); diff --git a/src/main/java/com/avaje/ebeaninternal/server/lib/package.html b/src/main/java/com/avaje/ebeaninternal/server/lib/package.html index 9055f2795..a114cce65 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/lib/package.html +++ b/src/main/java/com/avaje/ebeaninternal/server/lib/package.html @@ -1,13 +1,13 @@ - - AvajeLib + + AvajeLib Core services for an application.

-Core services including Logging, Deployment properties and Background thread for -running frequent tasks. + Core services including Logging, Deployment properties and Background thread for + running frequent tasks.

- \ No newline at end of file + diff --git a/src/main/java/com/avaje/ebeaninternal/server/lib/util/Str.java b/src/main/java/com/avaje/ebeaninternal/server/lib/util/Str.java index 78496bc23..6e7cfce48 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/lib/util/Str.java +++ b/src/main/java/com/avaje/ebeaninternal/server/lib/util/Str.java @@ -10,7 +10,7 @@ public class Str { /** * Append strings together. */ - public static String add(String s0, String s1, String ... args) { + public static String add(String s0, String s1, String... args) { // determine a decent buffer size int len = 16 + s0.length() + s1.length(); diff --git a/src/main/java/com/avaje/ebeaninternal/server/lib/util/StringHelper.java b/src/main/java/com/avaje/ebeaninternal/server/lib/util/StringHelper.java index 4e5b7667c..ca008eb7c 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/lib/util/StringHelper.java +++ b/src/main/java/com/avaje/ebeaninternal/server/lib/util/StringHelper.java @@ -8,293 +8,285 @@ import java.util.Map; */ public class StringHelper { - /** - * Parses out a list of Name Value pairs that are delimited together. Will - * always return a StringMap. If allNameValuePairs is null, or no name - * values can be parsed out an empty StringMap is returned. - * - * @param allNameValuePairs - * the entire string to be parsed. - * @param listDelimiter - * (typically ';') the delimited between the list - * @param nameValueSeparator - * (typically '=') the separator between the name and value - */ - public static Map delimitedToMap(String allNameValuePairs, - String listDelimiter, String nameValueSeparator) { + /** + * Parses out a list of Name Value pairs that are delimited together. Will + * always return a StringMap. If allNameValuePairs is null, or no name + * values can be parsed out an empty StringMap is returned. + * + * @param allNameValuePairs the entire string to be parsed. + * @param listDelimiter (typically ';') the delimited between the list + * @param nameValueSeparator (typically '=') the separator between the name and value + */ + public static Map delimitedToMap(String allNameValuePairs, + String listDelimiter, String nameValueSeparator) { - HashMap params = new HashMap<>(); - if ((allNameValuePairs == null) || (allNameValuePairs.isEmpty())) { - return params; - } - // trim off any leading listDelimiter... - allNameValuePairs = trimFront(allNameValuePairs, listDelimiter); - return getKeyValue(params, 0, allNameValuePairs, listDelimiter, nameValueSeparator); - } + HashMap params = new HashMap<>(); + if ((allNameValuePairs == null) || (allNameValuePairs.isEmpty())) { + return params; + } + // trim off any leading listDelimiter... + allNameValuePairs = trimFront(allNameValuePairs, listDelimiter); + return getKeyValue(params, 0, allNameValuePairs, listDelimiter, nameValueSeparator); + } - /** - * Trims off recurring strings from the front of a string. - * - * @param source - * the source string - * @param trim - * the string to trim off the front - */ - public static String trimFront(String source, String trim) { - if (source == null) { - return null; - } - if (source.indexOf(trim) == 0) { - // dp("trim ..."); - return trimFront(source.substring(trim.length()), trim); - } else { - return source; - } - } + /** + * Trims off recurring strings from the front of a string. + * + * @param source the source string + * @param trim the string to trim off the front + */ + public static String trimFront(String source, String trim) { + if (source == null) { + return null; + } + if (source.indexOf(trim) == 0) { + // dp("trim ..."); + return trimFront(source.substring(trim.length()), trim); + } else { + return source; + } + } - /** - * Return true if the value is null or an empty string. - */ - public static boolean isNull(String value) { + /** + * Return true if the value is null or an empty string. + */ + public static boolean isNull(String value) { return value == null || value.trim().isEmpty(); } - /** - * Recursively pulls out the key value pairs from a raw string. - */ - private static HashMap getKeyValue(HashMap map, int pos, - String allNameValuePairs, String listDelimiter, String nameValueSeparator) { + /** + * Recursively pulls out the key value pairs from a raw string. + */ + private static HashMap getKeyValue(HashMap map, int pos, + String allNameValuePairs, String listDelimiter, String nameValueSeparator) { - if (pos >= allNameValuePairs.length()) { - // dp("end as "+pos+" >= "+allNameValuePairs.length() ); - return map; - } + if (pos >= allNameValuePairs.length()) { + // dp("end as "+pos+" >= "+allNameValuePairs.length() ); + return map; + } - int equalsPos = allNameValuePairs.indexOf(nameValueSeparator, pos); - int delimPos = allNameValuePairs.indexOf(listDelimiter, pos); + int equalsPos = allNameValuePairs.indexOf(nameValueSeparator, pos); + int delimPos = allNameValuePairs.indexOf(listDelimiter, pos); - if (delimPos == -1) { - delimPos = allNameValuePairs.length(); - } - if (equalsPos == -1) { - // dp("no more equals..."); - return map; - } - if (delimPos == (equalsPos + 1)) { - // dp("Ignoring as nothing between delim and equals... - // delim:"+delimPos+" eq:"+equalsPos); - return getKeyValue(map, delimPos + 1, allNameValuePairs, listDelimiter, - nameValueSeparator); - } - if (equalsPos > delimPos) { - // there is a key without a value? - String key = allNameValuePairs.substring(pos, delimPos); - key = key.trim(); - if (!key.isEmpty()) { - map.put(key, null); - } - return getKeyValue(map, delimPos + 1, allNameValuePairs, listDelimiter, - nameValueSeparator); + if (delimPos == -1) { + delimPos = allNameValuePairs.length(); + } + if (equalsPos == -1) { + // dp("no more equals..."); + return map; + } + if (delimPos == (equalsPos + 1)) { + // dp("Ignoring as nothing between delim and equals... + // delim:"+delimPos+" eq:"+equalsPos); + return getKeyValue(map, delimPos + 1, allNameValuePairs, listDelimiter, + nameValueSeparator); + } + if (equalsPos > delimPos) { + // there is a key without a value? + String key = allNameValuePairs.substring(pos, delimPos); + key = key.trim(); + if (!key.isEmpty()) { + map.put(key, null); + } + return getKeyValue(map, delimPos + 1, allNameValuePairs, listDelimiter, + nameValueSeparator); - } - String key = allNameValuePairs.substring(pos, equalsPos); + } + String key = allNameValuePairs.substring(pos, equalsPos); - if (delimPos > -1) { - String value = allNameValuePairs.substring(equalsPos + 1, delimPos); - // dp("cont "+key+","+value+" pos:"+pos+" - // len:"+allNameValuePairs.length()); - key = key.trim(); + if (delimPos > -1) { + String value = allNameValuePairs.substring(equalsPos + 1, delimPos); + // dp("cont "+key+","+value+" pos:"+pos+" + // len:"+allNameValuePairs.length()); + key = key.trim(); - map.put(key, value); - pos = delimPos + 1; + map.put(key, value); + pos = delimPos + 1; - // recurse the rest of the values... - return getKeyValue(map, pos, allNameValuePairs, listDelimiter, nameValueSeparator); - } else { - // dp("ERROR: delimPos < 0 ???"); - return map; - } - } + // recurse the rest of the values... + return getKeyValue(map, pos, allNameValuePairs, listDelimiter, nameValueSeparator); + } else { + // dp("ERROR: delimPos < 0 ???"); + return map; + } + } - /** - * This method takes a String and will replace all occurrences of the match - * String with that of the replace String. - * - * @param source - * the source string - * @param match - * the string used to find a match - * @param replace - * the string used to replace match with - * @return the source string after the search and replace - */ - public static String replaceString(String source, String match, String replace) { - if (source == null){ - return null; - } - if (replace == null){ - return source; - } - if (match == null){ - throw new NullPointerException("match is null?"); - } - if (match.equals(replace)){ - return source; - } - return replaceString(source, match, replace, 30, 0, source.length()); - } + /** + * This method takes a String and will replace all occurrences of the match + * String with that of the replace String. + * + * @param source the source string + * @param match the string used to find a match + * @param replace the string used to replace match with + * @return the source string after the search and replace + */ + public static String replaceString(String source, String match, String replace) { + if (source == null) { + return null; + } + if (replace == null) { + return source; + } + if (match == null) { + throw new NullPointerException("match is null?"); + } + if (match.equals(replace)) { + return source; + } + return replaceString(source, match, replace, 30, 0, source.length()); + } - /** - * Additionally specify the additionalSize to add to the buffer. This will - * make the buffer bigger so that it doesn't have to grow when replacement - * occurs. - */ - public static String replaceString(String source, String match, String replace, - int additionalSize, int startPos, int endPos) { + /** + * Additionally specify the additionalSize to add to the buffer. This will + * make the buffer bigger so that it doesn't have to grow when replacement + * occurs. + */ + public static String replaceString(String source, String match, String replace, + int additionalSize, int startPos, int endPos) { - if (source == null){ - return null; - } - - char match0 = match.charAt(0); - - int matchLength = match.length(); + if (source == null) { + return null; + } - if (matchLength == 1 && replace.length() == 1) { - char replace0 = replace.charAt(0); - return source.replace(match0, replace0); - } - if (matchLength >= replace.length()) { - additionalSize = 0; - } + char match0 = match.charAt(0); + + int matchLength = match.length(); + + if (matchLength == 1 && replace.length() == 1) { + char replace0 = replace.charAt(0); + return source.replace(match0, replace0); + } + if (matchLength >= replace.length()) { + additionalSize = 0; + } - int sourceLength = source.length(); - int lastMatch = endPos - matchLength; + int sourceLength = source.length(); + int lastMatch = endPos - matchLength; - StringBuilder sb = new StringBuilder(sourceLength + additionalSize); + StringBuilder sb = new StringBuilder(sourceLength + additionalSize); - if (startPos > 0) { - sb.append(source.substring(0, startPos)); - } + if (startPos > 0) { + sb.append(source.substring(0, startPos)); + } - char sourceChar; - boolean isMatch; - int sourceMatchPos; + char sourceChar; + boolean isMatch; + int sourceMatchPos; - for (int i = startPos; i < sourceLength; i++) { - sourceChar = source.charAt(i); - if (i > lastMatch || sourceChar != match0) { - sb.append(sourceChar); + for (int i = startPos; i < sourceLength; i++) { + sourceChar = source.charAt(i); + if (i > lastMatch || sourceChar != match0) { + sb.append(sourceChar); - } else { - // check to see if this is a match - isMatch = true; - sourceMatchPos = i; - - // check each following character... - for (int j = 1; j < matchLength; j++) { - sourceMatchPos++; - if (source.charAt(sourceMatchPos) != match.charAt(j)) { - isMatch = false; - break; - } - } - if (isMatch) { - i = i + matchLength - 1; - sb.append(replace); - } else { - // was not a match - sb.append(sourceChar); - } - } - } + } else { + // check to see if this is a match + isMatch = true; + sourceMatchPos = i; - return sb.toString(); - } + // check each following character... + for (int j = 1; j < matchLength; j++) { + sourceMatchPos++; + if (source.charAt(sourceMatchPos) != match.charAt(j)) { + isMatch = false; + break; + } + } + if (isMatch) { + i = i + matchLength - 1; + sb.append(replace); + } else { + // was not a match + sb.append(sourceChar); + } + } + } - /** - * A search and replace with multiple matching strings. - *

- * Useful when converting CRNL CR and NL all to a BR tag for example. - *

- * - *

-	 * String[] multi = { "\r\n", "\r", "\n" };
-	 * content = StringHelper.replaceStringMulti(content, multi, "<br/>");
-	 * 
- */ - public static String replaceStringMulti(String source, String[] match, String replace) { - return replaceStringMulti(source, match, replace, 30, 0, source.length()); - } + return sb.toString(); + } - /** - * Additionally specify an additional size estimate for the buffer plus - * start and end positions. - *

- * The start and end positions can limit the search and replace. Otherwise - * these default to startPos = 0 and endPos = source.length(). - *

- */ - public static String replaceStringMulti(String source, String[] match, String replace, - int additionalSize, int startPos, int endPos) { + /** + * A search and replace with multiple matching strings. + *

+ * Useful when converting CRNL CR and NL all to a BR tag for example. + *

+ *

+ *


+   * String[] multi = { "\r\n", "\r", "\n" };
+   * content = StringHelper.replaceStringMulti(content, multi, "<br/>");
+   * 
+ */ + public static String replaceStringMulti(String source, String[] match, String replace) { + return replaceStringMulti(source, match, replace, 30, 0, source.length()); + } - int shortestMatch = match[0].length(); + /** + * Additionally specify an additional size estimate for the buffer plus + * start and end positions. + *

+ * The start and end positions can limit the search and replace. Otherwise + * these default to startPos = 0 and endPos = source.length(). + *

+ */ + public static String replaceStringMulti(String source, String[] match, String replace, + int additionalSize, int startPos, int endPos) { - char[] match0 = new char[match.length]; - for (int i = 0; i < match0.length; i++) { - match0[i] = match[i].charAt(0); - if (match[i].length() < shortestMatch) { - shortestMatch = match[i].length(); - } - } + int shortestMatch = match[0].length(); - StringBuilder sb = new StringBuilder(source.length() + additionalSize); + char[] match0 = new char[match.length]; + for (int i = 0; i < match0.length; i++) { + match0[i] = match[i].charAt(0); + if (match[i].length() < shortestMatch) { + shortestMatch = match[i].length(); + } + } - char sourceChar; + StringBuilder sb = new StringBuilder(source.length() + additionalSize); - int len = source.length(); - int lastMatch = endPos - shortestMatch; + char sourceChar; - if (startPos > 0) { - sb.append(source.substring(0, startPos)); - } + int len = source.length(); + int lastMatch = endPos - shortestMatch; - int matchCount; + if (startPos > 0) { + sb.append(source.substring(0, startPos)); + } - for (int i = startPos; i < len; i++) { - sourceChar = source.charAt(i); - if (i > lastMatch) { - sb.append(sourceChar); - } else { - matchCount = 0; - for (int k = 0; k < match0.length; k++) { - if (matchCount == 0 && sourceChar == match0[k]) { - if (match[k].length() + i <= len) { + int matchCount; - ++matchCount; - int j = 1; - for (; j < match[k].length(); j++) { - if (source.charAt(i + j) != match[k].charAt(j)) { - --matchCount; - break; - } - } - if (matchCount > 0) { - i = i + j - 1; - sb.append(replace); - break; - } - } - } - } - if (matchCount == 0) { - sb.append(sourceChar); - } - } - } + for (int i = startPos; i < len; i++) { + sourceChar = source.charAt(i); + if (i > lastMatch) { + sb.append(sourceChar); + } else { + matchCount = 0; + for (int k = 0; k < match0.length; k++) { + if (matchCount == 0 && sourceChar == match0[k]) { + if (match[k].length() + i <= len) { - return sb.toString(); - } + ++matchCount; + int j = 1; + for (; j < match[k].length(); j++) { + if (source.charAt(i + j) != match[k].charAt(j)) { + --matchCount; + break; + } + } + if (matchCount > 0) { + i = i + j - 1; + sb.append(replace); + break; + } + } + } + } + if (matchCount == 0) { + sb.append(sourceChar); + } + } + } + + return sb.toString(); + } } diff --git a/src/main/java/com/avaje/ebeaninternal/server/lib/util/package.html b/src/main/java/com/avaje/ebeaninternal/server/lib/util/package.html index 5079d4e5b..4f128ef71 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/lib/util/package.html +++ b/src/main/java/com/avaje/ebeaninternal/server/lib/util/package.html @@ -1,7 +1,7 @@ - - AvajeLib + + AvajeLib General utility objects. @@ -9,4 +9,4 @@ General utility objects.

Provides general utility objects.

- \ No newline at end of file +