## Uses of Class
org.apache.cayenne.exp.Expression

- Packages that use Expression
  Package | Description
  --- | ---
  org.apache.cayenne.access.translator.select |
  org.apache.cayenne.exp | Cayenne data expression classes.
  org.apache.cayenne.exp.parser | Contains expression parser and other expression internals.
  org.apache.cayenne.exp.property | Property API
  org.apache.cayenne.map | Contains O/R mapping classes that store relational database metadata information and map it to Java classes.
  org.apache.cayenne.query | Defines standard queries supported by Cayenne and extension mechanism to create custom queries.
  org.apache.cayenne.reflect |

- - ### Uses of Expression in org.apache.cayenne.access.translator.select

    Methods in org.apache.cayenne.access.translator.select that return Expression
    Modifier and Type | Method and Description
    --- | ---
    `Expression` | FluentSelectWrapper.`getHavingQualifier()`
    `Expression` | SelectQueryWrapper.`getHavingQualifier()` Deprecated.
    `Expression` | TranslatableQueryWrapper.`getHavingQualifier()`
    `Expression` | FluentSelectWrapper.`getQualifier()`
    `Expression` | SelectQueryWrapper.`getQualifier()` Deprecated.
    `Expression` | TranslatableQueryWrapper.`getQualifier()`

  - ### Uses of Expression in org.apache.cayenne.exp

    Methods in org.apache.cayenne.exp that return Expression
    Modifier and Type | Method and Description
    --- | ---
    `static Expression` | FunctionExpressionFactory.`absExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`absExp(String path)`
    `static Expression` | ExpressionFactory.`and(Collection<Expression> expressions)`
    `static Expression` | ExpressionFactory.`and(Expression... expressions)`
    `Expression` | Expression.`andExp(Expression exp)` Chains this expression with another expression using "and".
    `Expression` | Expression.`andExp(Expression exp, Expression... expressions)` Chains this expression with other expressions using "and".
    `static Expression` | FunctionExpressionFactory.`avgExp(Expression exp)`
    `static Expression` | ExpressionFactory.`betweenDbExp(String pathSpec, Object value1, Object value2)` A convenience shortcut for building BETWEEN expressions.
    `static Expression` | ExpressionFactory.`betweenExp(Expression exp, Object value1, Object value2)`
    `static Expression` | ExpressionFactory.`betweenExp(String pathSpec, Object value1, Object value2)` A convenience shortcut for building BETWEEN expressions.
    `static Expression` | FunctionExpressionFactory.`concatExp(Expression... expressions)` Factory method for expression to call CONCAT(string1, string2, ...) function
    `static Expression` | FunctionExpressionFactory.`concatExp(String... paths)` Factory method for expression to call CONCAT(string1, string2, ...) function
    `Expression` | Property.`contains(String substring)` Deprecated. Creates an expression for a database "LIKE" query with the value converted to a pattern matching anywhere in the String.
    `static Expression` | ExpressionFactory.`containsExp(Expression exp, String value)`
    `static Expression` | ExpressionFactory.`containsExp(String pathSpec, String value)`
    `Expression` | Property.`containsIgnoreCase(String value)` Deprecated. Same as `Property.contains(String)`, only using case-insensitive comparison.
    `static Expression` | ExpressionFactory.`containsIgnoreCaseExp(Expression exp, String value)`
    `static Expression` | ExpressionFactory.`containsIgnoreCaseExp(String pathSpec, String value)` Same as `ExpressionFactory.containsExp(String, String)` only using case-insensitive comparison.
    `static Expression` | FunctionExpressionFactory.`countDistinctExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`countExp()`
    `static Expression` | FunctionExpressionFactory.`countExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`currentDate()`
    `static Expression` | FunctionExpressionFactory.`currentTime()`
    `static Expression` | FunctionExpressionFactory.`currentTimestamp()`
    `static Expression` | FunctionExpressionFactory.`dayOfMonthExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`dayOfMonthExp(String path)`
    `static Expression` | FunctionExpressionFactory.`dayOfWeekExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`dayOfWeekExp(String path)`
    `static Expression` | FunctionExpressionFactory.`dayOfYearExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`dayOfYearExp(String path)`
    `static Expression` | ExpressionFactory.`dbIdPathExp(String pathSpec)`
    `static Expression` | ExpressionFactory.`dbPathExp(String pathSpec)`
    `Expression` | Expression.`deepCopy()` Clones this expression.
    `static Expression` | ExpressionFactory.`enclosingObjectExp(Expression exp)`
    `Expression` | Property.`endsWith(String value)` Deprecated. Creates an expression for a database "LIKE" query with the value converted to a pattern matching the tail of a String.
    `static Expression` | ExpressionFactory.`endsWithExp(Expression exp, String value)`
    `static Expression` | ExpressionFactory.`endsWithExp(String pathSpec, String value)`
    `Expression` | Property.`endsWithIgnoreCase(String value)` Deprecated. Same as `Property.endsWith(String)`, only using case-insensitive comparison.
    `static Expression` | ExpressionFactory.`endsWithIgnoreCaseExp(Expression exp, String value)`
    `static Expression` | ExpressionFactory.`endsWithIgnoreCaseExp(String pathSpec, String value)` Same as `ExpressionFactory.endsWithExp(String, String)` only using case-insensitive comparison.
    `static Expression` | ExpressionFactory.`exists(FluentSelect<?> subQuery)`
    `static Expression` | ExpressionFactory.`exp(String expressionString, Object... parameters)` Parses string, converting it to Expression and optionally binding positional parameters.
    `static Expression` | ExpressionFactory.`expFalse()` A convenience shortcut for boolean false expression.
    `static Expression` | ExpressionFactory.`expressionOfType(int type)` Creates a new expression for the type requested.
    `static Expression` | ExpressionFactory.`expTrue()` A convenience shortcut for boolean true expression.
    `static Expression` | ExpressionFactory.`fullObjectExp()`
    `static Expression` | ExpressionFactory.`fullObjectExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`functionCall(String function, Object... args)`
    `static Expression` | ExpressionFactory.`greaterDbExp(String pathSpec, Object value)` A convenience method to create an DB_PATH "greater than" expression.
    `static Expression` | ExpressionFactory.`greaterExp(Expression exp, Object value)`
    `static Expression` | ExpressionFactory.`greaterExp(String pathSpec, Object value)` A convenience method to create an OBJ_PATH "greater than" expression.
    `static Expression` | ExpressionFactory.`greaterOrEqualDbExp(String pathSpec, Object value)` A convenience method to create an DB_PATH "greater than or equal to" expression.
    `static Expression` | ExpressionFactory.`greaterOrEqualExp(Expression exp, Object value)`
    `static Expression` | ExpressionFactory.`greaterOrEqualExp(String pathSpec, Object value)` A convenience method to create an OBJ_PATH "greater than or equal to" expression.
    `static Expression` | FunctionExpressionFactory.`hourExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`hourExp(String path)`
    `static Expression` | ExpressionFactory.`inDbExp(String pathSpec, Collection<?> values)` A convenience shortcut for building IN DB expression.
    `static Expression` | ExpressionFactory.`inDbExp(String pathSpec, Object... values)` A convenience shortcut for building IN DB expression.
    `static Expression` | ExpressionFactory.`inDbIdExp(String pathSpec, Collection<?> values)` A convenience shortcut for building IN DBID expression.
    `static Expression` | ExpressionFactory.`inDbIdExp(String pathSpec, Object... values)` A convenience shortcut for building IN DBID expression.
    `static Expression` | ExpressionFactory.`inExp(Expression exp, Collection<?> values)`
    `static Expression` | ExpressionFactory.`inExp(Expression exp, ColumnSelect<?> subQuery)`
    `static Expression` | ExpressionFactory.`inExp(Expression exp, Object... values)`
    `static Expression` | ExpressionFactory.`inExp(String pathSpec, Collection<?> values)` A convenience shortcut for building IN expression.
    `static Expression` | ExpressionFactory.`inExp(String pathSpec, Object... values)` A convenience shortcut for building IN expression.
    `static Expression` | ExpressionFactory.`joinExp(int type, Collection<Expression> expressions)` Joins all expressions, making a single expression.
    `static Expression` | ExpressionFactory.`joinExp(int type, Expression... expressions)` Joins all expressions, making a single expression.
    `Expression` | Expression.`joinExp(int type, Expression exp)` Creates a new expression that joins this object with another expression, using specified join type.
    `Expression` | Expression.`joinExp(int type, Expression exp, Expression... expressions)` Creates a new expression that joins this object with other expressions, using specified join type.
    `static Expression` | FunctionExpressionFactory.`lengthExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`lengthExp(String path)`
    `static Expression` | ExpressionFactory.`lessDbExp(String pathSpec, Object value)` A convenience method to create an DB_PATH "less than" expression.
    `static Expression` | ExpressionFactory.`lessExp(Expression exp, Object value)`
    `static Expression` | ExpressionFactory.`lessExp(String pathSpec, Object value)` A convenience method to create an OBJ_PATH "less than" expression.
    `static Expression` | ExpressionFactory.`lessOrEqualDbExp(String pathSpec, Object value)` A convenience method to create an DB_PATH "less than or equal to" expression.
    `static Expression` | ExpressionFactory.`lessOrEqualExp(Expression exp, Object value)`
    `static Expression` | ExpressionFactory.`lessOrEqualExp(String pathSpec, Object value)` A convenience method to create an OBJ_PATH "less than or equal to" expression.
    `Expression` | Property.`like(String pattern)` Deprecated.
    `Expression` | Property.`like(String pattern, char escapeChar)` Deprecated.
    `static Expression` | ExpressionFactory.`likeDbExp(String pathSpec, Object value)` A convenience shortcut for building LIKE DB_PATH expression.
    `static Expression` | ExpressionFactory.`likeDbExp(String pathSpec, Object value, char escapeChar)` A convenience shortcut for building LIKE DB_PATH expression.
    `static Expression` | ExpressionFactory.`likeExp(Expression exp, Object value)`
    `static Expression` | ExpressionFactory.`likeExp(Expression exp, Object value, char escapeChar)`
    `static Expression` | ExpressionFactory.`likeExp(String pathSpec, Object value)` A convenience shortcut for building LIKE expression.
    `static Expression` | ExpressionFactory.`likeExp(String pathSpec, Object value, char escapeChar)` A convenience shortcut for building LIKE expression.
    `Expression` | Property.`likeIgnoreCase(String pattern)` Deprecated.
    `static Expression` | ExpressionFactory.`likeIgnoreCaseDbExp(String pathSpec, Object value)` A convenience shortcut for building LIKE_IGNORE_CASE expression.
    `static Expression` | ExpressionFactory.`likeIgnoreCaseDbExp(String pathSpec, Object value, char escapeChar)` A convenience shortcut for building LIKE_IGNORE_CASE expression.
    `static Expression` | ExpressionFactory.`likeIgnoreCaseExp(Expression exp, Object value)`
    `static Expression` | ExpressionFactory.`likeIgnoreCaseExp(String pathSpec, Object value)` A convenience shortcut for building LIKE_IGNORE_CASE expression.
    `static Expression` | ExpressionFactory.`likeIgnoreCaseExp(String pathSpec, Object value, char escapeChar)` A convenience shortcut for building LIKE_IGNORE_CASE expression.
    `static Expression` | FunctionExpressionFactory.`locateExp(Expression substring, Expression exp)` Call LOCATE(substring, string) function that return position of substring in string or 0 if it is not found.
    `static Expression` | FunctionExpressionFactory.`locateExp(String substring, Expression exp)` Call LOCATE(substring, string) function that return position of substring in string or 0 if it is not found.
    `static Expression` | FunctionExpressionFactory.`locateExp(String substring, String path)` Call LOCATE(substring, string) function that return position of substring in string or 0 if it is not found.
    `static Expression` | FunctionExpressionFactory.`lowerExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`lowerExp(String path)`
    `static Expression` | ExpressionFactory.`matchAllDbExp(Map<String,?> map, int pairType)` Creates an expression that matches all key-values pairs in `map`.
    `static Expression` | ExpressionFactory.`matchAllExp(Map<String,?> map, int pairType)` Creates an expression that matches all key-values pairs in `map`.
    `static Expression` | ExpressionFactory.`matchAllExp(String path, Collection<?> values)` Creates an expression to match a collection of values against a single path expression.
    `static Expression` | ExpressionFactory.`matchAllExp(String path, Object... values)`
    `static Expression` | ExpressionFactory.`matchAnyDbExp(Map<String,?> map, int pairType)` Creates an expression that matches any of the key-values pairs in `map`.
    `static Expression` | ExpressionFactory.`matchAnyExp(List<? extends Persistent> objects)` Creates an expression that matches any of the objects contained in the list `objects`
    `static Expression` | ExpressionFactory.`matchAnyExp(Map<String,?> map, int pairType)` Creates an expression that matches any of the key-values pairs in the `map`.
    `static Expression` | ExpressionFactory.`matchAnyExp(Persistent... objects)` Creates an expression that matches any of the objects contained in the `objects` array
    `static Expression` | ExpressionFactory.`matchDbExp(String pathSpec, Object value)` A convenience method to create an DB_PATH "equal to" expression.
    `static Expression` | ExpressionFactory.`matchDbIdExp(String pathSpec, Object value)` A convenience method to create an DBID_PATH "equal to" expression.
    `static Expression` | ExpressionFactory.`matchExp(Expression exp, Object value)`
    `static Expression` | ExpressionFactory.`matchExp(Persistent object)` Creates an expression that matches the primary key of object in `ObjectId`'s `IdSnapshot` for the argument `object`.
    `static Expression` | ExpressionFactory.`matchExp(String pathSpec, Object value)` A convenience method to create an OBJ_PATH "equal to" expression.
    `static Expression` | FunctionExpressionFactory.`maxExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`minExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`minuteExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`minuteExp(String path)`
    `static Expression` | FunctionExpressionFactory.`modExp(Expression exp, Expression number)`
    `static Expression` | FunctionExpressionFactory.`modExp(Expression exp, Number number)`
    `static Expression` | FunctionExpressionFactory.`modExp(String path, Number number)`
    `static Expression` | FunctionExpressionFactory.`monthExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`monthExp(String path)`
    `Expression` | Property.`nlike(String value)` Deprecated.
    `Expression` | Property.`nlikeIgnoreCase(String value)` Deprecated.
    `static Expression` | ExpressionFactory.`noMatchDbExp(String pathSpec, Object value)` A convenience method to create an DB_PATH "not equal to" expression.
    `static Expression` | ExpressionFactory.`noMatchDbIdExp(String pathSpec, Object value)` A convenience method to create an DBID_PATH "not equal to" expression.
    `static Expression` | ExpressionFactory.`noMatchExp(Expression exp, Object value)`
    `static Expression` | ExpressionFactory.`noMatchExp(String pathSpec, Object value)` A convenience method to create an OBJ_PATH "not equal to" expression.
    `static Expression` | ExpressionFactory.`notBetweenDbExp(String pathSpec, Object value1, Object value2)` A convenience shortcut for building NOT_BETWEEN expressions.
    `static Expression` | ExpressionFactory.`notBetweenExp(Expression exp, Object value1, Object value2)`
    `static Expression` | ExpressionFactory.`notBetweenExp(String pathSpec, Object value1, Object value2)` A convenience shortcut for building NOT_BETWEEN expressions.
    `static Expression` | ExpressionFactory.`notExists(FluentSelect<?> subQuery)`
    `abstract Expression` | Expression.`notExp()` Returns a logical NOT of current expression.
    `static Expression` | ExpressionFactory.`notInDbExp(String pathSpec, Collection<?> values)` A convenience shortcut for building NOT_IN expression.
    `static Expression` | ExpressionFactory.`notInDbExp(String pathSpec, Object... values)` A convenience shortcut for building NOT_IN expression.
    `static Expression` | ExpressionFactory.`notInDbIdExp(String pathSpec, Collection<?> values)` A convenience shortcut for building NOT_IN expression.
    `static Expression` | ExpressionFactory.`notInDbIdExp(String pathSpec, Object... values)` A convenience shortcut for building NOT_IN expression.
    `static Expression` | ExpressionFactory.`notInExp(Expression exp, Collection<?> values)`
    `static Expression` | ExpressionFactory.`notInExp(Expression exp, ColumnSelect<?> subQuery)`
    `static Expression` | ExpressionFactory.`notInExp(Expression exp, Object... values)`
    `static Expression` | ExpressionFactory.`notInExp(String pathSpec, Collection<?> values)` A convenience shortcut for building NOT_IN expression.
    `static Expression` | ExpressionFactory.`notInExp(String pathSpec, Object... values)` A convenience shortcut for building NOT_IN expression.
    `static Expression` | ExpressionFactory.`notLikeDbExp(String pathSpec, Object value)` A convenience shortcut for building NOT_LIKE expression.
    `static Expression` | ExpressionFactory.`notLikeDbExp(String pathSpec, Object value, char escapeChar)` A convenience shortcut for building NOT_LIKE expression.
    `static Expression` | ExpressionFactory.`notLikeExp(Expression exp, Object value)`
    `static Expression` | ExpressionFactory.`notLikeExp(Expression exp, Object value, char escapeChar)`
    `static Expression` | ExpressionFactory.`notLikeExp(String pathSpec, Object value)` A convenience shortcut for building NOT_LIKE expression.
    `static Expression` | ExpressionFactory.`notLikeExp(String pathSpec, Object value, char escapeChar)` A convenience shortcut for building NOT_LIKE expression.
    `static Expression` | ExpressionFactory.`notLikeIgnoreCaseDbExp(String pathSpec, Object value)` A convenience shortcut for building NOT_LIKE_IGNORE_CASE expression.
    `static Expression` | ExpressionFactory.`notLikeIgnoreCaseDbExp(String pathSpec, Object value, char escapeChar)` A convenience shortcut for building NOT_LIKE_IGNORE_CASE expression.
    `static Expression` | ExpressionFactory.`notLikeIgnoreCaseExp(Expression exp, Object value)`
    `static Expression` | ExpressionFactory.`notLikeIgnoreCaseExp(Expression exp, Object value, char escapeChar)`
    `static Expression` | ExpressionFactory.`notLikeIgnoreCaseExp(String pathSpec, Object value)` A convenience shortcut for building NOT_LIKE_IGNORE_CASE expression.
    `static Expression` | ExpressionFactory.`notLikeIgnoreCaseExp(String pathSpec, Object value, char escapeChar)` A convenience shortcut for building NOT_LIKE_IGNORE_CASE expression.
    `static Expression` | FunctionExpressionFactory.`operator(String operator, Object... args)`
    `static Expression` | ExpressionFactory.`or(Collection<Expression> expressions)`
    `static Expression` | ExpressionFactory.`or(Expression... expressions)`
    `Expression` | Expression.`orExp(Expression exp)` Chains this expression with another expression using "or".
    `Expression` | Expression.`orExp(Expression exp, Expression... expressions)` Chains this expression with other expressions using "or".
    `Expression` | Expression.`params(Map<String,?> parameters)` Creates and returns a new Expression instance based on this expression, but with named parameters substituted with provided values.
    `Expression` | Expression.`params(Map<String,?> parameters, boolean pruneMissing)` Creates and returns a new Expression instance based on this expression, but with named parameters substituted with provided values.If any subexpressions containing parameters not matching the "name" argument are found, the behavior depends on "pruneMissing" argument.
    `Expression` | Expression.`paramsArray(Object... parameters)` Creates and returns a new Expression instance based on this expression, but with parameters substituted with provided values.
    `static Expression` | ExpressionFactory.`pathExp(String pathSpec)`
    `static Expression` | FunctionExpressionFactory.`secondExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`secondExp(String path)`
    `abstract Expression` | Expression.`shallowCopy()` Creates a copy of this expression node, without copying children.
    `static Expression` | FunctionExpressionFactory.`sqrtExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`sqrtExp(String path)`
    `Expression` | Property.`startsWith(String value)` Deprecated. Creates an expression for a database "LIKE" query with the value converted to a pattern matching the beginning of a String.
    `static Expression` | ExpressionFactory.`startsWithExp(Expression exp, String value)`
    `static Expression` | ExpressionFactory.`startsWithExp(String pathSpec, String value)`
    `Expression` | Property.`startsWithIgnoreCase(String value)` Deprecated. Same as `Property.startsWith(String)`, only using case-insensitive comparison.
    `static Expression` | ExpressionFactory.`startsWithIgnoreCaseExp(Expression exp, String value)`
    `static Expression` | ExpressionFactory.`startsWithIgnoreCaseExp(String pathSpec, String value)` Same as `ExpressionFactory.startsWithExp(String, String)` only using case-insensitive comparison.
    `static Expression` | FunctionExpressionFactory.`substringExp(Expression exp, Expression offset, Expression length)` Call SUBSTRING(string, offset, length) function
    `static Expression` | FunctionExpressionFactory.`substringExp(Expression exp, int offset, int length)` Call SUBSTRING(string, offset, length) function
    `static Expression` | FunctionExpressionFactory.`substringExp(String path, int offset, int length)` Call SUBSTRING(string, offset, length) function
    `static Expression` | FunctionExpressionFactory.`sumExp(Expression exp)`
    `Expression` | Expression.`transform(Function<Object,Object> transformer)` Creates a transformed copy of this expression, applying transformation provided by Transformer to all its nodes.
    `static Expression` | FunctionExpressionFactory.`trimExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`trimExp(String path)`
    `static Expression` | FunctionExpressionFactory.`upperExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`upperExp(String path)`
    `static Expression` | FunctionExpressionFactory.`weekExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`weekExp(String path)`
    `static Expression` | ExpressionFactory.`wrapScalarValue(Object value)` Wrap value into ASTScalar
    `static Expression` | FunctionExpressionFactory.`yearExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`yearExp(String path)`

    Methods in org.apache.cayenne.exp with parameters of type Expression
    Modifier and Type | Method and Description
    --- | ---
    `static Expression` | FunctionExpressionFactory.`absExp(Expression exp)`
    `static Expression` | ExpressionFactory.`and(Expression... expressions)`
    `Expression` | Expression.`andExp(Expression exp)` Chains this expression with another expression using "and".
    `Expression` | Expression.`andExp(Expression exp, Expression... expressions)` Chains this expression with other expressions using "and".
    `Expression` | Expression.`andExp(Expression exp, Expression... expressions)` Chains this expression with other expressions using "and".
    `static Expression` | FunctionExpressionFactory.`avgExp(Expression exp)`
    `static Expression` | ExpressionFactory.`betweenExp(Expression exp, Object value1, Object value2)`
    `static Expression` | FunctionExpressionFactory.`concatExp(Expression... expressions)` Factory method for expression to call CONCAT(string1, string2, ...) function
    `static Expression` | ExpressionFactory.`containsExp(Expression exp, String value)`
    `static Expression` | ExpressionFactory.`containsIgnoreCaseExp(Expression exp, String value)`
    `static Expression` | FunctionExpressionFactory.`countDistinctExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`countExp(Expression exp)`
    `static <T> Property<T>` | Property.`create(Expression expression, Class<? super T> type)` Deprecated. Creates property with expression and type
    `static <T> Property<T>` | Property.`create(String name, Expression expression, Class<? super T> type)` Deprecated. Creates property with name, expression and type
    `static Expression` | FunctionExpressionFactory.`dayOfMonthExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`dayOfWeekExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`dayOfYearExp(Expression exp)`
    `static Expression` | ExpressionFactory.`enclosingObjectExp(Expression exp)`
    `void` | TraversalHandler.`endNode(Expression node, Expression parentNode)` Called during the traversal after an expression node children processing is finished.
    `void` | TraversalHelper.`endNode(Expression node, Expression parentNode)`
    `static Expression` | ExpressionFactory.`endsWithExp(Expression exp, String value)`
    `static Expression` | ExpressionFactory.`endsWithIgnoreCaseExp(Expression exp, String value)`
    `void` | TraversalHandler.`finishedChild(Expression node, int childIndex, boolean hasMoreChildren)` Called during traversal after a child of expression has been visited.
    `void` | TraversalHelper.`finishedChild(Expression node, int childIndex, boolean hasMoreChildren)`
    `static Expression` | ExpressionFactory.`fullObjectExp(Expression exp)`
    `static Expression` | ExpressionFactory.`greaterExp(Expression exp, Object value)`
    `static Expression` | ExpressionFactory.`greaterOrEqualExp(Expression exp, Object value)`
    `static Expression` | FunctionExpressionFactory.`hourExp(Expression exp)`
    `static Expression` | ExpressionFactory.`inExp(Expression exp, Collection<?> values)`
    `static Expression` | ExpressionFactory.`inExp(Expression exp, ColumnSelect<?> subQuery)`
    `static Expression` | ExpressionFactory.`inExp(Expression exp, Object... values)`
    `static Expression` | ExpressionFactory.`joinExp(int type, Expression... expressions)` Joins all expressions, making a single expression.
    `Expression` | Expression.`joinExp(int type, Expression exp)` Creates a new expression that joins this object with another expression, using specified join type.
    `Expression` | Expression.`joinExp(int type, Expression exp, Expression... expressions)` Creates a new expression that joins this object with other expressions, using specified join type.
    `Expression` | Expression.`joinExp(int type, Expression exp, Expression... expressions)` Creates a new expression that joins this object with other expressions, using specified join type.
    `static Expression` | FunctionExpressionFactory.`lengthExp(Expression exp)`
    `static Expression` | ExpressionFactory.`lessExp(Expression exp, Object value)`
    `static Expression` | ExpressionFactory.`lessOrEqualExp(Expression exp, Object value)`
    `static Expression` | ExpressionFactory.`likeExp(Expression exp, Object value)`
    `static Expression` | ExpressionFactory.`likeExp(Expression exp, Object value, char escapeChar)`
    `static Expression` | ExpressionFactory.`likeIgnoreCaseExp(Expression exp, Object value)`
    `static Expression` | FunctionExpressionFactory.`locateExp(Expression substring, Expression exp)` Call LOCATE(substring, string) function that return position of substring in string or 0 if it is not found.
    `static Expression` | FunctionExpressionFactory.`locateExp(String substring, Expression exp)` Call LOCATE(substring, string) function that return position of substring in string or 0 if it is not found.
    `static Expression` | FunctionExpressionFactory.`lowerExp(Expression exp)`
    `static Expression` | ExpressionFactory.`matchExp(Expression exp, Object value)`
    `static Expression` | FunctionExpressionFactory.`maxExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`minExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`minuteExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`modExp(Expression exp, Expression number)`
    `static Expression` | FunctionExpressionFactory.`modExp(Expression exp, Number number)`
    `static Expression` | FunctionExpressionFactory.`monthExp(Expression exp)`
    `static Expression` | ExpressionFactory.`noMatchExp(Expression exp, Object value)`
    `static Expression` | ExpressionFactory.`notBetweenExp(Expression exp, Object value1, Object value2)`
    `static Expression` | ExpressionFactory.`notInExp(Expression exp, Collection<?> values)`
    `static Expression` | ExpressionFactory.`notInExp(Expression exp, ColumnSelect<?> subQuery)`
    `static Expression` | ExpressionFactory.`notInExp(Expression exp, Object... values)`
    `static Expression` | ExpressionFactory.`notLikeExp(Expression exp, Object value)`
    `static Expression` | ExpressionFactory.`notLikeExp(Expression exp, Object value, char escapeChar)`
    `static Expression` | ExpressionFactory.`notLikeIgnoreCaseExp(Expression exp, Object value)`
    `static Expression` | ExpressionFactory.`notLikeIgnoreCaseExp(Expression exp, Object value, char escapeChar)`
    `void` | TraversalHandler.`objectNode(Object leaf, Expression parentNode)` Called during the traversal when a leaf non-expression node is encountered.
    `void` | TraversalHelper.`objectNode(Object leaf, Expression parentNode)`
    `static Expression` | ExpressionFactory.`or(Expression... expressions)`
    `Expression` | Expression.`orExp(Expression exp)` Chains this expression with another expression using "or".
    `Expression` | Expression.`orExp(Expression exp, Expression... expressions)` Chains this expression with other expressions using "or".
    `Expression` | Expression.`orExp(Expression exp, Expression... expressions)` Chains this expression with other expressions using "or".
    `static Expression` | FunctionExpressionFactory.`secondExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`sqrtExp(Expression exp)`
    `void` | TraversalHandler.`startNode(Expression node, Expression parentNode)` Called during the traversal before an expression node children processing is started.
    `void` | TraversalHelper.`startNode(Expression node, Expression parentNode)`
    `static Expression` | ExpressionFactory.`startsWithExp(Expression exp, String value)`
    `static Expression` | ExpressionFactory.`startsWithIgnoreCaseExp(Expression exp, String value)`
    `static Expression` | FunctionExpressionFactory.`substringExp(Expression exp, Expression offset, Expression length)` Call SUBSTRING(string, offset, length) function
    `static Expression` | FunctionExpressionFactory.`substringExp(Expression exp, int offset, int length)` Call SUBSTRING(string, offset, length) function
    `static Expression` | FunctionExpressionFactory.`sumExp(Expression exp)`
    `protected void` | Expression.`traverse(Expression parentExp, TraversalHandler visitor)` Traverses itself and child expressions, notifying visitor via callback methods as it goes.
    `static Expression` | FunctionExpressionFactory.`trimExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`upperExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`weekExp(Expression exp)`
    `static Expression` | FunctionExpressionFactory.`yearExp(Expression exp)`

    Method parameters in org.apache.cayenne.exp with type arguments of type Expression
    Modifier and Type | Method and Description
    --- | ---
    `static Expression` | ExpressionFactory.`and(Collection<Expression> expressions)`
    `static Expression` | ExpressionFactory.`joinExp(int type, Collection<Expression> expressions)` Joins all expressions, making a single expression.
    `static Expression` | ExpressionFactory.`or(Collection<Expression> expressions)`

    Constructors in org.apache.cayenne.exp with parameters of type Expression
    Constructor and Description
    `Property(String name, Expression expression, Class<E> type)` Deprecated. Constructs a new property with the given name and expression

  - ### Uses of Expression in org.apache.cayenne.exp.parser

    Subclasses of Expression in org.apache.cayenne.exp.parser
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AggregateConditionNode` Superclass of aggregated conditional nodes such as NOT, AND, OR.
    `class` | `ASTAbs`
    `class` | `ASTAdd` "Add" Expression.
    `class` | `ASTAggregateFunctionCall` Base class for all aggregation functions expressions It's more like marker interface for now.
    `class` | `ASTAnd` "And" expression.
    `class` | `ASTAsterisk` Asterisk operator for COUNT(*) expression.
    `class` | `ASTAvg`
    `class` | `ASTBetween` "Between" expression.
    `class` | `ASTBitwiseAnd` Bitwise conjunction (AND or '&') expression
    `class` | `ASTBitwiseLeftShift` Bitwise left shift '<<' operation.
    `class` | `ASTBitwiseNot` Bitwise negation (NOT i.e.
    `class` | `ASTBitwiseOr` Bitwise disjunction (OR or '|') expression.
    `class` | `ASTBitwiseRightShift` Bitwise right shift '>>' operation.
    `class` | `ASTBitwiseXor` Bitwise exclusive disjunction (XOR or '^') operation.
    `class` | `ASTConcat`
    `class` | `ASTCount`
    `class` | `ASTCurrentDate`
    `class` | `ASTCurrentTime`
    `class` | `ASTCurrentTimestamp`
    `class` | `ASTCustomFunction`
    `class` | `ASTCustomOperator`
    `class` | `ASTDbIdPath`
    `class` | `ASTDbPath` Path expression traversing DB relationships and attributes.
    `class` | `ASTDistinct`
    `class` | `ASTDivide` "Divide" expression.
    `class` | `ASTEnclosingObject`
    `class` | `ASTEnum` Scalar node that represents constant enumeration value.
    `class` | `ASTEqual` "Equal To" expression.
    `class` | `ASTExists`
    `class` | `ASTExtract`
    `class` | `ASTFalse` Boolean false expression element Notice that there is one ASTTrue and one ASTFalse instead of a ASTBoolean with a Boolean value.
    `class` | `ASTFullObject`
    `class` | `ASTFunctionCall`
    `class` | `ASTGreater` "Greater Than" expression.
    `class` | `ASTGreaterOrEqual` "Greater Than Or Equal To" expression.
    `class` | `ASTIn` "In" expression.
    `class` | `ASTLength`
    `class` | `ASTLess` "Less Then" expression.
    `class` | `ASTLessOrEqual` "Less than or equal to" expression.
    `class` | `ASTLike` "Like" expression.
    `class` | `ASTLikeIgnoreCase` "Case insensitive like" expression.
    `class` | `ASTList` A leaf expression representing an immutable collection of values.
    `class` | `ASTLocate`
    `class` | `ASTLower`
    `class` | `ASTMax`
    `class` | `ASTMin`
    `class` | `ASTMod`
    `class` | `ASTMultiply` "Multiply" expression.
    `class` | `ASTNamedParameter` A named expression parameter.
    `class` | `ASTNegate` "Negate" expression.
    `class` | `ASTNot` "Not" expression.
    `class` | `ASTNotBetween` "Not Between" expression.
    `class` | `ASTNotEqual` "Not equal to" expression.
    `class` | `ASTNotExists`
    `class` | `ASTNotIn` "Not In" expression.
    `class` | `ASTNotLike` "Not Like" expression.
    `class` | `ASTNotLikeIgnoreCase` "Not like, ignore case" expression.
    `class` | `ASTObjPath`
    `class` | `ASTOr` "Or" expression.
    `class` | `ASTPath` Generic path expression.
    `class` | `ASTScalar` A scalar value wrapper expression.
    `class` | `ASTSqrt`
    `class` | `ASTSubquery`
    `class` | `ASTSubstring`
    `class` | `ASTSubtract` "Subtract" expression.
    `class` | `ASTSum`
    `class` | `ASTTrim`
    `class` | `ASTTrue` Boolean true expression element Notice that there is one ASTTrue and one ASTFalse instead of a ASTBoolean with a Boolean value.
    `class` | `ASTUpper`
    `class` | `ConditionNode` Superclass of conditional expressions.
    `class` | `EvaluatedBitwiseNode`
    `class` | `EvaluatedMathNode`
    `class` | `EvaluatedNode`
    `class` | `PatternMatchNode` Superclass of pattern matching nodes.
    `class` | `SimpleNode` Superclass of AST* expressions that implements Node interface defined by JavaCC framework.

    Methods in org.apache.cayenne.exp.parser that return Expression
    Modifier and Type | Method and Description
    --- | ---
    `Expression` | ExpressionParser.`expression()`
    `Expression` | SimpleNode.`notExp()`
    `Expression` | ASTAbs.`shallowCopy()`
    `Expression` | ASTAdd.`shallowCopy()` Creates a copy of this expression node, without copying children.
    `Expression` | ASTAnd.`shallowCopy()` Creates a copy of this expression node, without copying children.
    `Expression` | ASTAsterisk.`shallowCopy()`
    `Expression` | ASTAvg.`shallowCopy()`
    `Expression` | ASTBetween.`shallowCopy()` Creates a copy of this expression node, without copying children.
    `Expression` | ASTBitwiseAnd.`shallowCopy()`
    `Expression` | ASTBitwiseLeftShift.`shallowCopy()`
    `Expression` | ASTBitwiseNot.`shallowCopy()`
    `Expression` | ASTBitwiseOr.`shallowCopy()`
    `Expression` | ASTBitwiseRightShift.`shallowCopy()`
    `Expression` | ASTBitwiseXor.`shallowCopy()`
    `Expression` | ASTConcat.`shallowCopy()`
    `Expression` | ASTCount.`shallowCopy()`
    `Expression` | ASTCurrentDate.`shallowCopy()`
    `Expression` | ASTCurrentTime.`shallowCopy()`
    `Expression` | ASTCurrentTimestamp.`shallowCopy()`
    `Expression` | ASTCustomFunction.`shallowCopy()`
    `Expression` | ASTCustomOperator.`shallowCopy()`
    `Expression` | ASTDbIdPath.`shallowCopy()` Creates a copy of this expression node, without copying children.
    `Expression` | ASTDbPath.`shallowCopy()` Creates a copy of this expression node, without copying children.
    `Expression` | ASTDistinct.`shallowCopy()`
    `Expression` | ASTDivide.`shallowCopy()` Creates a copy of this expression node, without copying children.
    `Expression` | ASTEnclosingObject.`shallowCopy()`
    `Expression` | ASTEnum.`shallowCopy()`
    `Expression` | ASTEqual.`shallowCopy()` Creates a copy of this expression node, without copying children.
    `Expression` | ASTExists.`shallowCopy()`
    `Expression` | ASTExtract.`shallowCopy()`
    `Expression` | ASTFalse.`shallowCopy()`
    `Expression` | ASTFullObject.`shallowCopy()`
    `Expression` | ASTGreater.`shallowCopy()` Creates a copy of this expression node, without copying children.
    `Expression` | ASTGreaterOrEqual.`shallowCopy()` Creates a copy of this expression node, without copying children.
    `Expression` | ASTIn.`shallowCopy()` Creates a copy of this expression node, without copying children.
    `Expression` | ASTLength.`shallowCopy()`
    `Expression` | ASTLess.`shallowCopy()` Creates a copy of this expression node, without copying children.
    `Expression` | ASTLessOrEqual.`shallowCopy()` Creates a copy of this expression node, without copying children.
    `Expression` | ASTLike.`shallowCopy()` Creates a copy of this expression node, without copying children.
    `Expression` | ASTLikeIgnoreCase.`shallowCopy()` Creates a copy of this expression node, without copying children.
    `Expression` | ASTList.`shallowCopy()` Creates a copy of this expression node, without copying children.
    `Expression` | ASTLocate.`shallowCopy()`
    `Expression` | ASTLower.`shallowCopy()`
    `Expression` | ASTMax.`shallowCopy()`
    `Expression` | ASTMin.`shallowCopy()`
    `Expression` | ASTMod.`shallowCopy()`
    `Expression` | ASTMultiply.`shallowCopy()` Creates a copy of this expression node, without copying children.
    `Expression` | ASTNamedParameter.`shallowCopy()` Creates a copy of this expression node, without copying children.
    `Expression` | ASTNegate.`shallowCopy()` Creates a copy of this expression node, without copying children.
    `Expression` | ASTNot.`shallowCopy()` Creates a copy of this expression node, without copying children.
    `Expression` | ASTNotBetween.`shallowCopy()` Creates a copy of this expression node, without copying children.
    `Expression` | ASTNotEqual.`shallowCopy()` Creates a copy of this expression node, without copying children.
    `Expression` | ASTNotExists.`shallowCopy()`
    `Expression` | ASTNotIn.`shallowCopy()` Creates a copy of this expression node, without copying children.
    `Expression` | ASTNotLike.`shallowCopy()` Creates a copy of this expression node, without copying children.
    `Expression` | ASTNotLikeIgnoreCase.`shallowCopy()` Creates a copy of this expression node, without copying children.
    `Expression` | ASTObjPath.`shallowCopy()` Creates a copy of this expression node, without copying children.
    `Expression` | ASTOr.`shallowCopy()` Creates a copy of this expression node, without copying children.
    `Expression` | ASTScalar.`shallowCopy()` Creates a copy of this expression node, without copying children.
    `Expression` | ASTSqrt.`shallowCopy()`
    `Expression` | ASTSubquery.`shallowCopy()`
    `Expression` | ASTSubstring.`shallowCopy()`
    `Expression` | ASTSubtract.`shallowCopy()` Creates a copy of this expression node, without copying children.
    `Expression` | ASTSum.`shallowCopy()`
    `Expression` | ASTTrim.`shallowCopy()`
    `Expression` | ASTTrue.`shallowCopy()`
    `Expression` | ASTUpper.`shallowCopy()`

    Constructors in org.apache.cayenne.exp.parser with parameters of type Expression
    Constructor and Description
    `ASTAbs(Expression expression)`
    `ASTAvg(Expression expression)`
    `ASTConcat(Expression... expressions)`
    `ASTCount(Expression expression)`
    `ASTDistinct(Expression expression)`
    `ASTEnclosingObject(Expression expression)`
    `ASTExtract(Expression expression)`
    `ASTFullObject(Expression expression)`
    `ASTLength(Expression expression)`
    `ASTLocate(Expression substring, Expression path)`
    `ASTLocate(Expression substring, Expression path, Expression offset)`
    `ASTLower(Expression expression)`
    `ASTMax(Expression expression)`
    `ASTMin(Expression expression)`
    `ASTMod(Expression expression, Expression divisor)`
    `ASTSqrt(Expression expression)`
    `ASTSubstring(Expression path, Expression length, Expression offset)`
    `ASTSum(Expression expression)`
    `ASTTrim(Expression path)`
    `ASTUpper(Expression expression)`

  - ### Uses of Expression in org.apache.cayenne.exp.property

    Fields in org.apache.cayenne.exp.property with type parameters of type Expression
    Modifier and Type | Field and Description
    --- | ---
    `protected Supplier<Expression>` | BaseProperty.`expressionSupplier` Expression provider for the property

    Methods in org.apache.cayenne.exp.property that return Expression
    Modifier and Type | Method and Description
    --- | ---
    `default Expression` | ComparableProperty.`between(ComparableProperty<?> lower, ComparableProperty<?> upper)`
    `default Expression` | ComparableProperty.`between(E lower, E upper)`
    `Expression` | CollectionProperty.`contains(Collection<V> values)`
    `Expression` | MapProperty.`contains(Collection<V> values)`
    `Expression` | StringProperty.`contains(String substring)` Creates an expression for a database "LIKE" query with the value converted to a pattern matching anywhere in the String.
    `Expression` | CollectionProperty.`contains(V value)`
    `Expression` | MapProperty.`contains(V value)`
    `Expression` | CollectionProperty.`contains(V firstValue, V... moreValues)`
    `Expression` | MapProperty.`contains(V firstValue, V... moreValues)`
    `Expression` | CollectionProperty.`containsId(Collection<Object> ids)`
    `Expression` | MapProperty.`containsId(Collection<Object> ids)`
    `Expression` | CollectionProperty.`containsId(Object id)`
    `Expression` | MapProperty.`containsId(Object id)`
    `Expression` | CollectionProperty.`containsId(Object firstId, Object... moreId)`
    `Expression` | MapProperty.`containsId(Object firstId, Object... moreId)`
    `Expression` | StringProperty.`containsIgnoreCase(String value)` Same as `StringProperty.contains(String)`, only using case-insensitive comparison.
    `Expression` | StringProperty.`endsWith(String value)` Creates an expression for a database "LIKE" query with the value converted to a pattern matching the tail of a String.
    `Expression` | StringProperty.`endsWithIgnoreCase(String value)` Same as `StringProperty.endsWith(String)`, only using case-insensitive comparison.
    `Expression` | BaseProperty.`eq(BaseProperty<?> value)`
    `Expression` | BaseProperty.`eq(E value)`
    `default Expression` | IdProperty.`eq(ObjectId value)`
    `Expression` | EntityProperty.`eqId(Object id)`
    `Expression` | BaseProperty.`getExpression()` This method returns fresh copy of the expression for each call.
    `Expression` | Property.`getExpression()`
    `default Expression` | ComparableProperty.`gt(ComparableProperty<?> value)`
    `default Expression` | ComparableProperty.`gt(E value)`
    `default Expression` | ComparableProperty.`gte(ComparableProperty<?> value)`
    `default Expression` | ComparableProperty.`gte(E value)`
    `Expression` | BaseProperty.`in(Collection<E> values)`
    `Expression` | BaseProperty.`in(ColumnSelect<? extends E> subquery)`
    `Expression` | BaseProperty.`in(E firstValue, E... moreValues)`
    `Expression` | EntityProperty.`inId(Collection<Object> ids)`
    `Expression` | EntityProperty.`inId(Object firstId, Object... moreIds)`
    `Expression` | BaseProperty.`isFalse()`
    `Expression` | BaseProperty.`isNotNull()`
    `Expression` | BaseProperty.`isNull()`
    `Expression` | BaseProperty.`isTrue()`
    `Expression` | StringProperty.`like(String pattern)`
    `Expression` | StringProperty.`like(String pattern, char escapeChar)`
    `Expression` | StringProperty.`like(StringProperty<?> pattern)`
    `Expression` | StringProperty.`likeIgnoreCase(String pattern)`
    `Expression` | StringProperty.`likeIgnoreCase(StringProperty<?> pattern)`
    `default Expression` | ComparableProperty.`lt(ComparableProperty<?> value)`
    `default Expression` | ComparableProperty.`lt(E value)`
    `default Expression` | ComparableProperty.`lte(ComparableProperty<?> value)`
    `default Expression` | ComparableProperty.`lte(E value)`
    `Expression` | BaseProperty.`ne(BaseProperty<?> value)`
    `Expression` | BaseProperty.`ne(E value)`
    `Expression` | EntityProperty.`neqId(Object id)`
    `Expression` | BaseProperty.`nin(Collection<E> values)`
    `Expression` | BaseProperty.`nin(ColumnSelect<? extends E> subquery)`
    `Expression` | BaseProperty.`nin(E firstValue, E... moreValues)`
    `Expression` | EntityProperty.`ninId(Collection<Object> ids)`
    `Expression` | EntityProperty.`ninId(Object firstId, Object... moreIds)`
    `Expression` | StringProperty.`nlike(String value)`
    `Expression` | StringProperty.`nlike(StringProperty<?> value)`
    `Expression` | StringProperty.`nlikeIgnoreCase(String value)`
    `Expression` | StringProperty.`nlikeIgnoreCase(StringProperty<?> value)`
    `Expression` | CollectionProperty.`notContains(Collection<V> values)`
    `Expression` | MapProperty.`notContains(Collection<V> values)`
    `Expression` | CollectionProperty.`notContains(V value)`
    `Expression` | MapProperty.`notContains(V value)`
    `Expression` | CollectionProperty.`notContains(V firstValue, V... moreValues)`
    `Expression` | MapProperty.`notContains(V firstValue, V... moreValues)`
    `Expression` | CollectionProperty.`notContainsId(Collection<Object> ids)`
    `Expression` | MapProperty.`notContainsId(Collection<Object> ids)`
    `Expression` | CollectionProperty.`notContainsId(Object id)`
    `Expression` | MapProperty.`notContainsId(Object id)`
    `Expression` | CollectionProperty.`notContainsId(Object firstId, Object... moreId)`
    `Expression` | MapProperty.`notContainsId(Object firstId, Object... moreId)`
    `Expression` | BaseProperty.`path()` Deprecated. since 4.2, use `BaseProperty.getExpression()` method instead
    `Expression` | StringProperty.`startsWith(String value)` Creates an expression for a database "LIKE" query with the value converted to a pattern matching the beginning of a String.
    `Expression` | StringProperty.`startsWithIgnoreCase(String value)` Same as `StringProperty.startsWith(String)`, only using case-insensitive comparison.

    Methods in org.apache.cayenne.exp.property with parameters of type Expression
    Modifier and Type | Method and Description
    --- | ---
    `static <T> BaseProperty<T>` | PropertyFactory.`createBase(Expression expression, Class<T> type)` Create base property
    `static <T> BaseProperty<T>` | PropertyFactory.`createBase(String name, Expression expression, Class<T> type)` Create base property
    `static <T> DateProperty<T>` | PropertyFactory.`createDate(Expression expression, Class<T> type)` Create date property
    `static <T> DateProperty<T>` | PropertyFactory.`createDate(String name, Expression expression, Class<T> type)` Create date property
    `static <T extends EmbeddableObject> EmbeddableProperty<T>` | PropertyFactory.`createEmbeddable(String name, Expression exp, Class<T> embeddableType)` Create property that represents embeddable
    `static <T extends Persistent> EntityProperty<T>` | PropertyFactory.`createEntity(Expression expression, Class<T> type)` Create entity property
    `static <T extends Persistent> EntityProperty<T>` | PropertyFactory.`createEntity(String name, Expression expression, Class<T> entityType)` Create entity property
    `static <T extends Persistent> ListProperty<T>` | PropertyFactory.`createList(String name, Expression expression, Class<T> entityType)` Create to-many relationship mapped on list property
    `static <K,V extends Persistent> MapProperty<K,V>` | PropertyFactory.`createMap(String name, Expression expression, Class<K> keyType, Class<V> entityType)` Create to-many relationship mapped on map property
    `static <T extends Number> NumericProperty<T>` | PropertyFactory.`createNumeric(Expression expression, Class<T> type)` Create numeric property
    `static <T extends Number> NumericProperty<T>` | PropertyFactory.`createNumeric(String name, Expression expression, Class<T> type)` Create numeric property
    `static <T extends Persistent> EntityProperty<T>` | PropertyFactory.`createSelf(Expression expression, Class<T> type)` Self property allows to create column queries that return full objects along with custom column set.
    `static <T extends Persistent> SetProperty<T>` | PropertyFactory.`createSet(String name, Expression expression, Class<T> entityType)` Create to-many relationship mapped on set property
    `static <T extends CharSequence> StringProperty<T>` | PropertyFactory.`createString(Expression expression, Class<T> type)` Create string property
    `static <T extends CharSequence> StringProperty<T>` | PropertyFactory.`createString(String name, Expression expression, Class<T> type)` Create string property

    Constructors in org.apache.cayenne.exp.property with parameters of type Expression
    Constructor and Description
    `BaseProperty(String name, Expression expression, Class<? super E> type)` Constructs a new property with the given name and expression
    `CollectionProperty(String name, Expression expression, Class<? super E> collectionType, Class<V> entityType)` Constructs a new property with the given name and expression
    `DateProperty(String name, Expression expression, Class<E> type)` Constructs a new property with the given name and expression
    `EmbeddableProperty(String name, Expression exp, Class<? super E> type)` Constructs a new property with the given name and type
    `EntityProperty(String name, Expression expression, Class<E> type)` Constructs a new property with the given name and expression
    `ListProperty(String name, Expression expression, Class<V> entityType)` Constructs a new property with the given name and expression
    `MapProperty(String name, Expression expression, Class<K> keyType, Class<V> entityType)` Constructs a new property with the given name and expression
    `NumericProperty(String name, Expression expression, Class<E> type)` Constructs a new property with the given name and expression
    `SetProperty(String name, Expression expression, Class<V> entityType)` Constructs a new property with the given name and expression
    `StringProperty(String name, Expression expression, Class<E> type)` Constructs a new property with the given name and expression

  - ### Uses of Expression in org.apache.cayenne.map

    Fields in org.apache.cayenne.map declared as Expression
    Modifier and Type | Field and Description
    --- | ---
    `protected Expression` | EntityInheritanceTree.`normalizedQualifier`
    `protected Expression` | DbEntity.`qualifier` Qualifier, that will be applied to all select queries and joins with this DbEntity
    `protected Expression` | ObjEntity.`qualifier`
    `protected Expression` | QueryDescriptorLoader.`qualifier`
    `protected Expression` | SelectQueryDescriptor.`qualifier`

    Methods in org.apache.cayenne.map that return Expression
    Modifier and Type | Method and Description
    --- | ---
    `Expression` | EntityInheritanceTree.`getDbQualifier()` Returns entity qualifier expressed as DB path qualifier or null if entity has no qualifier.
    `Expression` | ObjEntity.`getDeclaredQualifier()` Returns a qualifier that imposes a restriction on what objects belong to this entity.
    `Expression` | DbEntity.`getQualifier()`
    `Expression` | SelectQueryDescriptor.`getQualifier()` Returns qualifier of this query.
    `Expression` | EntityInheritanceTree.`qualifierForEntityAndSubclasses()` Returns a qualifier Expression that matches root entity of this tree and all its subentities.
    `Expression` | ObjEntity.`translateToDbPath(Expression expression)` Transforms an Expression to an analogous expression in terms of the underlying DbEntity.
    `Expression` | DbEntity.`translateToRelatedEntity(Expression expression, String relationshipPath)` Transforms Expression rooted in this entity to an analogous expression rooted in related entity.
    `abstract Expression` | Entity.`translateToRelatedEntity(Expression expression, String relationshipPath)` Translates Expression rooted in this entity to an analogous expression rooted in related entity.
    `Expression` | ObjEntity.`translateToRelatedEntity(Expression expression, String relationshipPath)` Transforms an Expression rooted in this entity to an analogous expression rooted in related entity.

    Methods in org.apache.cayenne.map with parameters of type Expression
    Modifier and Type | Method and Description
    --- | ---
    `PathComponent<DbAttribute,DbRelationship>` | DbEntity.`lastPathComponent(Expression path, Map aliasMap)`
    `PathComponent<ObjAttribute,ObjRelationship>` | ObjEntity.`lastPathComponent(Expression path, Map aliasMap)`
    `<T extends Attribute,U extends Relationship> PathComponent<T,U>` | Entity.`lastPathComponent(Expression path, Map aliasMap)` Convenience method returning the last component in the path iterator.
    `Iterable<PathComponent<DbAttribute,DbRelationship>>` | DbEntity.`resolvePath(Expression pathExp, Map aliasMap)` Returns an Iterable instance over expression path components based on this entity.
    `Iterable<PathComponent<ObjAttribute,ObjRelationship>>` | ObjEntity.`resolvePath(Expression pathExp, Map aliasMap)` Returns an Iterable instance over expression path components based on this entity.
    `abstract <T extends Attribute,U extends Relationship> Iterable<PathComponent<T,U>>` | Entity.`resolvePath(Expression pathExp, Map aliasMap)` Returns an Iterable over the path components with elements represented as `PathComponent` instances, encapsulating a relationship, an attribute or a subpath alias.
    `Iterator<CayenneMapEntry>` | DbEntity.`resolvePathComponents(Expression pathExp)`
    `abstract Iterator<CayenneMapEntry>` | Entity.`resolvePathComponents(Expression pathExp)` Processes expression `pathExp` and returns an Iterator of path components that contains a sequence of Attributes and Relationships.
    `Iterator<CayenneMapEntry>` | ObjEntity.`resolvePathComponents(Expression pathExp)`
    `void` | ObjEntity.`setDeclaredQualifier(Expression qualifier)` Sets a qualifier that imposes a limit on what objects belong to this entity.
    `void` | DbEntity.`setQualifier(Expression qualifier)` Sets qualifier for this entity
    `void` | SelectQueryDescriptor.`setQualifier(Expression qualifier)` Sets qualifier for this query.
    `Expression` | ObjEntity.`translateToDbPath(Expression expression)` Transforms an Expression to an analogous expression in terms of the underlying DbEntity.
    `Expression` | DbEntity.`translateToRelatedEntity(Expression expression, String relationshipPath)` Transforms Expression rooted in this entity to an analogous expression rooted in related entity.
    `abstract Expression` | Entity.`translateToRelatedEntity(Expression expression, String relationshipPath)` Translates Expression rooted in this entity to an analogous expression rooted in related entity.
    `Expression` | ObjEntity.`translateToRelatedEntity(Expression expression, String relationshipPath)` Transforms an Expression rooted in this entity to an analogous expression rooted in related entity.

  - ### Uses of Expression in org.apache.cayenne.query

    Fields in org.apache.cayenne.query declared as Expression
    Modifier and Type | Field and Description
    --- | ---
    `protected Expression` | FluentSelect.`having`
    `protected Expression` | SelectQuery.`havingQualifier` Deprecated.
    `protected Expression` | SelectQuery.`qualifier` Deprecated.
    `protected Expression` | Ordering.`sortSpec`
    `protected Expression` | FluentSelect.`where`

    Methods in org.apache.cayenne.query that return Expression
    Modifier and Type | Method and Description
    --- | ---
    `Expression` | FluentSelect.`getHaving()` Returns a HAVING clause Expression of this query.
    `Expression` | SelectQuery.`getHavingQualifier()` Deprecated. Returns query HAVING qualifier.
    `Expression` | SelectQuery.`getQualifier()` Deprecated. Returns query qualifier.
    `Expression` | SelectById.IdSpec.`getQualifier(ObjEntity entity)`
    `Expression` | SelectById.SingleScalarIdSpec.`getQualifier(ObjEntity entity)`
    `Expression` | SelectById.MultiScalarIdSpec.`getQualifier(ObjEntity entity)`
    `Expression` | SelectById.SingleMapIdSpec.`getQualifier(ObjEntity entity)`
    `Expression` | SelectById.MultiMapIdSpec.`getQualifier(ObjEntity entity)`
    `Expression` | Ordering.`getSortSpec()` Returns the expression defining a ordering Java Bean property.
    `Expression` | FluentSelect.`getWhere()` Returns a WHERE clause Expression of this query.

    Methods in org.apache.cayenne.query with parameters of type Expression
    Modifier and Type | Method and Description
    --- | ---
    `ColumnSelect<T>` | ColumnSelect.`and(Expression... expressions)` AND's provided expressions to the existing WHERE clause expression.
    `ObjectSelect<T>` | ObjectSelect.`and(Expression... expressions)` AND's provided expressions to the existing WHERE clause expression.
    `void` | SelectQuery.`andHavingQualifier(Expression e)` Deprecated. Adds specified HAVING qualifier to the existing HAVING qualifier joining it using "AND".
    `void` | SelectQuery.`andQualifier(Expression e)` Deprecated. Adds specified qualifier to the existing qualifier joining it using "AND".
    `static ObjectSelect<DataRow>` | ObjectSelect.`dataRowQuery(Class<?> entityType, Expression expression)` Creates a ObjectSelect that fetches data for an `ObjEntity` determined from a provided class and uses provided expression for its qualifier.
    `static SelectQuery<DataRow>` | SelectQuery.`dataRowQuery(Class<?> rootClass, Expression qualifier)` Deprecated. Creates a SelectQuery that selects DataRows that correspond to a given persistent class that match supplied qualifier.
    `static SelectQuery<DataRow>` | SelectQuery.`dataRowQuery(Class<?> rootClass, Expression qualifier, List<Ordering> orderings)` Deprecated.
    `static ObjectSelect<DataRow>` | ObjectSelect.`dbQuery(String dbEntityName, Expression expression)` Creates a ObjectSelect that fetches DataRows for a `DbEntity` determined from provided "dbEntityName" and uses provided expression for its qualifier.
    `ColumnSelect<T>` | ColumnSelect.`having(Expression expression)` Appends a having qualifier expression of this query.
    `ObjectSelect<T>` | ObjectSelect.`having(Expression expression)` Appends a having qualifier expression of this query.
    `ColumnSelect<T>` | ColumnSelect.`or(Expression... expressions)` OR's provided expressions to the existing WHERE clause expression.
    `ObjectSelect<T>` | ObjectSelect.`or(Expression... expressions)` OR's provided expressions to the existing WHERE clause expression.
    `void` | SelectQuery.`orHavingQualifier(Expression e)` Deprecated. Adds specified HAVING qualifier to the existing HAVING qualifier joining it using "OR".
    `void` | SelectQuery.`orQualifier(Expression e)` Deprecated. Adds specified qualifier to the existing qualifier joining it using "OR".
    `static <T> ObjectSelect<T>` | ObjectSelect.`query(Class<T> entityType, Expression expression)` Creates a ObjectSelect that selects objects of a given persistent class and uses provided expression for its qualifier.
    `static <T> SelectQuery<T>` | SelectQuery.`query(Class<T> rootClass, Expression qualifier)` Deprecated. Creates a SelectQuery that selects objects of a given persistent class that match supplied qualifier.
    `static <T> SelectQuery<T>` | SelectQuery.`query(Class<T> rootClass, Expression qualifier, List<? extends Ordering> orderings)` Deprecated. Creates a SelectQuery that selects objects of a given persistent class that match supplied qualifier.
    `static <T> ObjectSelect<T>` | ObjectSelect.`query(Class<T> entityType, Expression expression, List<Ordering> orderings)` Creates a ObjectSelect that selects objects of a given persistent class and uses provided expression for its qualifier.
    `void` | SelectQuery.`setHavingQualifier(Expression qualifier)` Deprecated. Sets new query HAVING qualifier.
    `void` | SelectQuery.`setQualifier(Expression qualifier)` Deprecated. Sets new query qualifier.
    `void` | Ordering.`setSortSpec(Expression sortSpec)` Sets the expression defining a ordering Java Bean property.
    `ColumnSelect<T>` | ColumnSelect.`where(Expression expression)` Appends a qualifier expression of this query.
    `ObjectSelect<T>` | ObjectSelect.`where(Expression expression)` Appends a qualifier expression of this query.

    Method parameters in org.apache.cayenne.query with type arguments of type Expression
    Modifier and Type | Method and Description
    --- | ---
    `ColumnSelect<T>` | ColumnSelect.`and(Collection<Expression> expressions)` AND's provided expressions to the existing WHERE or HAVING clause expression.
    `ObjectSelect<T>` | ObjectSelect.`and(Collection<Expression> expressions)` AND's provided expressions to the existing WHERE clause expression.
    `ColumnSelect<T>` | ColumnSelect.`or(Collection<Expression> expressions)` OR's provided expressions to the existing WHERE or HAVING clause expression.
    `ObjectSelect<T>` | ObjectSelect.`or(Collection<Expression> expressions)` OR's provided expressions to the existing WHERE clause expression.

    Constructors in org.apache.cayenne.query with parameters of type Expression
    Constructor and Description
    `Ordering(Expression sortSpec)`
    `Ordering(Expression sortSpec, SortOrder sortOrder)`
    `SelectQuery(Class<T> rootClass, Expression qualifier)` Deprecated. Creates a SelectQuery that selects objects of a given persistent class that match supplied qualifier.
    `SelectQuery(Class<T> rootClass, Expression qualifier, List<? extends Ordering> orderings)` Deprecated. Creates a SelectQuery that selects objects of a given persistent class that match supplied qualifier.
    `SelectQuery(DbEntity root, Expression qualifier)` Deprecated. Creates a SelectQuery for the specified DbEntity with the given qualifier.
    `SelectQuery(DbEntity root, Expression qualifier, List<? extends Ordering> orderings)` Deprecated. Creates a SelectQuery for the specified DbEntity with the given qualifier and orderings.
    `SelectQuery(ObjEntity root, Expression qualifier)` Deprecated. Creates a SelectQuery for the specified ObjEntity with the given qualifier.
    `SelectQuery(ObjEntity root, Expression qualifier, List<? extends Ordering> orderings)` Deprecated. Creates a SelectQuery for the specified ObjEntity with the given qualifier and orderings.
    `SelectQuery(String objEntityName, Expression qualifier)` Deprecated. Creates SelectQuery with `objEntityName` and `qualifier` parameters.
    `SelectQuery(String objEntityName, Expression qualifier, List<? extends Ordering> orderings)` Deprecated. Creates a SelectQuery that selects objects of a given persistent class that match supplied qualifier.

  - ### Uses of Expression in org.apache.cayenne.reflect

    Fields in org.apache.cayenne.reflect declared as Expression
    Modifier and Type | Field and Description
    --- | ---
    `protected Expression` | PersistentDescriptor.`entityQualifier`

    Methods in org.apache.cayenne.reflect that return Expression
    Modifier and Type | Method and Description
    --- | ---
    `Expression` | ClassDescriptor.`getEntityQualifier()` Returns entity qualifier as a Cayenne expression that includes qualifiers for this entity and all subentities.
    `Expression` | LazyClassDescriptorDecorator.`getEntityQualifier()`
    `Expression` | PersistentDescriptor.`getEntityQualifier()`

    Methods in org.apache.cayenne.reflect with parameters of type Expression
    Modifier and Type | Method and Description
    --- | ---
    `void` | PersistentDescriptor.`setEntityQualifier(Expression entityQualifier)`

Copyright © 2001–2021 Apache Cayenne. All rights reserved.