Class DefaultExpressionFactory

java.lang.Object
io.ebeaninternal.server.expression.DefaultExpressionFactory
All Implemented Interfaces:
io.ebean.ExpressionFactory, SpiExpressionFactory

public class DefaultExpressionFactory extends Object implements SpiExpressionFactory
Default Expression factory for creating standard expressions.
  • Constructor Summary

    Constructors
    Constructor
    Description
    DefaultExpressionFactory(boolean equalsWithNullAsNoop, boolean nativeIlike)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    io.ebean.Expression
    allEq(Map<String,Object> propertyMap)
    All Equal - Map containing property names and their values.
    io.ebean.Expression
    and(io.ebean.Expression expOne, io.ebean.Expression expTwo)
    And - join two expressions with a logical and.
    io.ebean.Expression
    arrayContains(String propertyName, Object... values)
     
    io.ebean.Expression
    arrayIsEmpty(String propertyName)
     
    io.ebean.Expression
    arrayIsNotEmpty(String propertyName)
     
    io.ebean.Expression
    arrayNotContains(String propertyName, Object... values)
     
    io.ebean.Expression
    between(String propertyName, Object value1, Object value2)
    Between - property between the two given values.
    io.ebean.Expression
    betweenProperties(String lowProperty, String highProperty, Object value)
    Between - value between two given properties.
    io.ebean.Expression
    bitwiseAll(String propertyName, long flags)
     
    io.ebean.Expression
    bitwiseAnd(String propertyName, long flags, long match)
     
    io.ebean.Expression
    bitwiseAny(String propertyName, long flags)
     
    <T> io.ebean.Junction<T>
    conjunction(io.ebean.Query<T> query)
    Return a list of expressions that will be joined by AND's.
    <T> io.ebean.Junction<T>
    conjunction(io.ebean.Query<T> query, io.ebean.ExpressionList<T> parent)
    Return a list of expressions that will be joined by AND's.
    io.ebean.Expression
    contains(String propertyName, String value)
    Contains - property like %value%.
    io.ebean.ExpressionFactory
    Create another expression factory with a given sub path.
    <T> io.ebean.Junction<T>
    disjunction(io.ebean.Query<T> query)
    Return a list of expressions that will be joined by OR's.
    <T> io.ebean.Junction<T>
    disjunction(io.ebean.Query<T> query, io.ebean.ExpressionList<T> parent)
    Return a list of expressions that will be joined by OR's.
    io.ebean.Expression
    endsWith(String propertyName, String value)
    Ends With - property like %value.
    io.ebean.Expression
    eq(String propertyName, io.ebean.Query<?> subQuery)
     
    io.ebean.Expression
    eq(String propertyName, Object value)
    Equal To - property equal to the given value.
    io.ebean.Expression
    eqOrNull(String propertyName, Object value)
     
    io.ebean.Expression
    eqSubQuery(String propertyName, String subQuery, Object... bindValues)
     
    io.ebean.ExampleExpression
    Create the query by Example expression which is case-sensitive and using LikeType.RAW (you need to add you own wildcards % and _).
    io.ebean.ExampleExpression
    exampleLike(Object example, boolean caseInsensitive, io.ebean.LikeType likeType)
    Create the query by Example expression specifying more options.
    io.ebean.Expression
    exists(io.ebean.Query<?> subQuery)
    Exists subquery
    io.ebean.Expression
    exists(String subQuery, Object... bindValues)
    In - using a subQuery.
    <T> io.ebean.ExpressionList<T>
     
    io.ebean.Expression
    ge(String propertyName, io.ebean.Query<?> subQuery)
     
    io.ebean.Expression
    ge(String propertyName, Object value)
    Greater Than or Equal to - property greater than or equal to the given value.
    io.ebean.Expression
    geOrNull(String propertyName, Object value)
     
    io.ebean.Expression
    geSubQuery(String propertyName, String subQuery, Object... bindValues)
     
     
    io.ebean.Expression
    gt(String propertyName, io.ebean.Query<?> subQuery)
     
    io.ebean.Expression
    gt(String propertyName, Object value)
    Greater Than - property greater than the given value.
    io.ebean.Expression
    gtOrNull(String propertyName, Object value)
    Greater Than or null - property greater than the given value or null.
    io.ebean.Expression
    gtSubQuery(String propertyName, String subQuery, Object... bindValues)
     
    io.ebean.Expression
    icontains(String propertyName, String value)
    Case-insensitive Contains - property like %value%.
    io.ebean.Expression
    idEq(Object value)
    Id Equal to - ID property is equal to the value.
    io.ebean.Expression
    idIn(Object... idValues)
    Id IN a list of id values.
    io.ebean.Expression
    idIn(Collection<?> idCollection)
    Id IN a collection of id values.
    io.ebean.Expression
    iendsWith(String propertyName, String value)
    Case-insensitive Ends With - property like %value.
    io.ebean.Expression
    ieq(String propertyName, String value)
    Case Insensitive Equal To - property equal to the given value (typically using a lower() function to make it case-insensitive).
    io.ebean.Expression
    ieqObject(String propertyName, Object value)
    Create for named parameter use (and without support for equalsWithNullAsNoop).
    io.ebean.ExampleExpression
    Case-insensitive exampleLike(Object)
    io.ebean.Expression
    ilike(String propertyName, String value)
    Case-insensitive Like - property like value where the value contains the SQL wild card characters % (percentage) and _ (underscore).
    io.ebean.Expression
    in(String propertyName, io.ebean.Query<?> subQuery)
    In - using a subQuery.
    io.ebean.Expression
    in(String propertyName, Object[] values)
    In - property has a value in the array of values.
    io.ebean.Expression
    in(String propertyName, Collection<?> values)
    In - property has a value in the collection of values.
    io.ebean.Expression
    ine(String propertyName, String value)
    Case Insensitive Equal To - property equal to the given value (typically using a lower() function to make it case-insensitive).
    io.ebean.Expression
    ineObject(String propertyName, Object value)
    Create for named parameter use (and without support for equalsWithNullAsNoop).
    io.ebean.Expression
    inOrEmpty(String propertyName, Collection<?> values)
    In where null or empty values means that no predicate is added to the query.
    io.ebean.Expression
    inPairs(io.ebean.Pairs pairs)
    In - property has a value in the collection of values.
    io.ebean.Expression
    inRange(String propertyName, Object value1, Object value2)
    Between - property between the two given values.
    io.ebean.Expression
    inRangeWith(String lowProperty, String highProperty, Object value)
     
    io.ebean.Expression
    inRangeWithProperties(String propertyName, String lowProperty, String highProperty)
     
    io.ebean.Expression
    inSubQuery(String propertyName, String subQuery, Object... bindValues)
     
    io.ebean.Expression
    inTuples(io.ebean.InTuples pairs)
     
    io.ebean.Expression
    isEmpty(String propertyName)
     
    io.ebean.Expression
    isNotEmpty(String propertyName)
     
    io.ebean.Expression
    isNotNull(String propertyName)
    Is Not Null - property is not null.
    io.ebean.Expression
    isNull(String propertyName)
    Is Null - property is null.
    io.ebean.Expression
    istartsWith(String propertyName, String value)
    Case-insensitive Starts With - property like value%.
    io.ebean.Expression
    jsonBetween(String propertyName, String path, Object lowerValue, Object upperValue)
     
    io.ebean.Expression
    jsonEqualTo(String propertyName, String path, Object value)
     
    io.ebean.Expression
    jsonExists(String propertyName, String path)
     
    io.ebean.Expression
    jsonGreaterOrEqual(String propertyName, String path, Object value)
     
    io.ebean.Expression
    jsonGreaterThan(String propertyName, String path, Object value)
     
    io.ebean.Expression
    jsonLessOrEqualTo(String propertyName, String path, Object value)
     
    io.ebean.Expression
    jsonLessThan(String propertyName, String path, Object value)
     
    io.ebean.Expression
    jsonNotEqualTo(String propertyName, String path, Object value)
     
    io.ebean.Expression
    jsonNotExists(String propertyName, String path)
     
    <T> io.ebean.Junction<T>
    junction(io.ebean.Junction.Type type, io.ebean.Query<T> query)
    Return a list of expressions that are wrapped by NOT.
    <T> io.ebean.Junction<T>
    junction(io.ebean.Junction.Type type, io.ebean.Query<T> query, io.ebean.ExpressionList<T> parent)
    Create and return a Full text junction (Must, Must Not or Should).
    io.ebean.Expression
    le(String propertyName, io.ebean.Query<?> subQuery)
     
    io.ebean.Expression
    le(String propertyName, Object value)
    Less Than or Equal to - property less than or equal to the given value.
    io.ebean.Expression
    leOrNull(String propertyName, Object value)
     
    io.ebean.Expression
    leSubQuery(String propertyName, String subQuery, Object... bindValues)
     
    io.ebean.Expression
    like(String propertyName, Object value, boolean caseInsensitive, io.ebean.LikeType likeType)
     
    io.ebean.Expression
    like(String propertyName, String value)
    Like - property like value where the value contains the SQL wild card characters % (percentage) and _ (underscore).
    io.ebean.Expression
    lt(String propertyName, io.ebean.Query<?> subQuery)
     
    io.ebean.Expression
    lt(String propertyName, Object value)
    Less Than - property less than the given value.
    io.ebean.Expression
    ltOrNull(String propertyName, Object value)
    Less Than or null - property less than the given value or null.
    io.ebean.Expression
    ltSubQuery(String propertyName, String subQuery, Object... bindValues)
     
    io.ebean.Expression
    ne(String propertyName, io.ebean.Query<?> subQuery)
     
    io.ebean.Expression
    ne(String propertyName, Object value)
    Not Equal To - property not equal to the given value.
    io.ebean.Expression
    neSubQuery(String propertyName, String subQuery, Object... bindValues)
     
    io.ebean.Expression
    not(io.ebean.Expression exp)
    Negate the expression (prefix it with NOT).
    io.ebean.Expression
    notExists(io.ebean.Query<?> subQuery)
    Not exists subquery
    io.ebean.Expression
    notExists(String subQuery, Object... bindValues)
    In - using a subQuery.
    io.ebean.Expression
    notIn(String propertyName, io.ebean.Query<?> subQuery)
    In - using a subQuery.
    io.ebean.Expression
    notIn(String propertyName, Object[] values)
    In - property has a value in the array of values.
    io.ebean.Expression
    notIn(String propertyName, Collection<?> values)
    Not In - property has a value in the collection of values.
    io.ebean.Expression
    notInSubQuery(String propertyName, String subQuery, Object... bindValues)
     
    io.ebean.Expression
    or(io.ebean.Expression expOne, io.ebean.Expression expTwo)
    Or - join two expressions with a logical or.
    io.ebean.Expression
    raw(String raw)
    Add raw expression with no parameters.
    io.ebean.Expression
    raw(String raw, Object value)
    Add raw expression with a single parameter.
    io.ebean.Expression
    raw(String raw, Object[] values)
    Add raw expression with an array of parameters.
    io.ebean.Expression
    startsWith(String propertyName, String value)
    Starts With - property like value%.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • DefaultExpressionFactory

      public DefaultExpressionFactory(boolean equalsWithNullAsNoop, boolean nativeIlike)
  • Method Details

    • createExpressionFactory

      public io.ebean.ExpressionFactory createExpressionFactory()
      Description copied from interface: SpiExpressionFactory
      Create another expression factory with a given sub path.
      Specified by:
      createExpressionFactory in interface SpiExpressionFactory
    • getLang

      public String getLang()
    • expressionList

      public <T> io.ebean.ExpressionList<T> expressionList()
      Specified by:
      expressionList in interface io.ebean.ExpressionFactory
    • jsonExists

      public io.ebean.Expression jsonExists(String propertyName, String path)
      Specified by:
      jsonExists in interface io.ebean.ExpressionFactory
    • jsonNotExists

      public io.ebean.Expression jsonNotExists(String propertyName, String path)
      Specified by:
      jsonNotExists in interface io.ebean.ExpressionFactory
    • jsonEqualTo

      public io.ebean.Expression jsonEqualTo(String propertyName, String path, Object value)
      Specified by:
      jsonEqualTo in interface io.ebean.ExpressionFactory
    • jsonNotEqualTo

      public io.ebean.Expression jsonNotEqualTo(String propertyName, String path, Object value)
      Specified by:
      jsonNotEqualTo in interface io.ebean.ExpressionFactory
    • jsonGreaterThan

      public io.ebean.Expression jsonGreaterThan(String propertyName, String path, Object value)
      Specified by:
      jsonGreaterThan in interface io.ebean.ExpressionFactory
    • jsonGreaterOrEqual

      public io.ebean.Expression jsonGreaterOrEqual(String propertyName, String path, Object value)
      Specified by:
      jsonGreaterOrEqual in interface io.ebean.ExpressionFactory
    • jsonLessThan

      public io.ebean.Expression jsonLessThan(String propertyName, String path, Object value)
      Specified by:
      jsonLessThan in interface io.ebean.ExpressionFactory
    • jsonLessOrEqualTo

      public io.ebean.Expression jsonLessOrEqualTo(String propertyName, String path, Object value)
      Specified by:
      jsonLessOrEqualTo in interface io.ebean.ExpressionFactory
    • jsonBetween

      public io.ebean.Expression jsonBetween(String propertyName, String path, Object lowerValue, Object upperValue)
      Specified by:
      jsonBetween in interface io.ebean.ExpressionFactory
    • arrayContains

      public io.ebean.Expression arrayContains(String propertyName, Object... values)
      Specified by:
      arrayContains in interface io.ebean.ExpressionFactory
    • arrayNotContains

      public io.ebean.Expression arrayNotContains(String propertyName, Object... values)
      Specified by:
      arrayNotContains in interface io.ebean.ExpressionFactory
    • arrayIsEmpty

      public io.ebean.Expression arrayIsEmpty(String propertyName)
      Specified by:
      arrayIsEmpty in interface io.ebean.ExpressionFactory
    • arrayIsNotEmpty

      public io.ebean.Expression arrayIsNotEmpty(String propertyName)
      Specified by:
      arrayIsNotEmpty in interface io.ebean.ExpressionFactory
    • bitwiseAny

      public io.ebean.Expression bitwiseAny(String propertyName, long flags)
      Specified by:
      bitwiseAny in interface io.ebean.ExpressionFactory
    • bitwiseAll

      public io.ebean.Expression bitwiseAll(String propertyName, long flags)
      Specified by:
      bitwiseAll in interface io.ebean.ExpressionFactory
    • bitwiseAnd

      public io.ebean.Expression bitwiseAnd(String propertyName, long flags, long match)
      Specified by:
      bitwiseAnd in interface io.ebean.ExpressionFactory
    • eq

      public io.ebean.Expression eq(String propertyName, io.ebean.Query<?> subQuery)
      Specified by:
      eq in interface io.ebean.ExpressionFactory
    • eq

      public io.ebean.Expression eq(String propertyName, Object value)
      Equal To - property equal to the given value.
      Specified by:
      eq in interface io.ebean.ExpressionFactory
    • eqOrNull

      public io.ebean.Expression eqOrNull(String propertyName, Object value)
      Specified by:
      eqOrNull in interface io.ebean.ExpressionFactory
    • ne

      public io.ebean.Expression ne(String propertyName, io.ebean.Query<?> subQuery)
      Specified by:
      ne in interface io.ebean.ExpressionFactory
    • ne

      public io.ebean.Expression ne(String propertyName, Object value)
      Not Equal To - property not equal to the given value.
      Specified by:
      ne in interface io.ebean.ExpressionFactory
    • ieq

      public io.ebean.Expression ieq(String propertyName, String value)
      Case Insensitive Equal To - property equal to the given value (typically using a lower() function to make it case-insensitive).
      Specified by:
      ieq in interface io.ebean.ExpressionFactory
    • ine

      public io.ebean.Expression ine(String propertyName, String value)
      Case Insensitive Equal To - property equal to the given value (typically using a lower() function to make it case-insensitive).
      Specified by:
      ine in interface io.ebean.ExpressionFactory
    • ieqObject

      public io.ebean.Expression ieqObject(String propertyName, Object value)
      Create for named parameter use (and without support for equalsWithNullAsNoop).
      Specified by:
      ieqObject in interface io.ebean.ExpressionFactory
    • ineObject

      public io.ebean.Expression ineObject(String propertyName, Object value)
      Create for named parameter use (and without support for equalsWithNullAsNoop).
      Specified by:
      ineObject in interface io.ebean.ExpressionFactory
    • inRange

      public io.ebean.Expression inRange(String propertyName, Object value1, Object value2)
      Between - property between the two given values.
      Specified by:
      inRange in interface io.ebean.ExpressionFactory
    • inRangeWith

      public io.ebean.Expression inRangeWith(String lowProperty, String highProperty, Object value)
      Specified by:
      inRangeWith in interface io.ebean.ExpressionFactory
    • inRangeWithProperties

      public io.ebean.Expression inRangeWithProperties(String propertyName, String lowProperty, String highProperty)
      Specified by:
      inRangeWithProperties in interface io.ebean.ExpressionFactory
    • between

      public io.ebean.Expression between(String propertyName, Object value1, Object value2)
      Between - property between the two given values.
      Specified by:
      between in interface io.ebean.ExpressionFactory
    • betweenProperties

      public io.ebean.Expression betweenProperties(String lowProperty, String highProperty, Object value)
      Between - value between two given properties.
      Specified by:
      betweenProperties in interface io.ebean.ExpressionFactory
    • gt

      public io.ebean.Expression gt(String propertyName, io.ebean.Query<?> subQuery)
      Specified by:
      gt in interface io.ebean.ExpressionFactory
    • gt

      public io.ebean.Expression gt(String propertyName, Object value)
      Greater Than - property greater than the given value.
      Specified by:
      gt in interface io.ebean.ExpressionFactory
    • gtOrNull

      public io.ebean.Expression gtOrNull(String propertyName, Object value)
      Greater Than or null - property greater than the given value or null.
      Specified by:
      gtOrNull in interface io.ebean.ExpressionFactory
    • geOrNull

      public io.ebean.Expression geOrNull(String propertyName, Object value)
      Specified by:
      geOrNull in interface io.ebean.ExpressionFactory
    • ge

      public io.ebean.Expression ge(String propertyName, io.ebean.Query<?> subQuery)
      Specified by:
      ge in interface io.ebean.ExpressionFactory
    • ge

      public io.ebean.Expression ge(String propertyName, Object value)
      Greater Than or Equal to - property greater than or equal to the given value.
      Specified by:
      ge in interface io.ebean.ExpressionFactory
    • ltOrNull

      public io.ebean.Expression ltOrNull(String propertyName, Object value)
      Less Than or null - property less than the given value or null.
      Specified by:
      ltOrNull in interface io.ebean.ExpressionFactory
    • leOrNull

      public io.ebean.Expression leOrNull(String propertyName, Object value)
      Specified by:
      leOrNull in interface io.ebean.ExpressionFactory
    • lt

      public io.ebean.Expression lt(String propertyName, io.ebean.Query<?> subQuery)
      Specified by:
      lt in interface io.ebean.ExpressionFactory
    • lt

      public io.ebean.Expression lt(String propertyName, Object value)
      Less Than - property less than the given value.
      Specified by:
      lt in interface io.ebean.ExpressionFactory
    • le

      public io.ebean.Expression le(String propertyName, io.ebean.Query<?> subQuery)
      Specified by:
      le in interface io.ebean.ExpressionFactory
    • le

      public io.ebean.Expression le(String propertyName, Object value)
      Less Than or Equal to - property less than or equal to the given value.
      Specified by:
      le in interface io.ebean.ExpressionFactory
    • isNull

      public io.ebean.Expression isNull(String propertyName)
      Is Null - property is null.
      Specified by:
      isNull in interface io.ebean.ExpressionFactory
    • isNotNull

      public io.ebean.Expression isNotNull(String propertyName)
      Is Not Null - property is not null.
      Specified by:
      isNotNull in interface io.ebean.ExpressionFactory
    • iexampleLike

      public io.ebean.ExampleExpression iexampleLike(Object example)
      Case-insensitive exampleLike(Object)
      Specified by:
      iexampleLike in interface io.ebean.ExpressionFactory
    • exampleLike

      public io.ebean.ExampleExpression exampleLike(Object example)
      Create the query by Example expression which is case-sensitive and using LikeType.RAW (you need to add you own wildcards % and _).
      Specified by:
      exampleLike in interface io.ebean.ExpressionFactory
    • exampleLike

      public io.ebean.ExampleExpression exampleLike(Object example, boolean caseInsensitive, io.ebean.LikeType likeType)
      Create the query by Example expression specifying more options.
      Specified by:
      exampleLike in interface io.ebean.ExpressionFactory
    • like

      public io.ebean.Expression like(String propertyName, Object value, boolean caseInsensitive, io.ebean.LikeType likeType)
      Specified by:
      like in interface io.ebean.ExpressionFactory
    • like

      public io.ebean.Expression like(String propertyName, String value)
      Like - property like value where the value contains the SQL wild card characters % (percentage) and _ (underscore).
      Specified by:
      like in interface io.ebean.ExpressionFactory
    • ilike

      public io.ebean.Expression ilike(String propertyName, String value)
      Case-insensitive Like - property like value where the value contains the SQL wild card characters % (percentage) and _ (underscore). Typically, uses a lower() function to make the expression case-insensitive.
      Specified by:
      ilike in interface io.ebean.ExpressionFactory
    • startsWith

      public io.ebean.Expression startsWith(String propertyName, String value)
      Starts With - property like value%.
      Specified by:
      startsWith in interface io.ebean.ExpressionFactory
    • istartsWith

      public io.ebean.Expression istartsWith(String propertyName, String value)
      Case-insensitive Starts With - property like value%. Typically, uses a lower() function to make the expression case-insensitive.
      Specified by:
      istartsWith in interface io.ebean.ExpressionFactory
    • endsWith

      public io.ebean.Expression endsWith(String propertyName, String value)
      Ends With - property like %value.
      Specified by:
      endsWith in interface io.ebean.ExpressionFactory
    • iendsWith

      public io.ebean.Expression iendsWith(String propertyName, String value)
      Case-insensitive Ends With - property like %value. Typically, uses a lower() function to make the expression case-insensitive.
      Specified by:
      iendsWith in interface io.ebean.ExpressionFactory
    • contains

      public io.ebean.Expression contains(String propertyName, String value)
      Contains - property like %value%.
      Specified by:
      contains in interface io.ebean.ExpressionFactory
    • icontains

      public io.ebean.Expression icontains(String propertyName, String value)
      Case-insensitive Contains - property like %value%. Typically, uses a lower() function to make the expression case-insensitive.
      Specified by:
      icontains in interface io.ebean.ExpressionFactory
    • inPairs

      public io.ebean.Expression inPairs(io.ebean.Pairs pairs)
      In - property has a value in the collection of values.
      Specified by:
      inPairs in interface io.ebean.ExpressionFactory
    • inTuples

      public io.ebean.Expression inTuples(io.ebean.InTuples pairs)
      Specified by:
      inTuples in interface io.ebean.ExpressionFactory
    • in

      public io.ebean.Expression in(String propertyName, Object[] values)
      In - property has a value in the array of values.
      Specified by:
      in in interface io.ebean.ExpressionFactory
    • exists

      public io.ebean.Expression exists(String subQuery, Object... bindValues)
      In - using a subQuery.
      Specified by:
      exists in interface io.ebean.ExpressionFactory
    • notExists

      public io.ebean.Expression notExists(String subQuery, Object... bindValues)
      In - using a subQuery.
      Specified by:
      notExists in interface io.ebean.ExpressionFactory
    • in

      public io.ebean.Expression in(String propertyName, io.ebean.Query<?> subQuery)
      In - using a subQuery.
      Specified by:
      in in interface io.ebean.ExpressionFactory
    • inSubQuery

      public io.ebean.Expression inSubQuery(String propertyName, String subQuery, Object... bindValues)
      Specified by:
      inSubQuery in interface io.ebean.ExpressionFactory
    • notInSubQuery

      public io.ebean.Expression notInSubQuery(String propertyName, String subQuery, Object... bindValues)
      Specified by:
      notInSubQuery in interface io.ebean.ExpressionFactory
    • eqSubQuery

      public io.ebean.Expression eqSubQuery(String propertyName, String subQuery, Object... bindValues)
      Specified by:
      eqSubQuery in interface io.ebean.ExpressionFactory
    • neSubQuery

      public io.ebean.Expression neSubQuery(String propertyName, String subQuery, Object... bindValues)
      Specified by:
      neSubQuery in interface io.ebean.ExpressionFactory
    • geSubQuery

      public io.ebean.Expression geSubQuery(String propertyName, String subQuery, Object... bindValues)
      Specified by:
      geSubQuery in interface io.ebean.ExpressionFactory
    • gtSubQuery

      public io.ebean.Expression gtSubQuery(String propertyName, String subQuery, Object... bindValues)
      Specified by:
      gtSubQuery in interface io.ebean.ExpressionFactory
    • leSubQuery

      public io.ebean.Expression leSubQuery(String propertyName, String subQuery, Object... bindValues)
      Specified by:
      leSubQuery in interface io.ebean.ExpressionFactory
    • ltSubQuery

      public io.ebean.Expression ltSubQuery(String propertyName, String subQuery, Object... bindValues)
      Specified by:
      ltSubQuery in interface io.ebean.ExpressionFactory
    • in

      public io.ebean.Expression in(String propertyName, Collection<?> values)
      In - property has a value in the collection of values.
      Specified by:
      in in interface io.ebean.ExpressionFactory
    • inOrEmpty

      public io.ebean.Expression inOrEmpty(String propertyName, Collection<?> values)
      In where null or empty values means that no predicate is added to the query.

      That is, only add the IN predicate if the values are not null or empty.

      Specified by:
      inOrEmpty in interface io.ebean.ExpressionFactory
    • notIn

      public io.ebean.Expression notIn(String propertyName, Object[] values)
      In - property has a value in the array of values.
      Specified by:
      notIn in interface io.ebean.ExpressionFactory
    • notIn

      public io.ebean.Expression notIn(String propertyName, Collection<?> values)
      Not In - property has a value in the collection of values.
      Specified by:
      notIn in interface io.ebean.ExpressionFactory
    • notIn

      public io.ebean.Expression notIn(String propertyName, io.ebean.Query<?> subQuery)
      In - using a subQuery.
      Specified by:
      notIn in interface io.ebean.ExpressionFactory
    • exists

      public io.ebean.Expression exists(io.ebean.Query<?> subQuery)
      Exists subquery
      Specified by:
      exists in interface io.ebean.ExpressionFactory
    • notExists

      public io.ebean.Expression notExists(io.ebean.Query<?> subQuery)
      Not exists subquery
      Specified by:
      notExists in interface io.ebean.ExpressionFactory
    • isEmpty

      public io.ebean.Expression isEmpty(String propertyName)
      Specified by:
      isEmpty in interface io.ebean.ExpressionFactory
    • isNotEmpty

      public io.ebean.Expression isNotEmpty(String propertyName)
      Specified by:
      isNotEmpty in interface io.ebean.ExpressionFactory
    • idEq

      public io.ebean.Expression idEq(Object value)
      Id Equal to - ID property is equal to the value.
      Specified by:
      idEq in interface io.ebean.ExpressionFactory
    • idIn

      public io.ebean.Expression idIn(Collection<?> idCollection)
      Id IN a collection of id values.
      Specified by:
      idIn in interface io.ebean.ExpressionFactory
    • idIn

      public io.ebean.Expression idIn(Object... idValues)
      Id IN a list of id values.
      Specified by:
      idIn in interface io.ebean.ExpressionFactory
    • allEq

      public io.ebean.Expression allEq(Map<String,Object> propertyMap)
      All Equal - Map containing property names and their values.

      Expression where all the property names in the map are equal to the corresponding value.

      Specified by:
      allEq in interface io.ebean.ExpressionFactory
      Parameters:
      propertyMap - a map keyed by property names.
    • raw

      public io.ebean.Expression raw(String raw, Object value)
      Add raw expression with a single parameter.

      The raw expression should contain a single ? at the location of the parameter.

      Specified by:
      raw in interface io.ebean.ExpressionFactory
    • raw

      public io.ebean.Expression raw(String raw, Object[] values)
      Add raw expression with an array of parameters.

      The raw expression should contain the same number of ? as there are parameters.

      Specified by:
      raw in interface io.ebean.ExpressionFactory
    • raw

      public io.ebean.Expression raw(String raw)
      Add raw expression with no parameters.
      Specified by:
      raw in interface io.ebean.ExpressionFactory
    • and

      public io.ebean.Expression and(io.ebean.Expression expOne, io.ebean.Expression expTwo)
      And - join two expressions with a logical and.
      Specified by:
      and in interface io.ebean.ExpressionFactory
    • or

      public io.ebean.Expression or(io.ebean.Expression expOne, io.ebean.Expression expTwo)
      Or - join two expressions with a logical or.
      Specified by:
      or in interface io.ebean.ExpressionFactory
    • not

      public io.ebean.Expression not(io.ebean.Expression exp)
      Negate the expression (prefix it with NOT).
      Specified by:
      not in interface io.ebean.ExpressionFactory
    • conjunction

      public <T> io.ebean.Junction<T> conjunction(io.ebean.Query<T> query)
      Return a list of expressions that will be joined by AND's.
      Specified by:
      conjunction in interface io.ebean.ExpressionFactory
    • disjunction

      public <T> io.ebean.Junction<T> disjunction(io.ebean.Query<T> query)
      Return a list of expressions that will be joined by OR's.
      Specified by:
      disjunction in interface io.ebean.ExpressionFactory
    • conjunction

      public <T> io.ebean.Junction<T> conjunction(io.ebean.Query<T> query, io.ebean.ExpressionList<T> parent)
      Return a list of expressions that will be joined by AND's.
      Specified by:
      conjunction in interface io.ebean.ExpressionFactory
    • disjunction

      public <T> io.ebean.Junction<T> disjunction(io.ebean.Query<T> query, io.ebean.ExpressionList<T> parent)
      Return a list of expressions that will be joined by OR's.
      Specified by:
      disjunction in interface io.ebean.ExpressionFactory
    • junction

      public <T> io.ebean.Junction<T> junction(io.ebean.Junction.Type type, io.ebean.Query<T> query)
      Return a list of expressions that are wrapped by NOT.
    • junction

      public <T> io.ebean.Junction<T> junction(io.ebean.Junction.Type type, io.ebean.Query<T> query, io.ebean.ExpressionList<T> parent)
      Create and return a Full text junction (Must, Must Not or Should).
      Specified by:
      junction in interface io.ebean.ExpressionFactory