CriteriaBuilder
Date: 2016-06-24

javax.persistence.criteria

## Interface CriteriaBuilder

-     public interface CriteriaBuilder

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `CriteriaBuilder.Case<R>`
    `static interface` | `CriteriaBuilder.Coalesce<T>`
    `static interface` | `CriteriaBuilder.In<T>`
    `static interface` | `CriteriaBuilder.SimpleCase<C,R>`
    `static class` | `CriteriaBuilder.Trimspec`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `<N extends java.lang.Number> Expression<N>` | `abs(Expression<N> x)`
    `<Y> Expression<Y>` | `all(Subquery<Y> subquery)`
    `Predicate` | `and(Expression<java.lang.Boolean> x, Expression<java.lang.Boolean> y)`
    `Predicate` | `and(Predicate... restrictions)`
    `<Y> Expression<Y>` | `any(Subquery<Y> subquery)`
    `CompoundSelection<java.lang.Object[]>` | `array(Selection<?>... selections)`
    `Order` | `asc(Expression<?> x)`
    `<N extends java.lang.Number> Expression<java.lang.Double>` | `avg(Expression<N> x)`
    `<Y extends java.lang.Comparable<? super Y>> Predicate` | `between(Expression<? extends Y> v, Expression<? extends Y> x, Expression<? extends Y> y)`
    `<Y extends java.lang.Comparable<? super Y>> Predicate` | `between(Expression<? extends Y> v, Y x, Y y)`
    `<T> CriteriaBuilder.Coalesce<T>` | `coalesce()`
    `<Y> Expression<Y>` | `coalesce(Expression<? extends Y> x, Expression<? extends Y> y)`
    `<Y> Expression<Y>` | `coalesce(Expression<? extends Y> x, Y y)`
    `Expression<java.lang.String>` | `concat(Expression<java.lang.String> x, Expression<java.lang.String> y)`
    `Expression<java.lang.String>` | `concat(Expression<java.lang.String> x, java.lang.String y)`
    `Expression<java.lang.String>` | `concat(java.lang.String x, Expression<java.lang.String> y)`
    `Predicate` | `conjunction()`
    `<Y> CompoundSelection<Y>` | `construct(java.lang.Class<Y> resultClass, Selection<?>... selections)`
    `Expression<java.lang.Long>` | `count(Expression<?> x)`
    `Expression<java.lang.Long>` | `countDistinct(Expression<?> x)`
    `CriteriaQuery<java.lang.Object>` | `createQuery()`
    `<T> CriteriaQuery<T>` | `createQuery(java.lang.Class<T> resultClass)`
    `CriteriaQuery<Tuple>` | `createTupleQuery()`
    `Expression<java.sql.Date>` | `currentDate()`
    `Expression<java.sql.Time>` | `currentTime()`
    `Expression<java.sql.Timestamp>` | `currentTimestamp()`
    `Order` | `desc(Expression<?> x)`
    `<N extends java.lang.Number> Expression<N>` | `diff(Expression<? extends N> x, Expression<? extends N> y)`
    `<N extends java.lang.Number> Expression<N>` | `diff(Expression<? extends N> x, N y)`
    `<N extends java.lang.Number> Expression<N>` | `diff(N x, Expression<? extends N> y)`
    `Predicate` | `disjunction()`
    `Predicate` | `equal(Expression<?> x, Expression<?> y)`
    `Predicate` | `equal(Expression<?> x, java.lang.Object y)`
    `Predicate` | `exists(Subquery<?> subquery)`
    `<T> Expression<T>` | `function(java.lang.String name, java.lang.Class<T> type, Expression<?>... args)`
    `Predicate` | `ge(Expression<? extends java.lang.Number> x, Expression<? extends java.lang.Number> y)`
    `Predicate` | `ge(Expression<? extends java.lang.Number> x, java.lang.Number y)`
    `<Y extends java.lang.Comparable<? super Y>> Predicate` | `greaterThan(Expression<? extends Y> x, Expression<? extends Y> y)`
    `<Y extends java.lang.Comparable<? super Y>> Predicate` | `greaterThan(Expression<? extends Y> x, Y y)`
    `<Y extends java.lang.Comparable<? super Y>> Predicate` | `greaterThanOrEqualTo(Expression<? extends Y> x, Expression<? extends Y> y)`
    `<Y extends java.lang.Comparable<? super Y>> Predicate` | `greaterThanOrEqualTo(Expression<? extends Y> x, Y y)`
    `<X extends java.lang.Comparable<? super X>> Expression<X>` | `greatest(Expression<X> x)`
    `Predicate` | `gt(Expression<? extends java.lang.Number> x, Expression<? extends java.lang.Number> y)`
    `Predicate` | `gt(Expression<? extends java.lang.Number> x, java.lang.Number y)`
    `<T> CriteriaBuilder.In<T>` | `in(Expression<? extends T> expression)`
    `<C extends java.util.Collection<?>> Predicate` | `isEmpty(Expression<C> collection)`
    `Predicate` | `isFalse(Expression<java.lang.Boolean> x)`
    `<E,C extends java.util.Collection<E>> Predicate` | `isMember(E elem, Expression<C> collection)`
    `<E,C extends java.util.Collection<E>> Predicate` | `isMember(Expression<E> elem, Expression<C> collection)`
    `<C extends java.util.Collection<?>> Predicate` | `isNotEmpty(Expression<C> collection)`
    `<E,C extends java.util.Collection<E>> Predicate` | `isNotMember(E elem, Expression<C> collection)`
    `<E,C extends java.util.Collection<E>> Predicate` | `isNotMember(Expression<E> elem, Expression<C> collection)`
    `Predicate` | `isNotNull(Expression<?> x)`
    `Predicate` | `isNull(Expression<?> x)`
    `Predicate` | `isTrue(Expression<java.lang.Boolean> x)`
    `<K,M extends java.util.Map<K,?>> Expression<java.util.Set<K>>` | `keys(M map)`
    `Predicate` | `le(Expression<? extends java.lang.Number> x, Expression<? extends java.lang.Number> y)`
    `Predicate` | `le(Expression<? extends java.lang.Number> x, java.lang.Number y)`
    `<X extends java.lang.Comparable<? super X>> Expression<X>` | `least(Expression<X> x)`
    `Expression<java.lang.Integer>` | `length(Expression<java.lang.String> x)`
    `<Y extends java.lang.Comparable<? super Y>> Predicate` | `lessThan(Expression<? extends Y> x, Expression<? extends Y> y)`
    `<Y extends java.lang.Comparable<? super Y>> Predicate` | `lessThan(Expression<? extends Y> x, Y y)`
    `<Y extends java.lang.Comparable<? super Y>> Predicate` | `lessThanOrEqualTo(Expression<? extends Y> x, Expression<? extends Y> y)`
    `<Y extends java.lang.Comparable<? super Y>> Predicate` | `lessThanOrEqualTo(Expression<? extends Y> x, Y y)`
    `Predicate` | `like(Expression<java.lang.String> x, Expression<java.lang.String> pattern)`
    `Predicate` | `like(Expression<java.lang.String> x, Expression<java.lang.String> pattern, char escapeChar)`
    `Predicate` | `like(Expression<java.lang.String> x, Expression<java.lang.String> pattern, Expression<java.lang.Character> escapeChar)`
    `Predicate` | `like(Expression<java.lang.String> x, java.lang.String pattern)`
    `Predicate` | `like(Expression<java.lang.String> x, java.lang.String pattern, char escapeChar)`
    `Predicate` | `like(Expression<java.lang.String> x, java.lang.String pattern, Expression<java.lang.Character> escapeChar)`
    `<T> Expression<T>` | `literal(T value)`
    `Expression<java.lang.Integer>` | `locate(Expression<java.lang.String> x, Expression<java.lang.String> pattern)`
    `Expression<java.lang.Integer>` | `locate(Expression<java.lang.String> x, Expression<java.lang.String> pattern, Expression<java.lang.Integer> from)`
    `Expression<java.lang.Integer>` | `locate(Expression<java.lang.String> x, java.lang.String pattern)`
    `Expression<java.lang.Integer>` | `locate(Expression<java.lang.String> x, java.lang.String pattern, int from)`
    `Expression<java.lang.String>` | `lower(Expression<java.lang.String> x)`
    `Predicate` | `lt(Expression<? extends java.lang.Number> x, Expression<? extends java.lang.Number> y)`
    `Predicate` | `lt(Expression<? extends java.lang.Number> x, java.lang.Number y)`
    `<N extends java.lang.Number> Expression<N>` | `max(Expression<N> x)`
    `<N extends java.lang.Number> Expression<N>` | `min(Expression<N> x)`
    `Expression<java.lang.Integer>` | `mod(Expression<java.lang.Integer> x, Expression<java.lang.Integer> y)`
    `Expression<java.lang.Integer>` | `mod(Expression<java.lang.Integer> x, java.lang.Integer y)`
    `Expression<java.lang.Integer>` | `mod(java.lang.Integer x, Expression<java.lang.Integer> y)`
    `<N extends java.lang.Number> Expression<N>` | `neg(Expression<N> x)`
    `Predicate` | `not(Expression<java.lang.Boolean> restriction)`
    `Predicate` | `notEqual(Expression<?> x, Expression<?> y)`
    `Predicate` | `notEqual(Expression<?> x, java.lang.Object y)`
    `Predicate` | `notLike(Expression<java.lang.String> x, Expression<java.lang.String> pattern)`
    `Predicate` | `notLike(Expression<java.lang.String> x, Expression<java.lang.String> pattern, char escapeChar)`
    `Predicate` | `notLike(Expression<java.lang.String> x, Expression<java.lang.String> pattern, Expression<java.lang.Character> escapeChar)`
    `Predicate` | `notLike(Expression<java.lang.String> x, java.lang.String pattern)`
    `Predicate` | `notLike(Expression<java.lang.String> x, java.lang.String pattern, char escapeChar)`
    `Predicate` | `notLike(Expression<java.lang.String> x, java.lang.String pattern, Expression<java.lang.Character> escapeChar)`
    `<Y> Expression<Y>` | `nullif(Expression<Y> x, Expression<?> y)`
    `<Y> Expression<Y>` | `nullif(Expression<Y> x, Y y)`
    `<T> Expression<T>` | `nullLiteral(java.lang.Class<T> resultClass)`
    `Predicate` | `or(Expression<java.lang.Boolean> x, Expression<java.lang.Boolean> y)`
    `Predicate` | `or(Predicate... restrictions)`
    `<T> ParameterExpression<T>` | `parameter(java.lang.Class<T> paramClass)`
    `<T> ParameterExpression<T>` | `parameter(java.lang.Class<T> paramClass, java.lang.String name)`
    `<N extends java.lang.Number> Expression<N>` | `prod(Expression<? extends N> x, Expression<? extends N> y)`
    `<N extends java.lang.Number> Expression<N>` | `prod(Expression<? extends N> x, N y)`
    `<N extends java.lang.Number> Expression<N>` | `prod(N x, Expression<? extends N> y)`
    `Expression<java.lang.Number>` | `quot(Expression<? extends java.lang.Number> x, Expression<? extends java.lang.Number> y)`
    `Expression<java.lang.Number>` | `quot(Expression<? extends java.lang.Number> x, java.lang.Number y)`
    `Expression<java.lang.Number>` | `quot(java.lang.Number x, Expression<? extends java.lang.Number> y)`
    `<R> CriteriaBuilder.Case<R>` | `selectCase()`
    `<C,R> CriteriaBuilder.SimpleCase<C,R>` | `selectCase(Expression<? extends C> expression)`
    `<C extends java.util.Collection<?>> Expression<java.lang.Integer>` | `size(C collection)`
    `<C extends java.util.Collection<?>> Expression<java.lang.Integer>` | `size(Expression<C> collection)`
    `<Y> Expression<Y>` | `some(Subquery<Y> subquery)`
    `Expression<java.lang.Double>` | `sqrt(Expression<? extends java.lang.Number> x)`
    `Expression<java.lang.String>` | `substring(Expression<java.lang.String> x, Expression<java.lang.Integer> from)`
    `Expression<java.lang.String>` | `substring(Expression<java.lang.String> x, Expression<java.lang.Integer> from, Expression<java.lang.Integer> len)`
    `Expression<java.lang.String>` | `substring(Expression<java.lang.String> x, int from)`
    `Expression<java.lang.String>` | `substring(Expression<java.lang.String> x, int from, int len)`
    `<N extends java.lang.Number> Expression<N>` | `sum(Expression<? extends N> x, Expression<? extends N> y)`
    `<N extends java.lang.Number> Expression<N>` | `sum(Expression<? extends N> x, N y)`
    `<N extends java.lang.Number> Expression<N>` | `sum(Expression<N> x)`
    `<N extends java.lang.Number> Expression<N>` | `sum(N x, Expression<? extends N> y)`
    `Expression<java.lang.Double>` | `sumAsDouble(Expression<java.lang.Float> x)`
    `Expression<java.lang.Long>` | `sumAsLong(Expression<java.lang.Integer> x)`
    `Expression<java.math.BigDecimal>` | `toBigDecimal(Expression<? extends java.lang.Number> number)`
    `Expression<java.math.BigInteger>` | `toBigInteger(Expression<? extends java.lang.Number> number)`
    `Expression<java.lang.Double>` | `toDouble(Expression<? extends java.lang.Number> number)`
    `Expression<java.lang.Float>` | `toFloat(Expression<? extends java.lang.Number> number)`
    `Expression<java.lang.Integer>` | `toInteger(Expression<? extends java.lang.Number> number)`
    `Expression<java.lang.Long>` | `toLong(Expression<? extends java.lang.Number> number)`
    `Expression<java.lang.String>` | `toString(Expression<java.lang.Character> character)`
    `Expression<java.lang.String>` | `trim(char t, Expression<java.lang.String> x)`
    `Expression<java.lang.String>` | `trim(CriteriaBuilder.Trimspec ts, char t, Expression<java.lang.String> x)`
    `Expression<java.lang.String>` | `trim(CriteriaBuilder.Trimspec ts, Expression<java.lang.Character> t, Expression<java.lang.String> x)`
    `Expression<java.lang.String>` | `trim(CriteriaBuilder.Trimspec ts, Expression<java.lang.String> x)`
    `Expression<java.lang.String>` | `trim(Expression<java.lang.Character> t, Expression<java.lang.String> x)`
    `Expression<java.lang.String>` | `trim(Expression<java.lang.String> x)`
    `CompoundSelection<Tuple>` | `tuple(Selection<?>... selections)`
    `Expression<java.lang.String>` | `upper(Expression<java.lang.String> x)`
    `<V,M extends java.util.Map<?,V>> Expression<java.util.Collection<V>>` | `values(M map)`

