Class PredicateObject

java.lang.Object
io.bitbucket.dsmoons.odk.sql.query.builder.PredicateObject

public class PredicateObject extends Object

Объект со статическими методами создания предикатов для запросов и объектов полей


  import io.bitbucket.dsmoons.odk.sql.query.builder.predicate.Field;
  import static io.bitbucket.dsmoons.odk.sql.query.builder.PredicateObject.field;
  import static io.bitbucket.dsmoons.odk.sql.query.builder.QueryObject.select;

  var query1 = select().from("table").where(
      //PredicateObject.
          field("name").equalTo("Name").and().field("age").greaterThan(30)
  );

  var query2 = select().from("table1", "t1").join("table2", "t2").on(
      //PredicateObject.
          field("name", "t1").equalTo().field("name", "t2")
  );

  Field field1 = field("name");
  Field field2 = field("name", "t1");
 
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    Объект с методами построения выражения CASE.
  • Method Summary

    Modifier and Type
    Method
    Description
    static Predicate
    Метод заключает переданный предикат в круглые скобки
    static Field
    Метод добавляет произвольное выражение как поле для продолжения построения предиката.
    static Field
    Метод задает название поля для построения предиката
    static Field
    Метод задает название поля для построения предиката
    static Field
    field(String f, String tableAlias)
    Метод задает название поля для построения предиката
    not()
    Метод добавляет оператор NOT к предикату
    static Field
    Метод добавляет значение (литерал) для продолжения построения предиката.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • field

      public static Field field(String f, String tableAlias)
      Метод задает название поля для построения предиката
      Parameters:
      f - Название поля
      tableAlias - Псевдоним таблицы, заданный в операторе FROM или JOIN
      Returns:
      Объект Field для продолжения построения предиката
      Since:
      1.0.0
    • field

      public static Field field(String f)
      Метод задает название поля для построения предиката
      Parameters:
      f - Название поля
      Returns:
      Объект Field для продолжения построения предиката
      Since:
      1.0.0
    • field

      public static Field field(Field f)
      Метод задает название поля для построения предиката
      Parameters:
      f - Поле Field
      Returns:
      Объект Field для продолжения построения предиката
      Since:
      2.0.2
    • brackets

      public static Predicate brackets(Predicate p)

      Метод заключает переданный предикат в круглые скобки

      
        var q = select().from("table").where(
            field("a").equalTo(1).or()
                .brackets(field("b").isNotNull().and().field("c").like("c%"))
        );
        //  SELECT * FROM table WHERE a = 1 OR
        //      (b IS NOT NULL AND c LIKE 'c%')
       
      Parameters:
      p - Предикат запроса
      Returns:
      Объект Predicate для продолжения построения предиката
      Since:
      1.0.0
    • expression

      public static Field expression(String s)

      Метод добавляет произвольное выражение как поле для продолжения построения предиката.

      Переданная строка не заключается в одинарные кавычки.

      Parameters:
      s - Выражение
      Returns:
      Объект Field для продолжения построения предиката
      Since:
      1.5.0
    • value

      public static Field value(Object v)

      Метод добавляет значение (литерал) для продолжения построения предиката.

      Литерал, не являющийся числом, оборачивается в одинарные скобки.

      Parameters:
      v - Литерал
      Returns:
      Объект Field для продолжения построения предиката
      Since:
      1.5.0
    • not

      public static Predicate.Builder not()

      Метод добавляет оператор NOT к предикату

      not().field("f").equalTo("qqq") // NOT f = 'qqq'
      Returns:
      Объект Predicate.Builder для продолжения построения предиката
      Since:
      1.5.0