| /* |
| * Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved. |
| * |
| * This program and the accompanying materials are made available under the |
| * terms of the Eclipse Public License v. 2.0 which is available at |
| * http://www.eclipse.org/legal/epl-2.0, |
| * or the Eclipse Distribution License v. 1.0 which is available at |
| * http://www.eclipse.org/org/documents/edl-v10.php. |
| * |
| * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause |
| */ |
| |
| // Contributors: |
| // Oracle - initial API and implementation |
| // |
| package org.eclipse.persistence.jpa.tests.jpql.parser; |
| |
| import java.util.Arrays; |
| import org.eclipse.persistence.jpa.jpql.parser.Expression; |
| import org.eclipse.persistence.jpa.jpql.parser.OrderByItem.NullOrdering; |
| import org.eclipse.persistence.jpa.jpql.parser.OrderByItem.Ordering; |
| import org.eclipse.persistence.jpa.jpql.parser.TrimExpression.Specification; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.AbsExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.AbstractSchemaNameTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.AdditionExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.AllOrAnyExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.AndExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.ArithmeticFactorTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.AsOfClauseTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.AvgFunctionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.BadExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.BetweenExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.CaseExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.CastExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.CoalesceExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.CollectionExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.CollectionMemberDeclarationTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.CollectionMemberExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.CollectionValuedPathExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.ComparisonExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.ConcatExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.ConnectByClauseTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.ConstructorExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.CountFunctionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.DatabaseTypeTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.DateTimeTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.DeleteClauseTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.DeleteStatementTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.DivisionExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.EmptyCollectionComparisonExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.EntityTypeLiteralTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.EntryExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.ExistsExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.ExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.ExtractExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.FromClauseTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.FunctionExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.GroupByClauseTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.HavingClauseTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.HierarchicalQueryClauseTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.IdentificationVariableDeclarationTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.IdentificationVariableTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.InExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.IndexExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.InputParameterTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.JPQLExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.JoinTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.KeywordExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.LengthExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.LikeExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.LocateExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.LowerExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.MaxFunctionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.MinFunctionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.ModExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.MultiplicationExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.NotExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.NullComparisonExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.NullExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.NullIfExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.NumericLiteralTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.ObjectExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.OnClauseTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.OrExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.OrderByClauseTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.OrderByItemTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.OrderSiblingsByClauseTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.RangeVariableDeclarationTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.RegexpExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.ResultVariableTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.SelectClauseTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.SelectStatementTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.SimpleFromClauseTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.SimpleSelectClauseTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.SimpleSelectStatementTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.SizeExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.SqrtExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.StartWithClauseTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.StateFieldPathExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.StringLiteralTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.SubExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.SubstringExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.SubtractionExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.SumFunctionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.TableExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.TableVariableDeclarationTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.TreatExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.TrimExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.TypeExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.UnionClauseTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.UnknownExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.UpdateClauseTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.UpdateItemTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.UpdateStatementTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.UpperExpressionTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.WhenClauseTester; |
| import org.eclipse.persistence.jpa.tests.jpql.parser.JPQLParserTest.WhereClauseTester; |
| import static org.eclipse.persistence.jpa.jpql.parser.Expression.*; |
| |
| /** |
| * Utility class that creates an equivalent representation of any JPQL fragment, which then can be |
| * used to test the actual hierarchical representation of a parsed JPQL query. |
| * |
| * @version 2.5.2 |
| * @since 2.5 |
| * @author Pascal Filion |
| */ |
| @SuppressWarnings("nls") |
| public final class JPQLParserTester { |
| |
| /** |
| * Cannot instantiate <code>JPQLParserTester</code>. |
| */ |
| private JPQLParserTester() { |
| super(); |
| } |
| |
| public static AbsExpressionTester abs(ExpressionTester expression) { |
| return new AbsExpressionTester(expression); |
| } |
| |
| public static AbstractSchemaNameTester abstractSchemaName(String abstractSchemaName) { |
| return new AbstractSchemaNameTester(abstractSchemaName); |
| } |
| |
| public static AdditionExpressionTester add(ExpressionTester leftExpression, |
| ExpressionTester rightExpression) { |
| |
| return new AdditionExpressionTester(leftExpression, rightExpression); |
| } |
| |
| public static AllOrAnyExpressionTester all(ExpressionTester subquery) { |
| return new AllOrAnyExpressionTester(ALL, subquery); |
| } |
| |
| public static AndExpressionTester and(ExpressionTester leftExpression, |
| ExpressionTester rightExpression) { |
| |
| return new AndExpressionTester(leftExpression, rightExpression); |
| } |
| |
| public static AllOrAnyExpressionTester any(ExpressionTester subquery) { |
| return new AllOrAnyExpressionTester(ANY, subquery); |
| } |
| |
| public static AllOrAnyExpressionTester anyExpression(ExpressionTester subquery) { |
| return new AllOrAnyExpressionTester(ANY, subquery); |
| } |
| |
| public static SubExpressionTester array(ExpressionTester... items) { |
| return sub(collection(items)); |
| } |
| |
| public static AsOfClauseTester asOf(ExpressionTester expression) { |
| return new AsOfClauseTester(null, expression); |
| } |
| |
| public static AsOfClauseTester asOfScn(ExpressionTester expression) { |
| return new AsOfClauseTester(SCN, expression); |
| } |
| |
| public static AsOfClauseTester asOfScn(int changeNumber) { |
| return asOfScn(numeric(changeNumber)); |
| } |
| |
| public static AsOfClauseTester asOfTimestamp(ExpressionTester expression) { |
| return new AsOfClauseTester(TIMESTAMP, expression); |
| } |
| |
| public static AvgFunctionTester avg(ExpressionTester expression) { |
| return new AvgFunctionTester(expression, false); |
| } |
| |
| public static AvgFunctionTester avg(String statefieldPathExpression) { |
| return avg(path(statefieldPathExpression)); |
| } |
| |
| public static AvgFunctionTester avgDistinct(String statefieldPathExpression) { |
| return new AvgFunctionTester(path(statefieldPathExpression), true); |
| } |
| |
| public static BadExpressionTester bad(ExpressionTester expression) { |
| return new BadExpressionTester(expression); |
| } |
| |
| public static BetweenExpressionTester between(ExpressionTester expression, |
| ExpressionTester lowerBoundExpression, |
| ExpressionTester upperBoundExpression) { |
| |
| return new BetweenExpressionTester(expression, false, lowerBoundExpression, upperBoundExpression); |
| } |
| |
| public static CaseExpressionTester case_(ExpressionTester... whenClauses) { |
| |
| ExpressionTester[] copy = new ExpressionTester[whenClauses.length - 1]; |
| System.arraycopy(whenClauses, 0, copy, 0, whenClauses.length - 1); |
| |
| return new CaseExpressionTester( |
| nullExpression(), |
| spacedCollection(copy), |
| whenClauses[whenClauses.length - 1] |
| ); |
| } |
| |
| public static CaseExpressionTester case_(ExpressionTester caseOperand, |
| ExpressionTester[] whenClauses, |
| ExpressionTester elseExpression) { |
| |
| return new CaseExpressionTester( |
| caseOperand, |
| (whenClauses.length == 1) ? whenClauses[0] : spacedCollection(whenClauses), |
| elseExpression |
| ); |
| } |
| |
| public static CaseExpressionTester case_(ExpressionTester[] whenClauses, |
| ExpressionTester elseExpression) { |
| |
| return case_(nullExpression(), whenClauses, elseExpression); |
| } |
| |
| private static CastExpressionTester cast(ExpressionTester expression, |
| boolean hasAs, |
| ExpressionTester databaseType) { |
| |
| return new CastExpressionTester(expression, hasAs, databaseType); |
| } |
| |
| public static CastExpressionTester cast(ExpressionTester expression, |
| ExpressionTester databaseType) { |
| |
| return cast(expression, false, databaseType); |
| } |
| |
| public static CastExpressionTester cast(ExpressionTester expression, String databaseType) { |
| return cast(expression, databaseType, -1, -1); |
| } |
| |
| public static CastExpressionTester cast(ExpressionTester expression, |
| String databaseType, |
| int size) { |
| |
| return cast(expression, databaseType, size, -1); |
| } |
| |
| public static CastExpressionTester cast(ExpressionTester expression, |
| String databaseType, |
| int size, |
| int precision) { |
| |
| return new CastExpressionTester( |
| expression, |
| false, |
| databaseType(databaseType, size, precision) |
| ); |
| } |
| |
| public static CastExpressionTester cast(String pathExpression, ExpressionTester databaseType) { |
| return cast(path(pathExpression), databaseType); |
| } |
| |
| public static CastExpressionTester cast(String pathExpression, String databaseType) { |
| return cast(path(pathExpression), databaseType); |
| } |
| |
| public static CastExpressionTester cast(String pathExpression, |
| String databaseType, |
| int size) { |
| |
| return cast(path(pathExpression), databaseType, size, -1); |
| } |
| |
| public static CastExpressionTester cast(String pathExpression, |
| String databaseType, |
| int size, |
| int precision) { |
| |
| return cast(path(pathExpression), databaseType, size, precision); |
| } |
| |
| public static CastExpressionTester castAs(ExpressionTester expression, |
| ExpressionTester databaseType) { |
| |
| return cast(expression, true, databaseType); |
| } |
| |
| public static CastExpressionTester castAs(ExpressionTester expression, String databaseType) { |
| return castAs(expression, databaseType, -1, -1); |
| } |
| |
| public static CastExpressionTester castAs(ExpressionTester pathExpression, |
| String databaseType, |
| int size) { |
| |
| return castAs(pathExpression, databaseType, size, -1); |
| } |
| |
| public static CastExpressionTester castAs(ExpressionTester expression, |
| String databaseType, |
| int size, |
| int precision) { |
| |
| return new CastExpressionTester( |
| expression, |
| true, |
| databaseType(databaseType, size, precision) |
| ); |
| } |
| |
| public static CastExpressionTester castAs(String pathExpression, ExpressionTester databaseType) { |
| return castAs(path(pathExpression), databaseType); |
| } |
| |
| public static CastExpressionTester castAs(String pathExpression, |
| String databaseType) { |
| |
| return castAs(path(pathExpression), databaseType, -1); |
| } |
| |
| public static CastExpressionTester castAs(String pathExpression, |
| String databaseType, |
| int size) { |
| |
| return castAs(path(pathExpression), databaseType, size); |
| } |
| |
| public static CastExpressionTester castAs(String pathExpression, |
| String databaseType, |
| int size, |
| int precision) { |
| |
| return castAs(path(pathExpression), databaseType, size, precision); |
| } |
| |
| public static CoalesceExpressionTester coalesce(ExpressionTester expression) { |
| return new CoalesceExpressionTester(expression); |
| } |
| |
| public static CoalesceExpressionTester coalesce(ExpressionTester... expressions) { |
| return new CoalesceExpressionTester(collection(expressions)); |
| } |
| |
| public static CollectionExpressionTester collection(ExpressionTester... expressions) { |
| |
| Boolean[] spaces = new Boolean[expressions.length]; |
| Boolean[] commas = new Boolean[expressions.length]; |
| |
| Arrays.fill(spaces, 0, expressions.length - 1, Boolean.TRUE); |
| Arrays.fill(commas, 0, expressions.length - 1, Boolean.TRUE); |
| |
| spaces[expressions.length - 1] = Boolean.FALSE; |
| commas[expressions.length - 1] = Boolean.FALSE; |
| |
| return collection(expressions, commas, spaces); |
| } |
| |
| public static CollectionExpressionTester collection(ExpressionTester[] expressions, |
| Boolean[] commas, |
| Boolean[] spaces) { |
| |
| return new CollectionExpressionTester(expressions, commas, spaces); |
| } |
| |
| public static CollectionValuedPathExpressionTester collectionPath(ExpressionTester identificationVariable, |
| boolean startsWithDot, |
| String collectionPath) { |
| |
| return new CollectionValuedPathExpressionTester( |
| identificationVariable, |
| startsWithDot ? "." + collectionPath : collectionPath |
| ); |
| } |
| |
| public static CollectionValuedPathExpressionTester collectionPath(ExpressionTester identificationVariable, |
| String collectionPath) { |
| |
| return collectionPath(identificationVariable, true, collectionPath); |
| } |
| |
| public static CollectionValuedPathExpressionTester collectionPath(String collectionPath) { |
| |
| int dotIndex = collectionPath.indexOf('.'); |
| |
| if (dotIndex == 0) { |
| return collectionPath(nullExpression(), false, collectionPath); |
| } |
| |
| String variable = collectionPath.substring(0, dotIndex); |
| String path = collectionPath.substring(dotIndex + 1); |
| return collectionPath(variable(variable), false, path); |
| } |
| |
| private static ComparisonExpressionTester comparison(ExpressionTester leftExpression, |
| String comparator, |
| ExpressionTester rightExpression) { |
| |
| return new ComparisonExpressionTester(comparator, leftExpression, rightExpression); |
| } |
| |
| public static ConcatExpressionTester concat(ExpressionTester... expressions) { |
| if (expressions.length > 1) { |
| return new ConcatExpressionTester(collection(expressions)); |
| } |
| return new ConcatExpressionTester(expressions[0]); |
| } |
| |
| public static ConnectByClauseTester connectBy(ExpressionTester expression) { |
| return new ConnectByClauseTester(expression); |
| } |
| |
| public static CountFunctionTester count(ExpressionTester statefieldPathExpression) { |
| return new CountFunctionTester(statefieldPathExpression, false); |
| } |
| |
| public static CountFunctionTester count(String statefieldPathExpression) { |
| return count(path(statefieldPathExpression)); |
| } |
| |
| public static CountFunctionTester countDistinct(ExpressionTester statefieldPathExpression) { |
| return new CountFunctionTester(statefieldPathExpression, true); |
| } |
| |
| public static DateTimeTester CURRENT_DATE() { |
| return new DateTimeTester(CURRENT_DATE); |
| } |
| |
| public static DateTimeTester CURRENT_TIME() { |
| return new DateTimeTester(CURRENT_TIME); |
| } |
| |
| public static DateTimeTester CURRENT_TIMESTAMP() { |
| return new DateTimeTester(CURRENT_TIMESTAMP); |
| } |
| |
| public static DatabaseTypeTester databaseType(String databaseType) { |
| return databaseType(databaseType, -1); |
| } |
| |
| public static DatabaseTypeTester databaseType(String databaseType, int length) { |
| return databaseType(databaseType, length, -1); |
| } |
| |
| public static DatabaseTypeTester databaseType(String databaseType, int size, int precision) { |
| |
| DatabaseTypeTester expression = new DatabaseTypeTester( |
| databaseType, |
| (size == -1) ? nullExpression() : numeric(size), |
| (precision == -1) ? nullExpression() : numeric(precision) |
| ); |
| |
| expression.hasComma = (precision != -1); |
| expression.hasSpaceAfterComma = (precision != -1); |
| expression.hasLeftParenthesis = (size != -1 || precision != -1); |
| expression.hasRightParenthesis = (size != -1 || precision != -1); |
| |
| return expression; |
| } |
| |
| public static DateTimeTester dateTime(String jdbcEscapeFormat) { |
| return new DateTimeTester(jdbcEscapeFormat); |
| } |
| |
| public static DeleteClauseTester delete(ExpressionTester rangeVariableDeclaration) { |
| return new DeleteClauseTester(rangeVariableDeclaration); |
| } |
| |
| public static DeleteClauseTester delete(String abstractSchemaName, |
| String identificationVariable) { |
| |
| return delete(rangeVariableDeclaration(abstractSchemaName, identificationVariable)); |
| } |
| |
| public static DeleteClauseTester deleteAs(ExpressionTester abstractSchemaName, |
| ExpressionTester identificationVariable) { |
| |
| return delete(rangeVariableDeclarationAs(abstractSchemaName, identificationVariable)); |
| } |
| |
| public static DeleteClauseTester deleteAs(String abstractSchemaName, |
| String identificationVariable) { |
| |
| return delete(rangeVariableDeclarationAs(abstractSchemaName, identificationVariable)); |
| } |
| |
| public static DeleteStatementTester deleteStatement(ExpressionTester deleteClause) { |
| return deleteStatement(deleteClause, nullExpression()); |
| } |
| |
| public static DeleteStatementTester deleteStatement(ExpressionTester deleteClause, |
| ExpressionTester whereClause) { |
| |
| return new DeleteStatementTester(deleteClause, whereClause); |
| } |
| |
| public static DeleteStatementTester deleteStatement(String abstractSchemaName, |
| String identificationVariable) { |
| |
| return deleteStatement(delete(abstractSchemaName, identificationVariable)); |
| } |
| |
| public static DeleteStatementTester deleteStatement(String abstractSchemaName, |
| String identificationVariable, |
| ExpressionTester whereClause) { |
| |
| return deleteStatement(delete(abstractSchemaName, identificationVariable), whereClause); |
| } |
| |
| public static ComparisonExpressionTester different(ExpressionTester leftExpression, |
| ExpressionTester rightExpression) { |
| |
| return comparison(leftExpression, Expression.DIFFERENT, rightExpression); |
| } |
| |
| public static DivisionExpressionTester division(ExpressionTester leftExpression, |
| ExpressionTester rightExpression) { |
| |
| return new DivisionExpressionTester(leftExpression, rightExpression); |
| } |
| |
| public static EntityTypeLiteralTester entity(String entity) { |
| return new EntityTypeLiteralTester(entity); |
| } |
| |
| public static EntryExpressionTester entry(ExpressionTester identificationVariable) { |
| return new EntryExpressionTester(identificationVariable); |
| } |
| |
| public static EntryExpressionTester entry(String identificationVariable) { |
| return entry(variable(identificationVariable)); |
| } |
| |
| public static ComparisonExpressionTester equal(ExpressionTester leftExpression, |
| ExpressionTester rightExpression) { |
| |
| return comparison(leftExpression, Expression.EQUAL, rightExpression); |
| } |
| |
| public static UnionClauseTester except(ExpressionTester subquery) { |
| return union(EXCEPT, false, subquery); |
| } |
| |
| public static UnionClauseTester except(ExpressionTester selectClause, |
| ExpressionTester fromClause) { |
| |
| return except(subquery(selectClause, fromClause)); |
| } |
| |
| public static UnionClauseTester except(ExpressionTester selectClause, |
| ExpressionTester fromClause, |
| ExpressionTester whereClause) { |
| |
| return except(subquery(selectClause, fromClause, whereClause)); |
| } |
| |
| public static UnionClauseTester except(ExpressionTester selectClause, |
| ExpressionTester fromClause, |
| ExpressionTester whereClause, |
| ExpressionTester groupByClause, |
| ExpressionTester havingClause) { |
| |
| return except(subquery(selectClause, fromClause, whereClause, groupByClause, havingClause)); |
| } |
| |
| public static UnionClauseTester exceptAll(ExpressionTester subquery) { |
| return union(EXCEPT, true, subquery); |
| } |
| |
| public static UnionClauseTester exceptAll(ExpressionTester selectClause, |
| ExpressionTester fromClause) { |
| |
| return exceptAll(subquery(selectClause, fromClause)); |
| } |
| |
| public static UnionClauseTester exceptAll(ExpressionTester selectClause, |
| ExpressionTester fromClause, |
| ExpressionTester whereClause) { |
| |
| return exceptAll(subquery(selectClause, fromClause, whereClause)); |
| } |
| |
| public static UnionClauseTester exceptAll(ExpressionTester selectClause, |
| ExpressionTester fromClause, |
| ExpressionTester whereClause, |
| ExpressionTester groupByClause, |
| ExpressionTester havingClause) { |
| |
| return exceptAll(subquery(selectClause, fromClause, whereClause, groupByClause, havingClause)); |
| } |
| |
| public static ExistsExpressionTester exists(ExpressionTester subquery) { |
| return new ExistsExpressionTester(subquery, false); |
| } |
| |
| public static ExtractExpressionTester extract(String part, ExpressionTester expression) { |
| return new ExtractExpressionTester(part, false, expression); |
| } |
| |
| public static ExtractExpressionTester extractFrom(String part, ExpressionTester expression) { |
| return new ExtractExpressionTester(part, true, expression); |
| } |
| |
| public static KeywordExpressionTester FALSE() { |
| return new KeywordExpressionTester(FALSE); |
| } |
| |
| public static FromClauseTester from(ExpressionTester declaration) { |
| return new FromClauseTester(declaration, nullExpression(), nullExpression()); |
| } |
| |
| public static FromClauseTester from(ExpressionTester... declarations) { |
| return new FromClauseTester(collection(declarations), nullExpression(), nullExpression()); |
| } |
| |
| public static FromClauseTester from(ExpressionTester declarations, |
| HierarchicalQueryClauseTester hierarchicalQueryClause, |
| AsOfClauseTester asOfClause) { |
| |
| return new FromClauseTester(declarations, hierarchicalQueryClause, asOfClause); |
| } |
| |
| public static FromClauseTester from(ExpressionTester[] declarations, |
| AsOfClauseTester asOfClause) { |
| |
| return from(collection(declarations), nullExpression(), asOfClause); |
| } |
| |
| public static FromClauseTester from(ExpressionTester[] declarations, |
| ExpressionTester hierarchicalQueryClause, |
| ExpressionTester asOfClause) { |
| |
| return from(collection(declarations), hierarchicalQueryClause, asOfClause); |
| } |
| |
| /** |
| * Example: from("Employee", "e", "Product", "p") |
| */ |
| public static FromClauseTester from(String... declarations) { |
| |
| ExpressionTester[] identificationVariableDeclarations = new ExpressionTester[declarations.length / 2]; |
| |
| for (int index = 0, count = declarations.length; index + 1 < count; index += 2) { |
| identificationVariableDeclarations[index / 2] = identificationVariableDeclaration( |
| declarations[index], |
| declarations[index + 1] |
| ); |
| } |
| |
| return from(identificationVariableDeclarations); |
| } |
| |
| /** |
| * Example: from("Employee", "e") |
| */ |
| public static FromClauseTester from(String abstractSchemaName, String identificationVariable) { |
| return from(fromEntity(abstractSchemaName, identificationVariable)); |
| } |
| |
| public static FromClauseTester from(String abstractSchemaName, |
| String identificationVariable, |
| AsOfClauseTester asOfClause) { |
| |
| return new FromClauseTester( |
| fromEntity(abstractSchemaName, identificationVariable), |
| nullExpression(), |
| asOfClause |
| ); |
| } |
| |
| public static FromClauseTester from(String abstractSchemaName, |
| String identificationVariable, |
| ConnectByClauseTester connectByClause) { |
| |
| return new FromClauseTester( |
| fromEntity(abstractSchemaName, identificationVariable), |
| hierarchicalQueryClause(connectByClause), |
| nullExpression() |
| ); |
| } |
| |
| public static FromClauseTester from(String abstractSchemaName, |
| String identificationVariable, |
| ConnectByClauseTester connectByClause, |
| OrderSiblingsByClauseTester orderSiblingsByClause) { |
| |
| return new FromClauseTester( |
| fromEntity(abstractSchemaName, identificationVariable), |
| hierarchicalQueryClause(nullExpression(), connectByClause, orderSiblingsByClause), |
| nullExpression() |
| ); |
| } |
| |
| public static FromClauseTester from(String abstractSchemaName, |
| String identificationVariable, |
| ExpressionTester... joins) { |
| |
| return from( |
| identificationVariableDeclaration(abstractSchemaName, identificationVariable, joins) |
| ); |
| } |
| |
| public static FromClauseTester from(String abstractSchemaName, |
| String identificationVariable, |
| ExpressionTester joins) { |
| |
| return from(fromEntity(abstractSchemaName, identificationVariable, joins)); |
| } |
| |
| public static FromClauseTester from(String abstractSchemaName, |
| String identificationVariable, |
| ExpressionTester joins, |
| AsOfClauseTester asOfClause) { |
| |
| return new FromClauseTester( |
| fromEntity(abstractSchemaName, identificationVariable, joins), |
| nullExpression(), |
| asOfClause |
| ); |
| } |
| |
| public static FromClauseTester from(String abstractSchemaName, |
| String identificationVariable, |
| HierarchicalQueryClauseTester hierarchicalQueryClause) { |
| |
| return new FromClauseTester( |
| fromEntity(abstractSchemaName, identificationVariable), |
| hierarchicalQueryClause, |
| nullExpression() |
| ); |
| } |
| |
| public static FromClauseTester from(String abstractSchemaName, |
| String identificationVariable, |
| OrderSiblingsByClauseTester orderSiblingsByClause) { |
| |
| return new FromClauseTester( |
| fromEntity(abstractSchemaName, identificationVariable), |
| hierarchicalQueryClause(nullExpression(), nullExpression(), orderSiblingsByClause), |
| nullExpression() |
| ); |
| } |
| |
| public static FromClauseTester from(String abstractSchemaName, |
| String identificationVariable, |
| StartWithClauseTester startWithClause) { |
| |
| return new FromClauseTester( |
| fromEntity(abstractSchemaName, identificationVariable), |
| hierarchicalQueryClause(startWithClause, nullExpression()), |
| nullExpression() |
| ); |
| } |
| |
| public static FromClauseTester from(String abstractSchemaName, |
| String identificationVariable, |
| StartWithClauseTester startWithClause, |
| ConnectByClauseTester connectByClause) { |
| |
| return new FromClauseTester( |
| fromEntity(abstractSchemaName, identificationVariable), |
| hierarchicalQueryClause(startWithClause, connectByClause), |
| nullExpression() |
| ); |
| } |
| |
| public static FromClauseTester from(String abstractSchemaName, |
| String identificationVariable, |
| StartWithClauseTester startWithClause, |
| ConnectByClauseTester connectByClause, |
| OrderSiblingsByClauseTester orderSiblingsByClause) { |
| |
| return new FromClauseTester( |
| fromEntity(abstractSchemaName, identificationVariable), |
| hierarchicalQueryClause(startWithClause, connectByClause, orderSiblingsByClause), |
| nullExpression() |
| ); |
| } |
| |
| public static FromClauseTester fromAs(String abstractSchemaName, String identificationVariable) { |
| return from(identificationVariableDeclarationAs(abstractSchemaName, identificationVariable)); |
| } |
| |
| /** |
| * Example: from("e.employees", "e") |
| */ |
| public static IdentificationVariableDeclarationTester fromCollection(String collectionPath, |
| String identificationVariable) { |
| |
| return identificationVariableDeclaration( |
| rangeVariableDeclaration( |
| collectionPath(collectionPath), |
| variable(identificationVariable) |
| ), |
| nullExpression() |
| ); |
| } |
| |
| public static IdentificationVariableDeclarationTester fromEntity(String abstractSchemaName, |
| String identificationVariable) { |
| |
| return identificationVariableDeclaration(abstractSchemaName, identificationVariable); |
| } |
| |
| public static IdentificationVariableDeclarationTester fromEntity(String abstractSchemaName, |
| String identificationVariable, |
| ExpressionTester... joins) { |
| |
| return identificationVariableDeclaration(abstractSchemaName, identificationVariable, joins); |
| } |
| |
| public static IdentificationVariableDeclarationTester fromEntity(String abstractSchemaName, |
| String identificationVariable, |
| ExpressionTester join) { |
| |
| return identificationVariableDeclaration(abstractSchemaName, identificationVariable, join); |
| } |
| |
| public static IdentificationVariableDeclarationTester fromEntityAs(String abstractSchemaName, |
| String identificationVariable) { |
| |
| return identificationVariableDeclarationAs(abstractSchemaName, identificationVariable); |
| } |
| |
| public static IdentificationVariableDeclarationTester fromEntityAs(String abstractSchemaName, |
| String identificationVariable, |
| ExpressionTester... joins) { |
| |
| return identificationVariableDeclarationAs(abstractSchemaName, identificationVariable, joins); |
| } |
| |
| public static IdentificationVariableDeclarationTester fromEntityAs(String abstractSchemaName, |
| String identificationVariable, |
| ExpressionTester join) { |
| |
| return identificationVariableDeclarationAs(abstractSchemaName, identificationVariable, join); |
| } |
| |
| public static CollectionMemberDeclarationTester fromIn(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable) { |
| |
| return new CollectionMemberDeclarationTester( |
| collectionPath, |
| false, |
| identificationVariable |
| ); |
| } |
| |
| public static CollectionMemberDeclarationTester fromIn(String collectionPath, |
| String identificationVariable) { |
| |
| return fromIn(collectionPath(collectionPath), variable(identificationVariable)); |
| } |
| |
| public static CollectionMemberDeclarationTester fromInAs(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable) { |
| |
| return new CollectionMemberDeclarationTester( |
| collectionPath, |
| true, |
| identificationVariable |
| ); |
| } |
| |
| public static CollectionMemberDeclarationTester fromInAs(String collectionPath, |
| String identificationVariable) { |
| |
| return fromInAs( |
| collectionPath(collectionPath), |
| variable(identificationVariable) |
| ); |
| } |
| |
| public static FunctionExpressionTester function(String identifier, |
| String functionName) { |
| |
| return new FunctionExpressionTester(identifier, functionName, nullExpression()); |
| } |
| |
| public static FunctionExpressionTester function(String identifier, |
| String functionName, |
| ExpressionTester... funcItems) { |
| |
| return new FunctionExpressionTester(identifier, functionName, collection(funcItems)); |
| } |
| |
| public static FunctionExpressionTester function(String identifier, |
| String functionName, |
| ExpressionTester funcItem) { |
| |
| return new FunctionExpressionTester(identifier, functionName, funcItem); |
| } |
| |
| public static ComparisonExpressionTester greaterThan(ExpressionTester leftExpression, |
| ExpressionTester rightExpression) { |
| |
| return comparison(leftExpression, Expression.GREATER_THAN, rightExpression); |
| } |
| |
| public static ComparisonExpressionTester greaterThanOrEqual(ExpressionTester leftExpression, |
| ExpressionTester rightExpression) { |
| |
| return comparison(leftExpression, Expression.GREATER_THAN_OR_EQUAL, rightExpression); |
| } |
| |
| public static GroupByClauseTester groupBy(ExpressionTester groupByItem) { |
| return new GroupByClauseTester(groupByItem); |
| } |
| |
| public static GroupByClauseTester groupBy(ExpressionTester... groupByItems) { |
| return new GroupByClauseTester(collection(groupByItems)); |
| } |
| |
| public static HavingClauseTester having(ExpressionTester havingItem) { |
| return new HavingClauseTester(havingItem); |
| } |
| |
| public static HierarchicalQueryClauseTester hierarchicalQueryClause(ExpressionTester connectByClause) { |
| return hierarchicalQueryClause(nullExpression(), connectByClause, nullExpression()); |
| } |
| |
| public static HierarchicalQueryClauseTester hierarchicalQueryClause(ExpressionTester startWithClause, |
| ExpressionTester connectByClause) { |
| |
| return hierarchicalQueryClause(startWithClause, connectByClause, nullExpression()); |
| } |
| |
| public static HierarchicalQueryClauseTester hierarchicalQueryClause(ExpressionTester startWithClause, |
| ExpressionTester connectByClause, |
| ExpressionTester orderSiblingsByClause) { |
| |
| return new HierarchicalQueryClauseTester(startWithClause, connectByClause, orderSiblingsByClause); |
| } |
| |
| public static IdentificationVariableDeclarationTester identificationVariableDeclaration(ExpressionTester rangeVariableDeclaration) { |
| return new IdentificationVariableDeclarationTester(rangeVariableDeclaration, nullExpression()); |
| } |
| |
| public static IdentificationVariableDeclarationTester identificationVariableDeclaration(ExpressionTester rangeVariableDeclaration, |
| ExpressionTester... joins) { |
| |
| if (joins.length == 0) { |
| return new IdentificationVariableDeclarationTester(rangeVariableDeclaration, nullExpression()); |
| } |
| |
| if (joins.length == 1) { |
| return new IdentificationVariableDeclarationTester(rangeVariableDeclaration, joins[0]); |
| } |
| |
| return new IdentificationVariableDeclarationTester(rangeVariableDeclaration, collection(joins)); |
| } |
| |
| public static IdentificationVariableDeclarationTester identificationVariableDeclaration(ExpressionTester rangeVariableDeclaration, |
| ExpressionTester joins) { |
| |
| return new IdentificationVariableDeclarationTester(rangeVariableDeclaration, joins); |
| } |
| |
| public static IdentificationVariableDeclarationTester identificationVariableDeclaration(String abstractSchemaName, |
| String identificationVariable) { |
| |
| return identificationVariableDeclaration( |
| rangeVariableDeclaration(abstractSchemaName, identificationVariable), |
| nullExpression() |
| ); |
| } |
| |
| public static IdentificationVariableDeclarationTester identificationVariableDeclaration(String abstractSchemaName, |
| String identificationVariable, |
| ExpressionTester... joins) { |
| |
| return new IdentificationVariableDeclarationTester( |
| rangeVariableDeclaration(abstractSchemaName, identificationVariable), |
| spacedCollection(joins) |
| ); |
| } |
| |
| public static IdentificationVariableDeclarationTester identificationVariableDeclaration(String abstractSchemaName, |
| String identificationVariable, |
| ExpressionTester join) { |
| |
| return new IdentificationVariableDeclarationTester( |
| rangeVariableDeclaration(abstractSchemaName, identificationVariable), |
| join |
| ); |
| } |
| |
| public static IdentificationVariableDeclarationTester identificationVariableDeclarationAs(String abstractSchemaName, |
| String identificationVariable) { |
| |
| return new IdentificationVariableDeclarationTester( |
| rangeVariableDeclarationAs(abstractSchemaName, identificationVariable), |
| nullExpression() |
| ); |
| } |
| |
| public static IdentificationVariableDeclarationTester identificationVariableDeclarationAs(String abstractSchemaName, |
| String identificationVariable, |
| ExpressionTester join) { |
| |
| return new IdentificationVariableDeclarationTester( |
| rangeVariableDeclarationAs(abstractSchemaName, identificationVariable), |
| join |
| ); |
| } |
| |
| public static IdentificationVariableDeclarationTester identificationVariableDeclarationAs(String abstractSchemaName, |
| String identificationVariable, |
| ExpressionTester... joins) { |
| |
| return new IdentificationVariableDeclarationTester( |
| rangeVariableDeclarationAs(abstractSchemaName, identificationVariable), |
| spacedCollection(joins) |
| ); |
| } |
| |
| public static InExpressionTester in(ExpressionTester stateFieldPathExpression, |
| ExpressionTester... inItems) { |
| |
| return new InExpressionTester(stateFieldPathExpression, false, collection(inItems)); |
| } |
| |
| public static InExpressionTester in(ExpressionTester stateFieldPathExpression, |
| ExpressionTester inItems) { |
| |
| return new InExpressionTester(stateFieldPathExpression, false, inItems); |
| } |
| |
| public static InExpressionTester in(ExpressionTester stateFieldPathExpression, |
| String inputParameter) { |
| |
| InExpressionTester in = in(stateFieldPathExpression, inputParameter(inputParameter)); |
| in.hasLeftParenthesis = false; |
| in.hasRightParenthesis = false; |
| in.hasSpaceAfterIn = true; |
| return in; |
| } |
| |
| public static InExpressionTester in(String stateFieldPathExpression, |
| ExpressionTester... inItems) { |
| |
| return in(path(stateFieldPathExpression), inItems); |
| } |
| |
| public static InExpressionTester in(String stateFieldPathExpression, |
| ExpressionTester inItem) { |
| |
| return in(path(stateFieldPathExpression), inItem); |
| } |
| |
| public static InExpressionTester in(String pathExpression, String inputParameter) { |
| return in(path(pathExpression), inputParameter); |
| } |
| |
| public static IndexExpressionTester index(ExpressionTester identificationVariable) { |
| return new IndexExpressionTester(identificationVariable); |
| } |
| |
| public static IndexExpressionTester index(String identificationVariable) { |
| return index(variable(identificationVariable)); |
| } |
| |
| public static JoinTester innerJoin(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable) { |
| |
| return innerJoin( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester innerJoin(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return join( |
| INNER_JOIN, |
| collectionPath, |
| false, |
| identificationVariable, |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester innerJoin(ExpressionTester collectionPath, |
| String identificationVariable) { |
| |
| return innerJoin( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester innerJoin(ExpressionTester collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return innerJoin( |
| collectionPath, |
| variable(identificationVariable), |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester innerJoin(String collectionPath, |
| String identificationVariable) { |
| |
| return innerJoin( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester innerJoin(String collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return innerJoin( |
| collectionPath(collectionPath), |
| variable(identificationVariable), |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester innerJoinAs(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable) { |
| |
| return innerJoinAs( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester innerJoinAs(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return join( |
| INNER_JOIN, |
| collectionPath, |
| true, |
| identificationVariable, |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester innerJoinAs(ExpressionTester collectionPath, |
| String identificationVariable) { |
| |
| return innerJoinAs( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester innerJoinAs(ExpressionTester collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return innerJoinAs( |
| collectionPath, |
| variable(identificationVariable), |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester innerJoinAs(String collectionPath, |
| String identificationVariable) { |
| |
| return innerJoinAs( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester innerJoinAs(String collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return innerJoinAs( |
| collectionPath(collectionPath), |
| variable(identificationVariable), |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester innerJoinFetch(ExpressionTester collectionPath) { |
| return innerJoinFetch( |
| collectionPath, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester innerJoinFetch(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable) { |
| |
| return innerJoinFetch( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester innerJoinFetch(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return join( |
| INNER_JOIN_FETCH, |
| collectionPath, |
| false, |
| identificationVariable, |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester innerJoinFetch(ExpressionTester collectionPath, |
| String identificationVariable) { |
| |
| return innerJoinFetch( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester innerJoinFetch(ExpressionTester collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return innerJoinFetch( |
| collectionPath, |
| variable(identificationVariable), |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester innerJoinFetch(String collectionPath) { |
| return innerJoinFetch( |
| collectionPath(collectionPath) |
| ); |
| } |
| |
| public static JoinTester innerJoinFetch(String collectionPath, |
| String identificationVariable) { |
| |
| return innerJoinFetch( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester innerJoinFetch(String collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return innerJoinFetch( |
| collectionPath(collectionPath), |
| variable(identificationVariable), |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester innerJoinFetchAs(ExpressionTester collectionPath) { |
| return innerJoinFetchAs( |
| collectionPath, |
| nullExpression(), |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester innerJoinFetchAs(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable) { |
| |
| return innerJoinFetchAs( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester innerJoinFetchAs(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return join( |
| INNER_JOIN_FETCH, |
| collectionPath, |
| true, |
| identificationVariable, |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester innerJoinFetchAs(ExpressionTester collectionPath, |
| String identificationVariable) { |
| |
| return innerJoinFetchAs( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester innerJoinFetchAs(ExpressionTester collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return innerJoinFetchAs( |
| collectionPath, |
| variable(identificationVariable), |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester innerJoinFetchAs(String collectionPath) { |
| return innerJoinFetchAs( |
| collectionPath(collectionPath) |
| ); |
| } |
| |
| public static JoinTester innerJoinFetchAs(String collectionPath, |
| String identificationVariable) { |
| |
| return innerJoinFetchAs( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester innerJoinFetchAs(String collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return innerJoinFetchAs( |
| collectionPath(collectionPath), |
| variable(identificationVariable), |
| joinCondition |
| ); |
| } |
| |
| public static InputParameterTester inputParameter(String inputParameter) { |
| return new InputParameterTester(inputParameter); |
| } |
| |
| public static UnionClauseTester intersect(ExpressionTester subquery) { |
| return union(INTERSECT, false, subquery); |
| } |
| |
| public static UnionClauseTester intersect(ExpressionTester selectClause, |
| ExpressionTester fromClause) { |
| |
| return intersect(subquery(selectClause, fromClause)); |
| } |
| |
| public static UnionClauseTester intersect(ExpressionTester selectClause, |
| ExpressionTester fromClause, |
| ExpressionTester whereClause) { |
| |
| return intersect(subquery(selectClause, fromClause, whereClause)); |
| } |
| |
| public static UnionClauseTester intersect(ExpressionTester selectClause, |
| ExpressionTester fromClause, |
| ExpressionTester whereClause, |
| ExpressionTester groupByClause, |
| ExpressionTester havingClause) { |
| |
| return intersect(subquery(selectClause, fromClause, whereClause, groupByClause, havingClause)); |
| } |
| |
| public static UnionClauseTester intersectAll(ExpressionTester subquery) { |
| return union(INTERSECT, true, subquery); |
| } |
| |
| public static UnionClauseTester intersectAll(ExpressionTester selectClause, |
| ExpressionTester fromClause) { |
| |
| return intersectAll(subquery(selectClause, fromClause)); |
| } |
| |
| public static UnionClauseTester intersectAll(ExpressionTester selectClause, |
| ExpressionTester fromClause, |
| ExpressionTester whereClause) { |
| |
| return intersectAll(subquery(selectClause, fromClause, whereClause)); |
| } |
| |
| public static UnionClauseTester intersectAll(ExpressionTester selectClause, |
| ExpressionTester fromClause, |
| ExpressionTester whereClause, |
| ExpressionTester groupByClause, |
| ExpressionTester havingClause) { |
| |
| return intersectAll(subquery(selectClause, fromClause, whereClause, groupByClause, havingClause)); |
| } |
| |
| public static EmptyCollectionComparisonExpressionTester isEmpty(ExpressionTester collectionPath) { |
| return new EmptyCollectionComparisonExpressionTester(collectionPath, false); |
| } |
| |
| public static EmptyCollectionComparisonExpressionTester isEmpty(String collectionPath) { |
| return isEmpty(collectionPath(collectionPath)); |
| } |
| |
| public static EmptyCollectionComparisonExpressionTester isNotEmpty(ExpressionTester collectionPath) { |
| return new EmptyCollectionComparisonExpressionTester(collectionPath, true); |
| } |
| |
| public static EmptyCollectionComparisonExpressionTester isNotEmpty(String collectionPath) { |
| return isNotEmpty(collectionPath(collectionPath)); |
| } |
| |
| public static NullComparisonExpressionTester isNotNull(ExpressionTester expression) { |
| return new NullComparisonExpressionTester(expression, true); |
| } |
| |
| public static NullComparisonExpressionTester isNull(ExpressionTester expression) { |
| return new NullComparisonExpressionTester(expression, false); |
| } |
| |
| public static JoinTester join(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable) { |
| |
| return join( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester join(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return join( |
| JOIN, |
| collectionPath, |
| false, |
| identificationVariable, |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester join(ExpressionTester collectionPath, |
| String identificationVariable) { |
| |
| return join( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester join(ExpressionTester collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return join( |
| collectionPath, |
| variable(identificationVariable), |
| joinCondition |
| ); |
| } |
| |
| private static JoinTester join(String joinType, |
| ExpressionTester collectionPath, |
| boolean hasAs, |
| ExpressionTester identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return new JoinTester( |
| joinType, |
| collectionPath, |
| hasAs, |
| identificationVariable, |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester join(String joinType, |
| ExpressionTester collectionPath, |
| ExpressionTester identificationVariable) { |
| |
| return join( |
| joinType, |
| collectionPath, |
| false, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester join(String joinType, |
| ExpressionTester collectionPath, |
| ExpressionTester identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return join( |
| joinType, |
| collectionPath, |
| false, |
| identificationVariable, |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester join(String collectionPath, String identificationVariable) { |
| |
| return join( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester join(String collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return join( |
| collectionPath(collectionPath), |
| variable(identificationVariable), |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester joinAs(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable) { |
| |
| return joinAs( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester joinAs(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return join( |
| JOIN, |
| collectionPath, |
| true, |
| identificationVariable, |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester joinAs(ExpressionTester collectionPath, |
| String identificationVariable) { |
| |
| return joinAs( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester joinAs(ExpressionTester collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return joinAs( |
| collectionPath, |
| variable(identificationVariable), |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester joinAs(String joinType, |
| ExpressionTester collectionPath, |
| ExpressionTester identificationVariable) { |
| |
| return join( |
| joinType, |
| collectionPath, |
| true, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester joinAs(String joinType, |
| ExpressionTester collectionPath, |
| ExpressionTester identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return join( |
| joinType, |
| collectionPath, |
| true, |
| identificationVariable, |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester joinAs(String collectionPath, |
| String identificationVariable) { |
| |
| return joinAs( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester joinAs(String collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return joinAs( |
| collectionPath(collectionPath), |
| variable(identificationVariable), |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester joinAsTreat(String collectionPath, |
| String entityTypeLiteral, |
| String variable) { |
| |
| return joinAs(treat(collectionPath, entityTypeLiteral), variable); |
| } |
| |
| public static JoinTester joinAsTreatAs(String collectionPath, |
| String entityTypeLiteral, |
| String variable) { |
| |
| return joinAs(treatAs(collectionPath, entityTypeLiteral), variable); |
| } |
| |
| public static JoinTester joinFetch(ExpressionTester collectionPath) { |
| JoinTester join = joinFetch( |
| collectionPath, |
| nullExpression() |
| ); |
| join.hasSpaceAfterJoinAssociation = false; |
| return join; |
| } |
| |
| public static JoinTester joinFetch(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable) { |
| |
| return joinFetch( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester joinFetch(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return join( |
| JOIN_FETCH, |
| collectionPath, |
| false, |
| identificationVariable, |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester joinFetch(ExpressionTester collectionPath, |
| String identificationVariable) { |
| |
| return joinFetch( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester joinFetch(ExpressionTester collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return joinFetch( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester joinFetch(String collectionPath) { |
| return joinFetch( |
| collectionPath(collectionPath) |
| ); |
| } |
| |
| public static JoinTester joinFetch(String collectionPath, |
| String identificationVariable) { |
| |
| return joinFetch( |
| collectionPath(collectionPath), |
| variable(identificationVariable) |
| ); |
| } |
| |
| public static JoinTester joinFetch(String collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return joinFetch( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester joinFetchAs(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable) { |
| |
| return joinFetchAs( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester joinFetchAs(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return join( |
| JOIN_FETCH, |
| collectionPath, |
| true, |
| identificationVariable, |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester joinFetchAs(ExpressionTester collectionPath, |
| String identificationVariable) { |
| |
| return joinFetchAs( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester joinFetchAs(ExpressionTester collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return joinFetchAs( |
| collectionPath, |
| identificationVariable, |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester joinFetchAs(String collectionPath, |
| String identificationVariable) { |
| |
| return joinFetchAs( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester joinFetchAs(String collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return joinFetchAs( |
| collectionPath(collectionPath), |
| variable(identificationVariable), |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester joinTreat(String collectionPath, |
| String entityTypeLiteral, |
| String variable) { |
| |
| return join(treat(collectionPath, entityTypeLiteral), variable); |
| } |
| |
| public static JoinTester joinTreatAs(String collectionPath, |
| String entityTypeLiteral, |
| String variable) { |
| |
| return join(treatAs(collectionPath, entityTypeLiteral), variable); |
| } |
| |
| public static JPQLExpressionTester jpqlExpression(ExpressionTester queryStatement) { |
| return jpqlExpression(queryStatement, nullExpression()); |
| } |
| |
| public static JPQLExpressionTester jpqlExpression(ExpressionTester queryStatement, |
| ExpressionTester unknownExpression) { |
| |
| return new JPQLExpressionTester(queryStatement, unknownExpression); |
| } |
| |
| public static JoinTester leftJoin(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable) { |
| |
| return leftJoin( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester leftJoin(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return join( |
| LEFT_JOIN, |
| collectionPath, |
| false, |
| identificationVariable, |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester leftJoin(ExpressionTester collectionPath, |
| String identificationVariable) { |
| |
| return leftJoin( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester leftJoin(ExpressionTester collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return leftJoin( |
| collectionPath, |
| identificationVariable, |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester leftJoin(String collectionPath, |
| String identificationVariable) { |
| |
| return leftJoin( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester leftJoin(String collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return leftJoin( |
| collectionPath(collectionPath), |
| variable(identificationVariable), |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester leftJoinAs(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable) { |
| |
| return leftJoinAs( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester leftJoinAs(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return join( |
| LEFT_JOIN, |
| collectionPath, |
| true, |
| identificationVariable, |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester leftJoinAs(ExpressionTester collectionPath, |
| String identificationVariable) { |
| |
| return leftJoinAs( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester leftJoinAs(ExpressionTester collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return leftJoinAs( |
| collectionPath, |
| identificationVariable, |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester leftJoinAs(String collectionPath, |
| String identificationVariable) { |
| |
| return leftJoinAs( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester leftJoinAs(String collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return leftJoinAs( |
| collectionPath, |
| identificationVariable, |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester leftJoinFetch(ExpressionTester collectionPath) { |
| JoinTester join = leftJoinFetch( |
| collectionPath, |
| nullExpression() |
| ); |
| join.hasSpaceAfterJoinAssociation = false; |
| return join; |
| } |
| |
| public static JoinTester leftJoinFetch(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable) { |
| |
| return leftJoinFetch( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester leftJoinFetch(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return join( |
| LEFT_JOIN_FETCH, |
| collectionPath, |
| false, |
| identificationVariable, |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester leftJoinFetch(ExpressionTester collectionPath, |
| String identificationVariable) { |
| |
| return leftJoinFetch( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester leftJoinFetch(ExpressionTester collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return leftJoinFetch( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester leftJoinFetch(String collectionPath) { |
| return leftJoinFetch( |
| collectionPath(collectionPath) |
| ); |
| } |
| |
| public static JoinTester leftJoinFetch(String collectionPath, |
| String identificationVariable) { |
| |
| return leftJoinFetch( |
| collectionPath(collectionPath), |
| variable(identificationVariable) |
| ); |
| } |
| |
| public static JoinTester leftJoinFetch(String collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return leftJoinFetch( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester leftJoinFetchAs(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable) { |
| |
| return leftJoinFetchAs( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester leftJoinFetchAs(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return join( |
| LEFT_JOIN_FETCH, |
| collectionPath, |
| true, |
| identificationVariable, |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester leftJoinFetchAs(ExpressionTester collectionPath, |
| String identificationVariable) { |
| |
| return leftJoinFetchAs( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester leftJoinFetchAs(ExpressionTester collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return leftJoinFetchAs( |
| collectionPath, |
| variable(identificationVariable), |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester leftJoinFetchAs(String collectionPath, |
| String identificationVariable) { |
| |
| return leftJoinFetchAs( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester leftJoinFetchAs(String collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return leftJoinFetchAs( |
| collectionPath, |
| identificationVariable, |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester leftOuterJoin(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable) { |
| |
| return leftOuterJoin( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester leftOuterJoin(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return join( |
| LEFT_OUTER_JOIN, |
| collectionPath, |
| false, |
| identificationVariable, |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester leftOuterJoin(ExpressionTester collectionPath, |
| String identificationVariable) { |
| |
| return leftOuterJoin( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester leftOuterJoin(ExpressionTester collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return leftOuterJoin( |
| collectionPath, |
| identificationVariable, |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester leftOuterJoin(String collectionPath, |
| String identificationVariable) { |
| |
| return leftOuterJoin( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester leftOuterJoin(String collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return leftOuterJoin( |
| collectionPath(collectionPath), |
| variable(identificationVariable), |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester leftOuterJoinAs(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable) { |
| |
| return leftOuterJoinAs( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester leftOuterJoinAs(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return join( |
| LEFT_OUTER_JOIN, |
| collectionPath, |
| true, |
| identificationVariable, |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester leftOuterJoinAs(String collectionPath, |
| String identificationVariable) { |
| |
| return leftOuterJoinAs( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester leftOuterJoinAs(String collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return leftOuterJoinAs( |
| collectionPath(collectionPath), |
| variable(identificationVariable), |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester leftOuterJoinFetch(ExpressionTester collectionPath) { |
| JoinTester join = leftOuterJoinFetch( |
| collectionPath, |
| nullExpression() |
| ); |
| join.hasSpaceAfterJoinAssociation = false; |
| return join; |
| } |
| |
| public static JoinTester leftOuterJoinFetch(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable) { |
| |
| return leftOuterJoinFetch( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester leftOuterJoinFetch(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return join( |
| LEFT_OUTER_JOIN_FETCH, |
| collectionPath, |
| false, |
| identificationVariable, |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester leftOuterJoinFetch(ExpressionTester collectionPath, |
| String identificationVariable) { |
| |
| return leftOuterJoinFetch( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester leftOuterJoinFetch(ExpressionTester collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return leftOuterJoinFetch( |
| collectionPath, |
| identificationVariable, |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester leftOuterJoinFetch(String collectionPath) { |
| return leftOuterJoinFetch( |
| collectionPath(collectionPath) |
| ); |
| } |
| |
| public static JoinTester leftOuterJoinFetch(String collectionPath, |
| String identificationVariable) { |
| |
| return leftOuterJoinFetch( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester leftOuterJoinFetch(String collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return leftOuterJoinFetch( |
| collectionPath, |
| identificationVariable, |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester leftOuterJoinFetchAs(ExpressionTester collectionPath) { |
| return leftOuterJoinFetchAs( |
| collectionPath, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester leftOuterJoinFetchAs(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable) { |
| |
| return leftOuterJoinFetchAs( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester leftOuterJoinFetchAs(ExpressionTester collectionPath, |
| ExpressionTester identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return join( |
| LEFT_OUTER_JOIN_FETCH, |
| collectionPath, |
| true, |
| identificationVariable, |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester leftOuterJoinFetchAs(ExpressionTester collectionPath, |
| String identificationVariable) { |
| |
| return leftOuterJoinFetchAs( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester leftOuterJoinFetchAs(ExpressionTester collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return leftOuterJoinFetchAs( |
| collectionPath, |
| variable(identificationVariable), |
| joinCondition |
| ); |
| } |
| |
| public static JoinTester leftOuterJoinFetchAs(String collectionPath, |
| String identificationVariable) { |
| |
| return leftOuterJoinFetchAs( |
| collectionPath, |
| identificationVariable, |
| nullExpression() |
| ); |
| } |
| |
| public static JoinTester leftOuterJoinFetchAs(String collectionPath, |
| String identificationVariable, |
| ExpressionTester joinCondition) { |
| |
| return leftOuterJoinFetchAs( |
| collectionPath(collectionPath), |
| variable(identificationVariable), |
| joinCondition |
| ); |
| } |
| |
| public static LengthExpressionTester length(ExpressionTester stringPrimary) { |
| return new LengthExpressionTester(stringPrimary); |
| } |
| |
| public static LikeExpressionTester like(ExpressionTester stringExpression, |
| ExpressionTester patternValue) { |
| |
| return like(stringExpression, patternValue, nullExpression()); |
| } |
| |
| public static LikeExpressionTester like(ExpressionTester stringExpression, |
| ExpressionTester patternValue, |
| char escapeCharacter) { |
| |
| return like(stringExpression, patternValue, string(quote(escapeCharacter))); |
| } |
| |
| public static LikeExpressionTester like(ExpressionTester stringExpression, |
| ExpressionTester patternValue, |
| ExpressionTester escapeCharacter) { |
| |
| return new LikeExpressionTester(stringExpression, false, patternValue, escapeCharacter); |
| } |
| |
| public static LocateExpressionTester locate(ExpressionTester firstExpression, |
| ExpressionTester secondExpression) { |
| |
| return locate(firstExpression, secondExpression, nullExpression()); |
| } |
| |
| public static LocateExpressionTester locate(ExpressionTester firstExpression, |
| ExpressionTester secondExpression, |
| ExpressionTester thirdExpression) { |
| |
| return new LocateExpressionTester(firstExpression, secondExpression, thirdExpression); |
| } |
| |
| public static LowerExpressionTester lower(ExpressionTester stringPrimary) { |
| return new LowerExpressionTester(stringPrimary); |
| } |
| |
| public static ComparisonExpressionTester lowerThan(ExpressionTester leftExpression, |
| ExpressionTester rightExpression) { |
| |
| return comparison(leftExpression, Expression.LOWER_THAN, rightExpression); |
| } |
| |
| public static ComparisonExpressionTester lowerThanOrEqual(ExpressionTester leftExpression, |
| ExpressionTester rightExpression) { |
| |
| return comparison(leftExpression, Expression.LOWER_THAN_OR_EQUAL, rightExpression); |
| } |
| |
| public static MaxFunctionTester max(ExpressionTester expression) { |
| return new MaxFunctionTester(expression, false); |
| } |
| |
| public static MaxFunctionTester max(String statefieldPathExpression) { |
| return max(path(statefieldPathExpression)); |
| } |
| |
| public static ExpressionTester maxDistinct(String statefieldPathExpression) { |
| return new MaxFunctionTester(path(statefieldPathExpression), true); |
| } |
| |
| public static CollectionMemberExpressionTester member(ExpressionTester entityExpression, |
| ExpressionTester collectionPath) { |
| |
| return new CollectionMemberExpressionTester( |
| entityExpression, |
| false, |
| false, |
| collectionPath |
| ); |
| } |
| |
| public static CollectionMemberExpressionTester member(ExpressionTester entityExpression, |
| String collectionPath) { |
| |
| return member(entityExpression, collectionPath(collectionPath)); |
| } |
| |
| public static CollectionMemberExpressionTester member(String identificationVariable, |
| String collectionPath) { |
| |
| return member(variable(identificationVariable), collectionPath); |
| } |
| |
| public static CollectionMemberExpressionTester memberOf(ExpressionTester entityExpression, |
| ExpressionTester collectionPath) { |
| |
| return new CollectionMemberExpressionTester( |
| entityExpression, |
| false, |
| true, |
| collectionPath |
| ); |
| } |
| |
| public static CollectionMemberExpressionTester memberOf(ExpressionTester entityExpression, |
| String collectionPath) { |
| |
| return memberOf(entityExpression, collectionPath(collectionPath)); |
| } |
| |
| public static CollectionMemberExpressionTester memberOf(String identificationVariable, |
| String collectionPath) { |
| |
| return memberOf( variable(identificationVariable), collectionPath); |
| } |
| |
| public static MinFunctionTester min(ExpressionTester expression) { |
| return new MinFunctionTester(expression, false); |
| } |
| |
| public static MinFunctionTester min(String statefieldPathExpression) { |
| return min(path(statefieldPathExpression)); |
| } |
| |
| public static MinFunctionTester minDistinct(String statefieldPathExpression) { |
| return new MinFunctionTester(path(statefieldPathExpression), true); |
| } |
| |
| public static ArithmeticFactorTester minus(ExpressionTester expression) { |
| return new ArithmeticFactorTester(MINUS, expression); |
| } |
| |
| public static ModExpressionTester mod(ExpressionTester simpleArithmeticExpression1, |
| ExpressionTester simpleArithmeticExpression2) { |
| |
| return new ModExpressionTester(simpleArithmeticExpression1, simpleArithmeticExpression2); |
| } |
| |
| public static MultiplicationExpressionTester multiplication(ExpressionTester leftExpression, |
| ExpressionTester rightExpression) { |
| |
| return new MultiplicationExpressionTester(leftExpression, rightExpression); |
| } |
| |
| public static ConstructorExpressionTester new_(String className, |
| ExpressionTester constructorItem) { |
| |
| return new ConstructorExpressionTester(className, constructorItem); |
| } |
| |
| public static ConstructorExpressionTester new_(String className, |
| ExpressionTester... constructorItems) { |
| |
| return new ConstructorExpressionTester(className, collection(constructorItems)); |
| } |
| |
| public static NotExpressionTester not(ExpressionTester expression) { |
| return new NotExpressionTester(expression); |
| } |
| |
| public static BetweenExpressionTester notBetween(ExpressionTester expression, |
| ExpressionTester lowerBoundExpression, |
| ExpressionTester upperBoundExpression) { |
| |
| return new BetweenExpressionTester( |
| expression, |
| true, |
| lowerBoundExpression, |
| upperBoundExpression |
| ); |
| } |
| |
| public static ComparisonExpressionTester notEqual(ExpressionTester leftExpression, |
| ExpressionTester rightExpression) { |
| |
| return comparison(leftExpression, Expression.NOT_EQUAL, rightExpression); |
| } |
| |
| public static ExistsExpressionTester notExists(ExpressionTester subquery) { |
| return new ExistsExpressionTester(subquery, true); |
| } |
| |
| public static InExpressionTester notIn(ExpressionTester stateFieldPathExpression, |
| ExpressionTester inItems) { |
| |
| return new InExpressionTester(stateFieldPathExpression, true, inItems); |
| } |
| |
| public static InExpressionTester notIn(ExpressionTester stateFieldPathExpression, |
| ExpressionTester... inItems) { |
| |
| return new InExpressionTester(stateFieldPathExpression, true, collection(inItems)); |
| } |
| |
| public static InExpressionTester notIn(ExpressionTester stateFieldPathExpression, |
| String inputParameter) { |
| |
| InExpressionTester in = notIn(stateFieldPathExpression, inputParameter(inputParameter)); |
| in.hasLeftParenthesis = false; |
| in.hasRightParenthesis = false; |
| in.hasSpaceAfterIn = true; |
| return in; |
| } |
| |
| public static InExpressionTester notIn(String stateFieldPathExpression, |
| ExpressionTester... inItems) { |
| |
| return notIn(path(stateFieldPathExpression), collection(inItems)); |
| } |
| |
| public static InExpressionTester notIn(String stateFieldPathExpression, |
| ExpressionTester inItem) { |
| |
| return notIn(path(stateFieldPathExpression), inItem); |
| } |
| |
| public static InExpressionTester notIn(String pathExpression, String singleInputParameter) { |
| return notIn(path(pathExpression), singleInputParameter); |
| } |
| |
| public static LikeExpressionTester notLike(ExpressionTester stringExpression, |
| ExpressionTester patternValue) { |
| |
| return notLike(stringExpression, patternValue, nullExpression()); |
| } |
| |
| public static LikeExpressionTester notLike(ExpressionTester stringExpression, |
| ExpressionTester patternValue, |
| ExpressionTester escapeCharacter) { |
| |
| return new LikeExpressionTester(stringExpression, true, patternValue, escapeCharacter); |
| } |
| |
| public static CollectionMemberExpressionTester notMember(ExpressionTester entityExpression, |
| ExpressionTester collectionPath) { |
| |
| return new CollectionMemberExpressionTester( |
| entityExpression, |
| true, |
| false, |
| collectionPath |
| ); |
| } |
| |
| public static CollectionMemberExpressionTester notMember(ExpressionTester entityExpression, |
| String collectionPath) { |
| |
| return notMember(entityExpression, collectionPath); |
| } |
| |
| public static CollectionMemberExpressionTester notMember(String identificationVariable, |
| String collectionPath) { |
| |
| return notMember(variable(identificationVariable), collectionPath); |
| } |
| |
| public static CollectionMemberExpressionTester notMemberOf(ExpressionTester entityExpression, |
| ExpressionTester collectionPath) { |
| |
| return new CollectionMemberExpressionTester( |
| entityExpression, |
| true, |
| true, |
| collectionPath |
| ); |
| } |
| |
| public static ExpressionTester NULL() { |
| return new KeywordExpressionTester(NULL); |
| } |
| |
| public static ExpressionTester nullExpression() { |
| return new NullExpressionTester(); |
| } |
| |
| public static NullIfExpressionTester nullIf(ExpressionTester expression1, |
| ExpressionTester expression2) { |
| |
| return new NullIfExpressionTester(expression1, expression2); |
| } |
| |
| public static NumericLiteralTester numeric(double number) { |
| return numeric(String.valueOf(number)); |
| } |
| |
| public static NumericLiteralTester numeric(float number) { |
| return numeric(String.valueOf(number)); |
| } |
| |
| public static NumericLiteralTester numeric(int number) { |
| return numeric(String.valueOf(number)); |
| } |
| |
| public static NumericLiteralTester numeric(long number) { |
| return numeric(String.valueOf(number)); |
| } |
| |
| public static NumericLiteralTester numeric(String value) { |
| return new NumericLiteralTester(value); |
| } |
| |
| public static ObjectExpressionTester object(ExpressionTester identificationVariable) { |
| return new ObjectExpressionTester(identificationVariable); |
| } |
| |
| public static ObjectExpressionTester object(String identificationVariable) { |
| return object(variable(identificationVariable)); |
| } |
| |
| public static OnClauseTester on(ExpressionTester conditionalExpression) { |
| return new OnClauseTester(conditionalExpression); |
| } |
| |
| public static OrExpressionTester or(ExpressionTester leftExpression, |
| ExpressionTester rightExpression) { |
| |
| return new OrExpressionTester(leftExpression, rightExpression); |
| } |
| |
| public static OrderByClauseTester orderBy(ExpressionTester orderByItem) { |
| return new OrderByClauseTester(orderByItem); |
| } |
| |
| public static OrderByClauseTester orderBy(ExpressionTester... orderByItems) { |
| return new OrderByClauseTester(collection(orderByItems)); |
| } |
| |
| public static OrderByClauseTester orderBy(String stateFieldPathExpression) { |
| return new OrderByClauseTester(orderByItem(stateFieldPathExpression)); |
| } |
| |
| public static OrderByItemTester orderByItem(ExpressionTester orderByItem) { |
| return orderByItem(orderByItem, Ordering.DEFAULT, NullOrdering.DEFAULT); |
| } |
| |
| private static OrderByItemTester orderByItem(ExpressionTester orderByItem, |
| Ordering ordering, |
| NullOrdering nullOrdering) { |
| |
| return new OrderByItemTester(orderByItem, ordering, nullOrdering); |
| } |
| |
| public static OrderByItemTester orderByItem(String stateFieldPathExpression) { |
| return orderByItem(path(stateFieldPathExpression)); |
| } |
| |
| public static OrderByItemTester orderByItemAsc(ExpressionTester orderByItem) { |
| return orderByItem(orderByItem, Ordering.ASC, NullOrdering.DEFAULT); |
| } |
| |
| public static OrderByItemTester orderByItemAsc(String stateFieldPathExpression) { |
| return orderByItemAsc(path(stateFieldPathExpression)); |
| } |
| |
| public static OrderByItemTester orderByItemAscNullsFirst(ExpressionTester orderByItem) { |
| return orderByItem(orderByItem, Ordering.ASC, NullOrdering.NULLS_FIRST); |
| } |
| |
| public static OrderByItemTester orderByItemAscNullsFirst(String pathExpression) { |
| return orderByItemAscNullsFirst(path(pathExpression)); |
| } |
| |
| public static OrderByItemTester orderByItemAscNullsLast(ExpressionTester orderByItem) { |
| return orderByItem(orderByItem, Ordering.ASC, NullOrdering.NULLS_LAST); |
| } |
| |
| public static OrderByItemTester orderByItemAscNullsLast(String stateFieldPathExpression) { |
| return orderByItemAscNullsLast(path(stateFieldPathExpression)); |
| } |
| |
| public static OrderByItemTester orderByItemDesc(ExpressionTester orderByItem) { |
| return orderByItem(orderByItem, Ordering.DESC, NullOrdering.DEFAULT); |
| } |
| |
| public static OrderByItemTester orderByItemDesc(String stateFieldPathExpression) { |
| return orderByItemDesc(path(stateFieldPathExpression)); |
| } |
| |
| public static OrderByItemTester orderByItemDescNullsFirst(ExpressionTester orderByItem) { |
| return orderByItem(orderByItem, Ordering.DESC, NullOrdering.NULLS_FIRST); |
| } |
| |
| public static OrderByItemTester orderByItemDescNullsFirst(String pathExpression) { |
| return orderByItemDescNullsFirst(path(pathExpression)); |
| } |
| |
| public static OrderByItemTester orderByItemDescNullsLast(ExpressionTester orderByItem) { |
| return orderByItem(orderByItem, Ordering.DESC, NullOrdering.NULLS_LAST); |
| } |
| |
| public static OrderByItemTester orderByItemDescNullsLast(String pathExpression) { |
| return orderByItemAscNullsLast(path(pathExpression)); |
| } |
| |
| public static OrderByItemTester orderByItemNullsFirst(ExpressionTester orderByItem) { |
| return orderByItem(orderByItem, Ordering.DEFAULT, NullOrdering.NULLS_FIRST); |
| } |
| |
| public static OrderByItemTester orderByItemNullsFirst(String pathExpression) { |
| return orderByItemNullsFirst(path(pathExpression)); |
| } |
| |
| public static OrderByItemTester orderByItemNullsLast(ExpressionTester orderByItem) { |
| return orderByItem(orderByItem, Ordering.DEFAULT, NullOrdering.NULLS_LAST); |
| } |
| |
| public static OrderByItemTester orderByItemNullsLast(String pathExpression) { |
| return orderByItemNullsLast(path(pathExpression)); |
| } |
| |
| public static OrderSiblingsByClauseTester orderSiblingsBy(ExpressionTester expression) { |
| return new OrderSiblingsByClauseTester(expression); |
| } |
| |
| public static OrderSiblingsByClauseTester orderSiblingsBy(ExpressionTester... expressions) { |
| return new OrderSiblingsByClauseTester(collection(expressions)); |
| } |
| |
| private static StateFieldPathExpressionTester path(ExpressionTester identificationVariable, |
| boolean startsWithDot, |
| String pathExpression) { |
| |
| return new StateFieldPathExpressionTester( |
| identificationVariable, |
| startsWithDot ? "." + pathExpression : pathExpression |
| ); |
| } |
| |
| public static StateFieldPathExpressionTester path(ExpressionTester identificationVariable, |
| String pathExpression) { |
| |
| return path(identificationVariable, false, pathExpression); |
| } |
| |
| public static StateFieldPathExpressionTester path(String pathExpression) { |
| |
| int dotIndex = pathExpression.indexOf('.'); |
| |
| if (dotIndex == 0) { |
| return path(nullExpression(), false, pathExpression); |
| } |
| |
| String variable = pathExpression.substring(0, dotIndex); |
| String path = pathExpression.substring(dotIndex + 1); |
| return path(variable(variable), false, path); |
| } |
| |
| public static ArithmeticFactorTester plus(ExpressionTester expression) { |
| return new ArithmeticFactorTester(PLUS, expression); |
| } |
| |
| public static String quote(char character) { |
| return new StringBuilder(3).append("'").append(character).append("'").toString(); |
| } |
| |
| public static RangeVariableDeclarationTester rangeVariableDeclaration(ExpressionTester abstractSchemaName) { |
| return rangeVariableDeclaration(abstractSchemaName, nullExpression()); |
| } |
| |
| private static RangeVariableDeclarationTester rangeVariableDeclaration(ExpressionTester abstractSchemaName, |
| boolean hasAs, |
| ExpressionTester identificationVariable) { |
| |
| return new RangeVariableDeclarationTester(abstractSchemaName, hasAs, identificationVariable); |
| } |
| |
| public static RangeVariableDeclarationTester rangeVariableDeclaration(ExpressionTester abstractSchemaName, |
| ExpressionTester identificationVariable) { |
| |
| return rangeVariableDeclaration(abstractSchemaName, false, identificationVariable); |
| } |
| |
| public static RangeVariableDeclarationTester rangeVariableDeclaration(ExpressionTester abstractSchemaName, |
| String identificationVariable) { |
| |
| return rangeVariableDeclaration(abstractSchemaName, variable(identificationVariable)); |
| } |
| |
| public static RangeVariableDeclarationTester rangeVariableDeclaration(String abstractSchemaName) { |
| return rangeVariableDeclaration( |
| abstractSchemaName(abstractSchemaName), |
| false, |
| nullExpression() |
| ); |
| } |
| |
| public static RangeVariableDeclarationTester rangeVariableDeclaration(String abstractSchemaName, |
| String identificationVariable) { |
| |
| return rangeVariableDeclaration( |
| abstractSchemaName(abstractSchemaName), |
| false, |
| variable(identificationVariable) |
| ); |
| } |
| |
| public static RangeVariableDeclarationTester rangeVariableDeclarationAs(ExpressionTester abstractSchemaName, |
| ExpressionTester identificationVariable) { |
| |
| return rangeVariableDeclaration(abstractSchemaName, true, identificationVariable); |
| } |
| |
| public static RangeVariableDeclarationTester rangeVariableDeclarationAs(String abstractSchemaName, |
| String identificationVariable) { |
| |
| return rangeVariableDeclarationAs( |
| abstractSchemaName(abstractSchemaName), |
| variable(identificationVariable) |
| ); |
| } |
| |
| public static RegexpExpressionTester regexp(ExpressionTester stringExpression, |
| ExpressionTester patternValue) { |
| |
| return new RegexpExpressionTester(stringExpression, patternValue); |
| } |
| |
| public static RegexpExpressionTester regexp(ExpressionTester stringExpression, |
| String patternValue) { |
| |
| return regexp(stringExpression, string(patternValue)); |
| } |
| |
| private static ResultVariableTester resultVariable(ExpressionTester selectExpression, |
| boolean hasAs, |
| ExpressionTester resultVariable) { |
| |
| return new ResultVariableTester(selectExpression, hasAs, resultVariable); |
| } |
| |
| public static ResultVariableTester resultVariable(ExpressionTester selectExpression, |
| ExpressionTester resultVariable) { |
| |
| return resultVariable(selectExpression, false, resultVariable); |
| } |
| |
| public static ResultVariableTester resultVariable(ExpressionTester selectExpression, |
| String resultVariable) { |
| |
| return resultVariable(selectExpression, false, variable(resultVariable)); |
| } |
| |
| public static ResultVariableTester resultVariableAs(ExpressionTester selectExpression, |
| ExpressionTester resultVariable) { |
| |
| return resultVariable(selectExpression, true, resultVariable); |
| } |
| |
| public static ResultVariableTester resultVariableAs(ExpressionTester selectExpression, |
| String resultVariable) { |
| |
| return resultVariableAs(selectExpression, variable(resultVariable)); |
| } |
| |
| public static SelectClauseTester select(ExpressionTester selectExpression) { |
| return select(selectExpression, false); |
| } |
| |
| public static SelectClauseTester select(ExpressionTester... selectExpressions) { |
| return new SelectClauseTester(collection(selectExpressions), false); |
| } |
| |
| private static SelectClauseTester select(ExpressionTester selectExpression, boolean hasDistinct) { |
| return new SelectClauseTester(selectExpression, hasDistinct); |
| } |
| |
| public static SelectClauseTester selectDistinct(ExpressionTester... selectExpressions) { |
| return new SelectClauseTester(collection(selectExpressions), true); |
| } |
| |
| public static SelectClauseTester selectDistinct(ExpressionTester selectExpression) { |
| return new SelectClauseTester(selectExpression, true); |
| } |
| |
| public static SelectClauseTester selectDisting(ExpressionTester selectExpression) { |
| return select(selectExpression, true); |
| } |
| |
| private static SelectStatementTester selectStatement(ExpressionTester selectClause, |
| ExpressionTester fromClause, |
| ExpressionTester whereClause, |
| ExpressionTester groupByClause, |
| ExpressionTester havingClause, |
| ExpressionTester orderByClause, |
| ExpressionTester unionClauses) { |
| |
| return new SelectStatementTester( |
| selectClause, |
| fromClause, |
| whereClause, |
| groupByClause, |
| havingClause, |
| orderByClause, |
| unionClauses |
| ); |
| } |
| |
| private static SelectStatementTester selectStatement(ExpressionTester selectClause, |
| ExpressionTester fromClause, |
| ExpressionTester whereClause, |
| ExpressionTester groupByClause, |
| ExpressionTester havingClause, |
| ExpressionTester orderByClause, |
| ExpressionTester... unionClauses) { |
| |
| return selectStatement( |
| selectClause, |
| fromClause, |
| whereClause, |
| groupByClause, |
| havingClause, |
| orderByClause, |
| spacedCollection(unionClauses) |
| ); |
| } |
| |
| public static SelectStatementTester selectStatement(FromClauseTester fromClause) { |
| |
| return selectStatement( |
| nullExpression(), |
| fromClause, |
| nullExpression(), |
| nullExpression(), |
| nullExpression(), |
| nullExpression(), |
| nullExpression() |
| ); |
| } |
| |
| public static SelectStatementTester selectStatement(FromClauseTester fromClause, |
| WhereClauseTester whereClause) { |
| |
| return selectStatement( |
| nullExpression(), |
| fromClause, |
| whereClause, |
| nullExpression(), |
| nullExpression(), |
| nullExpression(), |
| nullExpression() |
| ); |
| } |
| |
| public static SelectStatementTester selectStatement(SelectClauseTester selectClause) { |
| |
| return selectStatement( |
| selectClause, |
| nullExpression(), |
| nullExpression(), |
| nullExpression(), |
| nullExpression(), |
| nullExpression(), |
| nullExpression() |
| ); |
| } |
| |
| public static SelectStatementTester selectStatement(SelectClauseTester selectClause, |
| FromClauseTester fromClause) { |
| |
| return selectStatement( |
| selectClause, |
| fromClause, |
| nullExpression(), |
| nullExpression(), |
| nullExpression(), |
| nullExpression(), |
| nullExpression() |
| ); |
| } |
| |
| public static SelectStatementTester selectStatement(SelectClauseTester selectClause, |
| FromClauseTester fromClause, |
| CollectionExpressionTester unionClauses) { |
| |
| return selectStatement( |
| selectClause, |
| fromClause, |
| nullExpression(), |
| nullExpression(), |
| nullExpression(), |
| nullExpression(), |
| unionClauses |
| ); |
| } |
| |
| public static SelectStatementTester selectStatement(SelectClauseTester selectClause, |
| FromClauseTester fromClause, |
| GroupByClauseTester groupByClause) { |
| |
| return selectStatement( |
| selectClause, |
| fromClause, |
| nullExpression(), |
| groupByClause, |
| nullExpression(), |
| nullExpression(), |
| nullExpression() |
| ); |
| } |
| |
| public static SelectStatementTester selectStatement(SelectClauseTester selectClause, |
| FromClauseTester fromClause, |
| GroupByClauseTester groupByClause, |
| HavingClauseTester havingClause) { |
| |
| return selectStatement( |
| selectClause, |
| fromClause, |
| nullExpression(), |
| groupByClause, |
| havingClause, |
| nullExpression(), |
| nullExpression() |
| ); |
| } |
| |
| public static SelectStatementTester selectStatement(SelectClauseTester selectClause, |
| FromClauseTester fromClause, |
| GroupByClauseTester groupByClause, |
| HavingClauseTester havingClause, |
| OrderByClauseTester orderByClause) { |
| |
| return selectStatement( |
| selectClause, |
| fromClause, |
| nullExpression(), |
| groupByClause, |
| havingClause, |
| orderByClause, |
| nullExpression() |
| ); |
| } |
| |
| public static SelectStatementTester selectStatement(SelectClauseTester selectClause, |
| FromClauseTester fromClause, |
| GroupByClauseTester groupByClause, |
| OrderByClauseTester orderByClause) { |
| |
| return selectStatement( |
| selectClause, |
| fromClause, |
| nullExpression(), |
| groupByClause, |
| nullExpression(), |
| orderByClause, |
| nullExpression() |
| ); |
| } |
| |
| public static SelectStatementTester selectStatement(SelectClauseTester selectClause, |
| FromClauseTester fromClause, |
| HavingClauseTester havingClause) { |
| |
| return selectStatement( |
| selectClause, |
| fromClause, |
| nullExpression(), |
| nullExpression(), |
| havingClause, |
| nullExpression(), |
| nullExpression() |
| ); |
| } |
| |
| public static SelectStatementTester selectStatement(SelectClauseTester selectClause, |
| FromClauseTester fromClause, |
| OrderByClauseTester orderByClause) { |
| |
| return selectStatement( |
| selectClause, |
| fromClause, |
| nullExpression(), |
| nullExpression(), |
| nullExpression(), |
| orderByClause, |
| nullExpression() |
| ); |
| } |
| |
| public static SelectStatementTester selectStatement(SelectClauseTester selectClause, |
| FromClauseTester fromClause, |
| UnionClauseTester unionClause) { |
| |
| return selectStatement( |
| selectClause, |
| fromClause, |
| nullExpression(), |
| nullExpression(), |
| nullExpression(), |
| nullExpression(), |
| unionClause |
| ); |
| } |
| |
| public static SelectStatementTester selectStatement(SelectClauseTester selectClause, |
| FromClauseTester fromClause, |
| WhereClauseTester whereClause) { |
| |
| return selectStatement( |
| selectClause, |
| fromClause, |
| whereClause, |
| nullExpression(), |
| nullExpression(), |
| nullExpression(), |
| nullExpression() |
| ); |
| } |
| |
| public static SelectStatementTester selectStatement(SelectClauseTester selectClause, |
| FromClauseTester fromClause, |
| WhereClauseTester whereClause, |
| GroupByClauseTester groupByClause) { |
| |
| return selectStatement( |
| selectClause, |
| fromClause, |
| whereClause, |
| groupByClause, |
| nullExpression(), |
| nullExpression(), |
| nullExpression() |
| ); |
| } |
| |
| public static SelectStatementTester selectStatement(SelectClauseTester selectClause, |
| FromClauseTester fromClause, |
| WhereClauseTester whereClause, |
| GroupByClauseTester groupByClause, |
| HavingClauseTester havingClause) { |
| |
| return selectStatement( |
| selectClause, |
| fromClause, |
| whereClause, |
| groupByClause, |
| havingClause, |
| nullExpression(), |
| nullExpression() |
| ); |
| } |
| |
| public static SelectStatementTester selectStatement(SelectClauseTester selectClause, |
| FromClauseTester fromClause, |
| WhereClauseTester whereClause, |
| GroupByClauseTester groupByClause, |
| HavingClauseTester havingClause, |
| OrderByClauseTester orderByClause) { |
| |
| return selectStatement( |
| selectClause, |
| fromClause, |
| whereClause, |
| groupByClause, |
| havingClause, |
| orderByClause, |
| nullExpression() |
| ); |
| } |
| |
| public static SelectStatementTester selectStatement(SelectClauseTester selectClause, |
| FromClauseTester fromClause, |
| WhereClauseTester whereClause, |
| GroupByClauseTester groupByClause, |
| OrderByClauseTester orderByClause) { |
| |
| return selectStatement( |
| selectClause, |
| fromClause, |
| whereClause, |
| groupByClause, |
| nullExpression(), |
| orderByClause, |
| nullExpression() |
| ); |
| } |
| |
| public static SelectStatementTester selectStatement(SelectClauseTester selectClause, |
| FromClauseTester fromClause, |
| WhereClauseTester whereClause, |
| HavingClauseTester havingClause) { |
| |
| return selectStatement( |
| selectClause, |
| fromClause, |
| whereClause, |
| nullExpression(), |
| havingClause, |
| nullExpression(), |
| nullExpression() |
| ); |
| } |
| |
| public static SelectStatementTester selectStatement(SelectClauseTester selectClause, |
| FromClauseTester fromClause, |
| WhereClauseTester whereClause, |
| HavingClauseTester havingClause, |
| OrderByClauseTester orderByClause) { |
| |
| return selectStatement( |
| selectClause, |
| fromClause, |
| whereClause, |
| nullExpression(), |
| havingClause, |
| orderByClause, |
| nullExpression() |
| ); |
| } |
| |
| public static SelectStatementTester selectStatement(SelectClauseTester selectClause, |
| FromClauseTester fromClause, |
| WhereClauseTester whereClause, |
| OrderByClauseTester orderByClause) { |
| |
| return selectStatement( |
| selectClause, |
| fromClause, |
| whereClause, |
| nullExpression(), |
| nullExpression(), |
| orderByClause, |
| nullExpression() |
| ); |
| } |
| |
| public static SelectStatementTester selectStatement(SelectClauseTester selectClause, |
| FromClauseTester fromClause, |
| WhereClauseTester whereClause, |
| UnionClauseTester unionClause) { |
| |
| return selectStatement( |
| selectClause, |
| fromClause, |
| whereClause, |
| nullExpression(), |
| nullExpression(), |
| nullExpression(), |
| unionClause |
| ); |
| } |
| |
| public static SelectStatementTester selectStatement(SelectClauseTester selectClause, |
| FromClauseTester fromClause, |
| WhereClauseTester whereClause, |
| UnionClauseTester... unionClauses) { |
| |
| return selectStatement( |
| selectClause, |
| fromClause, |
| whereClause, |
| nullExpression(), |
| nullExpression(), |
| nullExpression(), |
| unionClauses |
| ); |
| } |
| |
| public static UpdateItemTester set(ExpressionTester stateFieldPathExpression, |
| ExpressionTester newValue) { |
| |
| return new UpdateItemTester(stateFieldPathExpression, newValue); |
| } |
| |
| public static UpdateItemTester set(String pathExpression, ExpressionTester newValue) { |
| |
| if (pathExpression.startsWith("{")) { |
| |
| int dotIndex = pathExpression.indexOf("."); |
| |
| return set( |
| path( |
| virtualVariable(pathExpression.substring(0, dotIndex)), |
| false, |
| pathExpression.substring(dotIndex + 1) |
| ), |
| newValue |
| ); |
| } |
| |
| return set(path(pathExpression), newValue); |
| } |
| |
| public static SizeExpressionTester size(ExpressionTester collectionPath) { |
| return new SizeExpressionTester(collectionPath); |
| } |
| |
| public static SizeExpressionTester size(String collectionPath) { |
| return size(collectionPath(collectionPath)); |
| } |
| |
| public static AllOrAnyExpressionTester some(ExpressionTester subquery) { |
| return new AllOrAnyExpressionTester(SOME, subquery); |
| } |
| |
| public static CollectionExpressionTester spacedCollection(ExpressionTester... expressions) { |
| |
| Boolean[] spaces = new Boolean[expressions.length]; |
| Boolean[] commas = new Boolean[expressions.length]; |
| |
| Arrays.fill(spaces, 0, expressions.length - 1, Boolean.TRUE); |
| Arrays.fill(commas, 0, expressions.length, Boolean.FALSE); |
| |
| spaces[expressions.length - 1] = Boolean.FALSE; |
| |
| return collection(expressions, commas, spaces); |
| } |
| |
| public static SqrtExpressionTester sqrt(ExpressionTester simpleArithmeticExpression) { |
| return new SqrtExpressionTester(simpleArithmeticExpression); |
| } |
| |
| public static StartWithClauseTester startWith(ExpressionTester expression) { |
| return new StartWithClauseTester(expression); |
| } |
| |
| public static StringLiteralTester string(char literal) { |
| return new StringLiteralTester(quote(literal)); |
| } |
| |
| public static StringLiteralTester string(String literal) { |
| return new StringLiteralTester(literal); |
| } |
| |
| public static SubExpressionTester sub(ExpressionTester expression) { |
| return new SubExpressionTester(expression); |
| } |
| |
| public static SimpleFromClauseTester subFrom(ExpressionTester declaration) { |
| return new SimpleFromClauseTester(declaration, nullExpression(), nullExpression()); |
| } |
| |
| public static SimpleFromClauseTester subFrom(ExpressionTester... declarations) { |
| return new SimpleFromClauseTester(collection(declarations), nullExpression(), nullExpression()); |
| } |
| |
| public static SimpleFromClauseTester subFrom(ExpressionTester declarations, |
| HierarchicalQueryClauseTester hierarchicalQueryClause, |
| AsOfClauseTester asOfClause) { |
| |
| return new SimpleFromClauseTester(declarations, hierarchicalQueryClause, asOfClause); |
| } |
| |
| public static SimpleFromClauseTester subFrom(ExpressionTester[] declarations, |
| AsOfClauseTester asOfClause) { |
| |
| return subFrom(collection(declarations), nullExpression(), asOfClause); |
| } |
| |
| public static SimpleFromClauseTester subFrom(ExpressionTester[] declarations, |
| ExpressionTester hierarchicalQueryClause, |
| ExpressionTester asOfClause) { |
| |
| return subFrom(collection(declarations), hierarchicalQueryClause, asOfClause); |
| } |
| |
| public static SimpleFromClauseTester subFrom(String abstractSchemaName, |
| String identificationVariable) { |
| |
| return subFrom(identificationVariableDeclaration(abstractSchemaName, identificationVariable)); |
| } |
| |
| public static SimpleFromClauseTester subFrom(String abstractSchemaName, |
| String identificationVariable, |
| ExpressionTester... joins) { |
| |
| return subFrom(identificationVariableDeclaration( |
| abstractSchemaName, |
| identificationVariable, |
| joins |
| )); |
| } |
| |
| public static SimpleFromClauseTester subFrom(String abstractSchemaName, |
| String identificationVariable, |
| ExpressionTester joins) { |
| |
| return subFrom(identificationVariableDeclaration( |
| abstractSchemaName, |
| identificationVariable, |
| joins |
| )); |
| } |
| |
| public static CollectionMemberDeclarationTester subFromIn(ExpressionTester collectionPath) { |
| |
| CollectionMemberDeclarationTester in = new CollectionMemberDeclarationTester( |
| collectionPath, |
| false, |
| nullExpression() |
| ); |
| |
| in.hasLeftParenthesis = false; |
| in.hasRightParenthesis = false; |
| in.hasSpaceAfterIn = true; |
| in.hasSpaceAfterRightParenthesis = false; |
| |
| return in; |
| } |
| |
| public static CollectionMemberDeclarationTester subFromIn(String collectionPath) { |
| return subFromIn(collectionPath(collectionPath)); |
| } |
| |
| public static SimpleSelectStatementTester subquery(ExpressionTester selectClause, |
| ExpressionTester fromClause) { |
| |
| return subquery(selectClause, fromClause, nullExpression()); |
| } |
| |
| public static SimpleSelectStatementTester subquery(ExpressionTester selectClause, |
| ExpressionTester fromClause, |
| ExpressionTester whereClause) { |
| |
| return subSelectStatement(selectClause, fromClause, whereClause); |
| } |
| |
| public static SimpleSelectStatementTester subquery(ExpressionTester selectClause, |
| ExpressionTester fromClause, |
| ExpressionTester whereClause, |
| ExpressionTester groupByClause, |
| ExpressionTester havingClause) { |
| |
| return subSelectStatement(selectClause, fromClause, whereClause, groupByClause, havingClause); |
| } |
| |
| public static SimpleSelectClauseTester subSelect(ExpressionTester selectExpression) { |
| return subSelect(selectExpression, false); |
| } |
| |
| public static SimpleSelectClauseTester subSelect(ExpressionTester... selectExpressions) { |
| return new SimpleSelectClauseTester(collection(selectExpressions), false); |
| } |
| |
| private static SimpleSelectClauseTester subSelect(ExpressionTester selectExpression, |
| boolean hasDistinct) { |
| |
| return new SimpleSelectClauseTester(selectExpression, hasDistinct); |
| } |
| |
| public static SimpleSelectClauseTester subSelectDistinct(ExpressionTester selectExpression) { |
| return subSelect(selectExpression, true); |
| } |
| |
| public static SimpleSelectClauseTester subSelectDistinct(ExpressionTester... selectExpressions) { |
| return new SimpleSelectClauseTester(collection(selectExpressions), true); |
| } |
| |
| public static SimpleSelectStatementTester subSelectStatement(ExpressionTester selectClause, |
| ExpressionTester fromClause) { |
| |
| return subSelectStatement( |
| selectClause, |
| fromClause, |
| nullExpression(), |
| nullExpression(), |
| nullExpression() |
| ); |
| } |
| |
| public static SimpleSelectStatementTester subSelectStatement(ExpressionTester selectClause, |
| ExpressionTester fromClause, |
| ExpressionTester whereClause) { |
| |
| return subSelectStatement( |
| selectClause, |
| fromClause, |
| whereClause, |
| nullExpression(), |
| nullExpression() |
| ); |
| } |
| |
| public static SimpleSelectStatementTester subSelectStatement(ExpressionTester selectClause, |
| ExpressionTester fromClause, |
| ExpressionTester whereClause, |
| ExpressionTester groupByClause, |
| ExpressionTester havingClause) { |
| |
| return new SimpleSelectStatementTester( |
| selectClause, |
| fromClause, |
| whereClause, |
| groupByClause, |
| havingClause |
| ); |
| } |
| |
| public static SimpleSelectStatementTester subSelectStatement(ExpressionTester selectClause, |
| ExpressionTester fromClause, |
| GroupByClauseTester groupByClause) { |
| |
| return subSelectStatement( |
| selectClause, |
| fromClause, |
| nullExpression(), |
| groupByClause, |
| nullExpression() |
| ); |
| } |
| |
| public static SimpleSelectStatementTester subSelectStatement(ExpressionTester selectClause, |
| ExpressionTester fromClause, |
| HavingClauseTester havingClause) { |
| |
| return subSelectStatement( |
| selectClause, |
| fromClause, |
| nullExpression(), |
| nullExpression(), |
| havingClause |
| ); |
| } |
| |
| public static SimpleSelectStatementTester subSelectStatement(ExpressionTester selectClause, |
| ExpressionTester fromClause, |
| OrderByClauseTester orderByClause) { |
| |
| return subSelectStatement( |
| selectClause, |
| fromClause, |
| nullExpression(), |
| nullExpression(), |
| orderByClause |
| ); |
| } |
| |
| public static SubstringExpressionTester substring(ExpressionTester firstExpression, |
| ExpressionTester secondExpression) { |
| |
| return substring(firstExpression, secondExpression, nullExpression()); |
| } |
| |
| public static SubstringExpressionTester substring(ExpressionTester firstExpression, |
| ExpressionTester secondExpression, |
| ExpressionTester thirdExpression) { |
| |
| return new SubstringExpressionTester(firstExpression, secondExpression, thirdExpression); |
| } |
| |
| public static SubtractionExpressionTester subtract(ExpressionTester leftExpression, |
| ExpressionTester rightExpression) { |
| |
| return new SubtractionExpressionTester(leftExpression, rightExpression); |
| } |
| |
| public static SumFunctionTester sum(ExpressionTester expression) { |
| return new SumFunctionTester(expression, false); |
| } |
| |
| public static SumFunctionTester sum(String statefieldPathExpression) { |
| return sum(path(statefieldPathExpression)); |
| } |
| |
| public static SumFunctionTester sumDistinct(String statefieldPathExpression) { |
| return new SumFunctionTester(path(statefieldPathExpression), true); |
| } |
| |
| public static TableExpressionTester table(ExpressionTester tableName) { |
| return new TableExpressionTester(tableName); |
| } |
| |
| public static TableExpressionTester table(String tableName) { |
| return table(string(tableName)); |
| } |
| |
| public static TableVariableDeclarationTester tableVariableDeclaration(String tableName) { |
| return tableVariableDeclaration(table(tableName), nullExpression()); |
| } |
| |
| public static TableVariableDeclarationTester tableVariableDeclaration(String tableName, |
| String variable) { |
| |
| |
| return tableVariableDeclaration(table(tableName), variable(variable)); |
| } |
| |
| public static TableVariableDeclarationTester tableVariableDeclaration(TableExpressionTester tableName, |
| ExpressionTester variable) { |
| |
| return new TableVariableDeclarationTester(tableName, false, variable); |
| } |
| |
| public static TableVariableDeclarationTester tableVariableDeclaration(TableExpressionTester tableName, |
| String variable) { |
| |
| return tableVariableDeclaration(tableName, variable(variable)); |
| } |
| |
| public static TableVariableDeclarationTester tableVariableDeclarationAs(String tableName, |
| String variable) { |
| |
| return tableVariableDeclarationAs(table(tableName), variable(variable)); |
| } |
| |
| public static TableVariableDeclarationTester tableVariableDeclarationAs(TableExpressionTester tableName, |
| ExpressionTester variable) { |
| |
| return new TableVariableDeclarationTester(tableName, true, variable); |
| } |
| |
| public static TableVariableDeclarationTester tableVariableDeclarationAs(TableExpressionTester tableName, |
| String variable) { |
| |
| return tableVariableDeclarationAs(tableName, variable(variable)); |
| } |
| |
| public static TreatExpressionTester treat(ExpressionTester pathExpression, |
| ExpressionTester entityTypeName) { |
| |
| return new TreatExpressionTester(pathExpression, false, entityTypeName); |
| } |
| |
| public static TreatExpressionTester treat(ExpressionTester pathExpression, |
| String entityTypeName) { |
| |
| return treat(pathExpression, entity(entityTypeName)); |
| } |
| |
| public static TreatExpressionTester treat(String pathExpression, |
| String entityTypeName) { |
| |
| return treat(collectionPath(pathExpression), entity(entityTypeName)); |
| } |
| |
| public static TreatExpressionTester treatAs(ExpressionTester pathExpression, |
| ExpressionTester entityTypeName) { |
| |
| return new TreatExpressionTester(pathExpression, true, entityTypeName); |
| } |
| |
| public static TreatExpressionTester treatAs(ExpressionTester pathExpression, |
| String entityTypeName) { |
| |
| return treatAs(pathExpression, entity(entityTypeName)); |
| } |
| |
| public static TreatExpressionTester treatAs(String pathExpression, String entityTypeName) { |
| return treatAs(collectionPath(pathExpression), entity(entityTypeName)); |
| } |
| |
| public static TrimExpressionTester trim(char trimCharacter, ExpressionTester stringPrimary) { |
| return trim(string(quote(trimCharacter)), stringPrimary); |
| } |
| |
| public static TrimExpressionTester trim(ExpressionTester stringPrimary) { |
| return trim(nullExpression(), stringPrimary); |
| } |
| |
| public static TrimExpressionTester trim(ExpressionTester trimCharacter, |
| ExpressionTester stringPrimary) { |
| |
| return trim(Specification.DEFAULT, trimCharacter, false, stringPrimary); |
| } |
| |
| private static TrimExpressionTester trim(Specification specification, |
| ExpressionTester trimCharacter, |
| boolean hasFrom, |
| ExpressionTester stringPrimary) { |
| |
| return new TrimExpressionTester(specification, stringPrimary, trimCharacter, hasFrom); |
| } |
| |
| public static TrimExpressionTester trimBoth(ExpressionTester stringPrimary) { |
| return trim(Specification.BOTH, nullExpression(), false, stringPrimary); |
| } |
| |
| public static TrimExpressionTester trimBothFrom(char trimCharacter, |
| ExpressionTester stringPrimary) { |
| |
| return trimBothFrom(string(quote(trimCharacter)), stringPrimary); |
| } |
| |
| public static TrimExpressionTester trimBothFrom(ExpressionTester stringPrimary) { |
| return trimBothFrom(nullExpression(), stringPrimary); |
| } |
| |
| public static TrimExpressionTester trimBothFrom(ExpressionTester trimCharacter, |
| ExpressionTester stringPrimary) { |
| |
| return trim(Specification.BOTH, trimCharacter, true, stringPrimary); |
| } |
| |
| public static TrimExpressionTester trimFrom(char trimCharacter, ExpressionTester stringPrimary) { |
| return trimFrom(string(trimCharacter), stringPrimary); |
| } |
| |
| public static TrimExpressionTester trimFrom(ExpressionTester stringPrimary) { |
| return trimFrom(nullExpression(), stringPrimary); |
| } |
| |
| public static TrimExpressionTester trimFrom(ExpressionTester trimCharacter, |
| ExpressionTester stringPrimary) { |
| |
| return trim(Specification.DEFAULT, trimCharacter, true, stringPrimary); |
| } |
| |
| public static TrimExpressionTester trimLeading(char trimCharacter, |
| ExpressionTester stringPrimary) { |
| |
| return trimLeading(string(quote(trimCharacter)), stringPrimary); |
| } |
| |
| public static TrimExpressionTester trimLeading(ExpressionTester stringPrimary) { |
| return trimLeading(nullExpression(), stringPrimary); |
| } |
| |
| public static TrimExpressionTester trimLeading(ExpressionTester trimCharacter, |
| ExpressionTester stringPrimary) { |
| |
| return trim(Specification.LEADING, trimCharacter, false, stringPrimary); |
| } |
| |
| public static TrimExpressionTester trimLeadingFrom(char trimCharacter, |
| ExpressionTester stringPrimary) { |
| |
| return trimLeadingFrom(string(quote(trimCharacter)), stringPrimary); |
| } |
| |
| public static TrimExpressionTester trimLeadingFrom(ExpressionTester stringPrimary) { |
| return trimLeadingFrom(nullExpression(), stringPrimary); |
| } |
| |
| public static TrimExpressionTester trimLeadingFrom(ExpressionTester trimCharacter, |
| ExpressionTester stringPrimary) { |
| |
| return trim(Specification.LEADING, trimCharacter, true, stringPrimary); |
| } |
| |
| public static TrimExpressionTester trimTrailing(char trimCharacter, |
| ExpressionTester stringPrimary) { |
| |
| return trimTrailing(string(quote(trimCharacter)), stringPrimary); |
| } |
| |
| public static TrimExpressionTester trimTrailing(ExpressionTester stringPrimary) { |
| return trimTrailing(nullExpression(), stringPrimary); |
| } |
| |
| public static TrimExpressionTester trimTrailing(ExpressionTester trimCharacter, |
| ExpressionTester stringPrimary) { |
| |
| return trim(Specification.TRAILING, trimCharacter, false, stringPrimary); |
| } |
| |
| public static TrimExpressionTester trimTrailingFrom(char trimCharacter, |
| ExpressionTester stringPrimary) { |
| |
| return trimTrailingFrom(string(quote(trimCharacter)), stringPrimary); |
| } |
| |
| public static TrimExpressionTester trimTrailingFrom(ExpressionTester stringPrimary) { |
| return trimTrailingFrom(nullExpression(), stringPrimary); |
| } |
| |
| public static TrimExpressionTester trimTrailingFrom(ExpressionTester trimCharacter, |
| ExpressionTester stringPrimary) { |
| |
| return trim(Specification.TRAILING, trimCharacter, true, stringPrimary); |
| } |
| |
| public static ExpressionTester TRUE() { |
| return new KeywordExpressionTester(TRUE); |
| } |
| |
| public static TypeExpressionTester type(ExpressionTester identificationVariable) { |
| return new TypeExpressionTester(identificationVariable); |
| } |
| |
| public static TypeExpressionTester type(String identificationVariable) { |
| return type(variable(identificationVariable)); |
| } |
| |
| public static UnionClauseTester union(ExpressionTester subquery) { |
| return union(UNION, false, subquery); |
| } |
| |
| public static UnionClauseTester union(ExpressionTester selectClause, |
| ExpressionTester fromClause) { |
| |
| return union(subquery(selectClause, fromClause)); |
| } |
| |
| public static UnionClauseTester union(ExpressionTester selectClause, |
| ExpressionTester fromClause, |
| ExpressionTester whereClause) { |
| |
| return union(subquery(selectClause, fromClause, whereClause)); |
| } |
| |
| public static UnionClauseTester union(ExpressionTester selectClause, |
| ExpressionTester fromClause, |
| ExpressionTester whereClause, |
| ExpressionTester groupByClause, |
| ExpressionTester havingClause) { |
| |
| return union(subquery(selectClause, fromClause, whereClause, groupByClause, havingClause)); |
| } |
| |
| public static UnionClauseTester union(String identifier, |
| boolean hasAll, |
| ExpressionTester subquery) { |
| |
| return new UnionClauseTester(identifier, hasAll, subquery); |
| } |
| |
| public static UnionClauseTester unionAll(ExpressionTester subquery) { |
| return union(UNION, true, subquery); |
| } |
| |
| public static UnionClauseTester unionAll(ExpressionTester selectClause, |
| ExpressionTester fromClause) { |
| |
| return unionAll(subquery(selectClause, fromClause)); |
| } |
| |
| public static UnionClauseTester unionAll(ExpressionTester selectClause, |
| ExpressionTester fromClause, |
| ExpressionTester whereClause) { |
| |
| return unionAll(subquery(selectClause, fromClause, whereClause)); |
| } |
| |
| public static UnionClauseTester unionAll(ExpressionTester selectClause, |
| ExpressionTester fromClause, |
| ExpressionTester whereClause, |
| ExpressionTester groupByClause, |
| ExpressionTester havingClause) { |
| |
| return unionAll(subquery(selectClause, fromClause, whereClause, groupByClause, havingClause)); |
| } |
| |
| public static UnknownExpressionTester unknown(String unknown) { |
| return new UnknownExpressionTester(unknown); |
| } |
| |
| public static UpdateClauseTester update(ExpressionTester rangeVariableDeclaration, |
| ExpressionTester updateItem) { |
| |
| return new UpdateClauseTester( |
| rangeVariableDeclaration, |
| updateItem |
| ); |
| } |
| |
| public static UpdateClauseTester update(ExpressionTester rangeVariableDeclaration, |
| ExpressionTester... updateItems) { |
| |
| return new UpdateClauseTester( |
| rangeVariableDeclaration, |
| collection(updateItems) |
| ); |
| } |
| |
| public static UpdateClauseTester update(String abstractSchemaName, |
| ExpressionTester updateItem) { |
| |
| UpdateClauseTester updateClause = update( |
| rangeVariableDeclaration( |
| abstractSchemaName(abstractSchemaName), |
| virtualVariable(abstractSchemaName.toLowerCase()) |
| ), |
| updateItem |
| ); |
| updateClause.hasSpaceAfterRangeVariableDeclaration = false; |
| return updateClause; |
| } |
| |
| public static UpdateClauseTester update(String abstractSchemaName, |
| ExpressionTester... updateItems) { |
| |
| UpdateClauseTester updateClause = update( |
| rangeVariableDeclaration( |
| abstractSchemaName(abstractSchemaName), |
| virtualVariable(abstractSchemaName.toLowerCase()) |
| ), |
| updateItems |
| ); |
| updateClause.hasSpaceAfterRangeVariableDeclaration = false; |
| return updateClause; |
| } |
| |
| public static UpdateClauseTester update(String abstractSchemaName, |
| String identificationVariable, |
| ExpressionTester updateItem) { |
| |
| return new UpdateClauseTester( |
| rangeVariableDeclaration(abstractSchemaName, identificationVariable), |
| updateItem |
| ); |
| } |
| |
| public static UpdateClauseTester update(String abstractSchemaName, |
| String identificationVariable, |
| ExpressionTester... updateItems) { |
| |
| return new UpdateClauseTester( |
| rangeVariableDeclaration(abstractSchemaName, identificationVariable), |
| collection(updateItems) |
| ); |
| } |
| |
| public static UpdateClauseTester updateAs(String abstractSchemaName, |
| ExpressionTester updateItem) { |
| |
| return update( |
| rangeVariableDeclarationAs( |
| abstractSchemaName(abstractSchemaName), |
| nullExpression()), |
| updateItem |
| ); |
| } |
| |
| public static UpdateClauseTester updateAs(String abstractSchemaName, |
| String identificationVariable) { |
| |
| return update( |
| rangeVariableDeclarationAs(abstractSchemaName, identificationVariable), |
| nullExpression() |
| ); |
| } |
| |
| public static UpdateClauseTester updateAs(String abstractSchemaName, |
| String identificationVariable, |
| ExpressionTester updateItem) { |
| |
| return update( |
| rangeVariableDeclarationAs(abstractSchemaName, identificationVariable), |
| updateItem |
| ); |
| } |
| |
| public static UpdateClauseTester updateAs(String abstractSchemaName, |
| String identificationVariable, |
| ExpressionTester... updateItems) { |
| |
| return update( |
| rangeVariableDeclarationAs(abstractSchemaName, identificationVariable), |
| updateItems |
| ); |
| } |
| |
| public static UpdateStatementTester updateStatement(ExpressionTester updateClause) { |
| return updateStatement(updateClause, nullExpression()); |
| } |
| |
| public static UpdateStatementTester updateStatement(ExpressionTester updateClause, |
| ExpressionTester whereClause) { |
| |
| return new UpdateStatementTester(updateClause, whereClause); |
| } |
| |
| public static UpperExpressionTester upper(ExpressionTester stringPrimary) { |
| return new UpperExpressionTester(stringPrimary); |
| } |
| |
| public static IdentificationVariableTester variable(String identificationVariable) { |
| |
| if (identificationVariable.startsWith("{")) { |
| return virtualVariable(identificationVariable); |
| } |
| |
| return new IdentificationVariableTester(identificationVariable, false, nullExpression()); |
| } |
| |
| public static IdentificationVariableTester virtualVariable(String identificationVariable) { |
| |
| if (identificationVariable.startsWith("{")) { |
| identificationVariable = identificationVariable.substring(1, identificationVariable.length() - 1); |
| } |
| |
| return new IdentificationVariableTester(identificationVariable, true, nullExpression()); |
| } |
| |
| public static IdentificationVariableTester virtualVariable(String identificationVariable, |
| String pathExpression) { |
| |
| StateFieldPathExpressionTester path = path( |
| virtualVariable(identificationVariable), |
| pathExpression |
| ); |
| |
| return new IdentificationVariableTester(pathExpression, true, path); |
| } |
| |
| public static WhenClauseTester when(ExpressionTester conditionalExpression, |
| ExpressionTester thenExpression) { |
| |
| return new WhenClauseTester(conditionalExpression, thenExpression); |
| } |
| |
| public static WhereClauseTester where(ExpressionTester conditionalExpression) { |
| return new WhereClauseTester(conditionalExpression); |
| } |
| } |