- - ### Method Detail

    - #### createQuery

          CriteriaQuery<java.lang.Object> createQuery()

    - #### createQuery

          <T> CriteriaQuery<T> createQuery(java.lang.Class<T> resultClass)

    - #### createTupleQuery

          CriteriaQuery<Tuple> createTupleQuery()

    - #### construct

          <Y> CompoundSelection<Y> construct(java.lang.Class<Y> resultClass,
                                           Selection<?>... selections)

    - #### tuple

          CompoundSelection<Tuple> tuple(Selection<?>... selections)

    - #### array

          CompoundSelection<java.lang.Object[]> array(Selection<?>... selections)

    - #### asc

          Order asc(Expression<?> x)

    - #### desc

          Order desc(Expression<?> x)

    - #### avg

          <N extends java.lang.Number> Expression<java.lang.Double> avg(Expression<N> x)

    - #### sum

          <N extends java.lang.Number> Expression<N> sum(Expression<N> x)

    - #### sumAsLong

          Expression<java.lang.Long> sumAsLong(Expression<java.lang.Integer> x)

    - #### sumAsDouble

          Expression<java.lang.Double> sumAsDouble(Expression<java.lang.Float> x)

    - #### max

          <N extends java.lang.Number> Expression<N> max(Expression<N> x)

    - #### min

          <N extends java.lang.Number> Expression<N> min(Expression<N> x)

    - #### greatest

          <X extends java.lang.Comparable<? super X>> Expression<X> greatest(Expression<X> x)

    - #### least

          <X extends java.lang.Comparable<? super X>> Expression<X> least(Expression<X> x)

    - #### count

          Expression<java.lang.Long> count(Expression<?> x)

    - #### countDistinct

          Expression<java.lang.Long> countDistinct(Expression<?> x)

    - #### exists

          Predicate exists(Subquery<?> subquery)

    - #### all

          <Y> Expression<Y> all(Subquery<Y> subquery)

    - #### some

          <Y> Expression<Y> some(Subquery<Y> subquery)

    - #### any

          <Y> Expression<Y> any(Subquery<Y> subquery)

    - #### and

          Predicate and(Expression<java.lang.Boolean> x,
                      Expression<java.lang.Boolean> y)

    - #### and

          Predicate and(Predicate... restrictions)

    - #### or

          Predicate or(Expression<java.lang.Boolean> x,
                     Expression<java.lang.Boolean> y)

    - #### or

          Predicate or(Predicate... restrictions)

    - #### not

          Predicate not(Expression<java.lang.Boolean> restriction)

    - #### conjunction

          Predicate conjunction()

    - #### disjunction

          Predicate disjunction()

    - #### isTrue

          Predicate isTrue(Expression<java.lang.Boolean> x)

    - #### isFalse

          Predicate isFalse(Expression<java.lang.Boolean> x)

    - #### isNull

          Predicate isNull(Expression<?> x)

    - #### isNotNull

          Predicate isNotNull(Expression<?> x)

    - #### equal

          Predicate equal(Expression<?> x,
                        Expression<?> y)

    - #### equal

          Predicate equal(Expression<?> x,
                        java.lang.Object y)

    - #### notEqual

          Predicate notEqual(Expression<?> x,
                           Expression<?> y)

    - #### notEqual

          Predicate notEqual(Expression<?> x,
                           java.lang.Object y)

    - #### greaterThan

          <Y extends java.lang.Comparable<? super Y>> Predicate greaterThan(Expression<? extends Y> x,
                                                                          Expression<? extends Y> y)

    - #### greaterThan

          <Y extends java.lang.Comparable<? super Y>> Predicate greaterThan(Expression<? extends Y> x,
                                                                          Y y)

    - #### greaterThanOrEqualTo

          <Y extends java.lang.Comparable<? super Y>> Predicate greaterThanOrEqualTo(Expression<? extends Y> x,
                                                                                   Expression<? extends Y> y)

    - #### greaterThanOrEqualTo

          <Y extends java.lang.Comparable<? super Y>> Predicate greaterThanOrEqualTo(Expression<? extends Y> x,
                                                                                   Y y)

    - #### lessThan

          <Y extends java.lang.Comparable<? super Y>> Predicate lessThan(Expression<? extends Y> x,
                                                                       Expression<? extends Y> y)

    - #### lessThan

          <Y extends java.lang.Comparable<? super Y>> Predicate lessThan(Expression<? extends Y> x,
                                                                       Y y)

    - #### lessThanOrEqualTo

          <Y extends java.lang.Comparable<? super Y>> Predicate lessThanOrEqualTo(Expression<? extends Y> x,
                                                                                Expression<? extends Y> y)

    - #### lessThanOrEqualTo

          <Y extends java.lang.Comparable<? super Y>> Predicate lessThanOrEqualTo(Expression<? extends Y> x,
                                                                                Y y)

    - #### between

          <Y extends java.lang.Comparable<? super Y>> Predicate between(Expression<? extends Y> v,
                                                                      Expression<? extends Y> x,
                                                                      Expression<? extends Y> y)

    - #### between

          <Y extends java.lang.Comparable<? super Y>> Predicate between(Expression<? extends Y> v,
                                                                      Y x,
                                                                      Y y)

    - #### gt

          Predicate gt(Expression<? extends java.lang.Number> x,
                     Expression<? extends java.lang.Number> y)

    - #### gt

          Predicate gt(Expression<? extends java.lang.Number> x,
                     java.lang.Number y)

    - #### ge

          Predicate ge(Expression<? extends java.lang.Number> x,
                     Expression<? extends java.lang.Number> y)

    - #### ge

          Predicate ge(Expression<? extends java.lang.Number> x,
                     java.lang.Number y)

    - #### lt

          Predicate lt(Expression<? extends java.lang.Number> x,
                     Expression<? extends java.lang.Number> y)

    - #### lt

          Predicate lt(Expression<? extends java.lang.Number> x,
                     java.lang.Number y)

    - #### le

          Predicate le(Expression<? extends java.lang.Number> x,
                     Expression<? extends java.lang.Number> y)

    - #### le

          Predicate le(Expression<? extends java.lang.Number> x,
                     java.lang.Number y)

    - #### neg

          <N extends java.lang.Number> Expression<N> neg(Expression<N> x)

    - #### abs

          <N extends java.lang.Number> Expression<N> abs(Expression<N> x)

    - #### sum

          <N extends java.lang.Number> Expression<N> sum(Expression<? extends N> x,
                                                       Expression<? extends N> y)

    - #### sum

          <N extends java.lang.Number> Expression<N> sum(Expression<? extends N> x,
                                                       N y)

    - #### sum

          <N extends java.lang.Number> Expression<N> sum(N x,
                                                       Expression<? extends N> y)

    - #### prod

          <N extends java.lang.Number> Expression<N> prod(Expression<? extends N> x,
                                                        Expression<? extends N> y)

    - #### prod

          <N extends java.lang.Number> Expression<N> prod(Expression<? extends N> x,
                                                        N y)

    - #### prod

          <N extends java.lang.Number> Expression<N> prod(N x,
                                                        Expression<? extends N> y)

    - #### diff

          <N extends java.lang.Number> Expression<N> diff(Expression<? extends N> x,
                                                        Expression<? extends N> y)

    - #### diff

          <N extends java.lang.Number> Expression<N> diff(Expression<? extends N> x,
                                                        N y)

    - #### diff

          <N extends java.lang.Number> Expression<N> diff(N x,
                                                        Expression<? extends N> y)

    - #### quot

          Expression<java.lang.Number> quot(Expression<? extends java.lang.Number> x,
                                          Expression<? extends java.lang.Number> y)

    - #### quot

          Expression<java.lang.Number> quot(Expression<? extends java.lang.Number> x,
                                          java.lang.Number y)

    - #### quot

          Expression<java.lang.Number> quot(java.lang.Number x,
                                          Expression<? extends java.lang.Number> y)

    - #### mod

          Expression<java.lang.Integer> mod(Expression<java.lang.Integer> x,
                                          Expression<java.lang.Integer> y)

    - #### mod

          Expression<java.lang.Integer> mod(Expression<java.lang.Integer> x,
                                          java.lang.Integer y)

    - #### mod

          Expression<java.lang.Integer> mod(java.lang.Integer x,
                                          Expression<java.lang.Integer> y)

    - #### sqrt

          Expression<java.lang.Double> sqrt(Expression<? extends java.lang.Number> x)

    - #### toLong

          Expression<java.lang.Long> toLong(Expression<? extends java.lang.Number> number)

    - #### toInteger

          Expression<java.lang.Integer> toInteger(Expression<? extends java.lang.Number> number)

    - #### toFloat

          Expression<java.lang.Float> toFloat(Expression<? extends java.lang.Number> number)

    - #### toDouble

          Expression<java.lang.Double> toDouble(Expression<? extends java.lang.Number> number)

    - #### toBigDecimal

          Expression<java.math.BigDecimal> toBigDecimal(Expression<? extends java.lang.Number> number)

    - #### toBigInteger

          Expression<java.math.BigInteger> toBigInteger(Expression<? extends java.lang.Number> number)

    - #### toString

          Expression<java.lang.String> toString(Expression<java.lang.Character> character)

    - #### literal

          <T> Expression<T> literal(T value)

    - #### nullLiteral

          <T> Expression<T> nullLiteral(java.lang.Class<T> resultClass)

    - #### parameter

          <T> ParameterExpression<T> parameter(java.lang.Class<T> paramClass)

    - #### parameter

          <T> ParameterExpression<T> parameter(java.lang.Class<T> paramClass,
                                             java.lang.String name)

    - #### isEmpty

          <C extends java.util.Collection<?>> Predicate isEmpty(Expression<C> collection)

    - #### isNotEmpty

          <C extends java.util.Collection<?>> Predicate isNotEmpty(Expression<C> collection)

    - #### size

          <C extends java.util.Collection<?>> Expression<java.lang.Integer> size(Expression<C> collection)

    - #### size

          <C extends java.util.Collection<?>> Expression<java.lang.Integer> size(C collection)

    - #### isMember

          <E,C extends java.util.Collection<E>> Predicate isMember(Expression<E> elem,
                                                                 Expression<C> collection)

    - #### isMember

          <E,C extends java.util.Collection<E>> Predicate isMember(E elem,
                                                                 Expression<C> collection)

    - #### isNotMember

          <E,C extends java.util.Collection<E>> Predicate isNotMember(Expression<E> elem,
                                                                    Expression<C> collection)

    - #### isNotMember

          <E,C extends java.util.Collection<E>> Predicate isNotMember(E elem,
                                                                    Expression<C> collection)

    - #### values

          <V,M extends java.util.Map<?,V>> Expression<java.util.Collection<V>> values(M map)

    - #### keys

          <K,M extends java.util.Map<K,?>> Expression<java.util.Set<K>> keys(M map)

    - #### like

          Predicate like(Expression<java.lang.String> x,
                       Expression<java.lang.String> pattern)

    - #### like

          Predicate like(Expression<java.lang.String> x,
                       java.lang.String pattern)

    - #### like

          Predicate like(Expression<java.lang.String> x,
                       Expression<java.lang.String> pattern,
                       Expression<java.lang.Character> escapeChar)

    - #### like

          Predicate like(Expression<java.lang.String> x,
                       Expression<java.lang.String> pattern,
                       char escapeChar)

    - #### like

          Predicate like(Expression<java.lang.String> x,
                       java.lang.String pattern,
                       Expression<java.lang.Character> escapeChar)

    - #### like

          Predicate like(Expression<java.lang.String> x,
                       java.lang.String pattern,
                       char escapeChar)

    - #### notLike

          Predicate notLike(Expression<java.lang.String> x,
                          Expression<java.lang.String> pattern)

    - #### notLike

          Predicate notLike(Expression<java.lang.String> x,
                          java.lang.String pattern)

    - #### notLike

          Predicate notLike(Expression<java.lang.String> x,
                          Expression<java.lang.String> pattern,
                          Expression<java.lang.Character> escapeChar)

    - #### notLike

          Predicate notLike(Expression<java.lang.String> x,
                          Expression<java.lang.String> pattern,
                          char escapeChar)

    - #### notLike

          Predicate notLike(Expression<java.lang.String> x,
                          java.lang.String pattern,
                          Expression<java.lang.Character> escapeChar)

    - #### notLike

          Predicate notLike(Expression<java.lang.String> x,
                          java.lang.String pattern,
                          char escapeChar)

    - #### concat

          Expression<java.lang.String> concat(Expression<java.lang.String> x,
                                            Expression<java.lang.String> y)

    - #### concat

          Expression<java.lang.String> concat(Expression<java.lang.String> x,
                                            java.lang.String y)

    - #### concat

          Expression<java.lang.String> concat(java.lang.String x,
                                            Expression<java.lang.String> y)

    - #### substring

          Expression<java.lang.String> substring(Expression<java.lang.String> x,
                                               Expression<java.lang.Integer> from)

    - #### substring

          Expression<java.lang.String> substring(Expression<java.lang.String> x,
                                               int from)

    - #### substring

          Expression<java.lang.String> substring(Expression<java.lang.String> x,
                                               Expression<java.lang.Integer> from,
                                               Expression<java.lang.Integer> len)

    - #### substring

          Expression<java.lang.String> substring(Expression<java.lang.String> x,
                                               int from,
                                               int len)

    - #### trim

          Expression<java.lang.String> trim(Expression<java.lang.String> x)

    - #### trim

          Expression<java.lang.String> trim(CriteriaBuilder.Trimspec ts,
                                          Expression<java.lang.String> x)

    - #### trim

          Expression<java.lang.String> trim(Expression<java.lang.Character> t,
                                          Expression<java.lang.String> x)

    - #### trim

          Expression<java.lang.String> trim(CriteriaBuilder.Trimspec ts,
                                          Expression<java.lang.Character> t,
                                          Expression<java.lang.String> x)

    - #### trim

          Expression<java.lang.String> trim(char t,
                                          Expression<java.lang.String> x)

    - #### trim

          Expression<java.lang.String> trim(CriteriaBuilder.Trimspec ts,
                                          char t,
                                          Expression<java.lang.String> x)

    - #### lower

          Expression<java.lang.String> lower(Expression<java.lang.String> x)

    - #### upper

          Expression<java.lang.String> upper(Expression<java.lang.String> x)

    - #### length

          Expression<java.lang.Integer> length(Expression<java.lang.String> x)

    - #### locate

          Expression<java.lang.Integer> locate(Expression<java.lang.String> x,
                                             Expression<java.lang.String> pattern)

    - #### locate

          Expression<java.lang.Integer> locate(Expression<java.lang.String> x,
                                             java.lang.String pattern)

    - #### locate

          Expression<java.lang.Integer> locate(Expression<java.lang.String> x,
                                             Expression<java.lang.String> pattern,
                                             Expression<java.lang.Integer> from)

    - #### locate

          Expression<java.lang.Integer> locate(Expression<java.lang.String> x,
                                             java.lang.String pattern,
                                             int from)

    - #### currentDate

          Expression<java.sql.Date> currentDate()

    - #### currentTimestamp

          Expression<java.sql.Timestamp> currentTimestamp()

    - #### currentTime

          Expression<java.sql.Time> currentTime()

    - #### in

          <T> CriteriaBuilder.In<T> in(Expression<? extends T> expression)

    - #### coalesce

          <Y> Expression<Y> coalesce(Expression<? extends Y> x,
                                   Expression<? extends Y> y)

    - #### coalesce

          <Y> Expression<Y> coalesce(Expression<? extends Y> x,
                                   Y y)

    - #### nullif

          <Y> Expression<Y> nullif(Expression<Y> x,
                                 Expression<?> y)

    - #### nullif

          <Y> Expression<Y> nullif(Expression<Y> x,
                                 Y y)

    - #### coalesce

          <T> CriteriaBuilder.Coalesce<T> coalesce()

    - #### selectCase

          <C,R> CriteriaBuilder.SimpleCase<C,R> selectCase(Expression<? extends C> expression)

    - #### selectCase

          <R> CriteriaBuilder.Case<R> selectCase()

    - #### function

          <T> Expression<T> function(java.lang.String name,
                                   java.lang.Class<T> type,
                                   Expression<?>... args)