java.lang.Object
io.bitbucket.dsmoons.odk.sql.query.builder.predicate.Field

public class Field extends Object
Класс, представляющий поле таблицы. Содержит методы условий предиката.
  • Constructor Details

    • Field

      public Field(String name, String tableAlias)
      Конструктор
      Parameters:
      name - имя поля
      tableAlias - псевдоним таблицы
  • Method Details

    • equalTo

      public Predicate.Expression equalTo()

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

      Используется для указания отношения поля с другим полем или значением из другого запроса.

      
       field("t1.name").equalTo().field("t2.name")
       // t1.name = t2.name
       
      Returns:
      Объект Predicate.Expression для продолжения построения предиката
      Since:
      1.0.0
    • equalTo

      public Predicate equalTo(Object l)

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

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

      
        field("name").equalTo("Name")
        // name = 'Name'
      
        field("age").equalTo(20)
        // age = 20
       
      Parameters:
      l - Литерал. Значение поля
      Returns:
      Объект Predicate для продолжения построения предиката
      Since:
      1.0.0
    • notEqualTo

      public Predicate.Expression notEqualTo()

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

      Используется для указания отношения поля с другим полем или значением из другого запроса.

      
        field("t1.name").notEqualTo().field("t2.name")
        // t1.name <> t2.name
       
      Returns:
      Объект Predicate.Expression для продолжения построения предиката
      Since:
      1.0.0
    • notEqualTo

      public Predicate notEqualTo(Object l)

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

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

      
        field("name").notEqualTo("Name")
        // name <> 'Name'
      
        field("age").notEqualTo(20)
        // age <> 20
       
      Parameters:
      l - Литерал. Значение поля
      Returns:
      Объект Predicate для продолжения построения предиката
      Since:
      1.0.0
    • greaterThan

      public Predicate.Expression greaterThan()

      Метод добавляет знак "больше" к предикату.

      Используется для указания отношения поля с другим полем или значением из другого запроса.

      
        field("t1.age").greaterThan().field("t2.age")
        // t1.age > t2.age
       
      Returns:
      Объект Predicate.Expression для продолжения построения предиката
      Since:
      1.0.0
    • greaterThan

      public Predicate greaterThan(Object l)

      Метод добавляет знак "больше" и литерал к предикату.

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

      
        field("age").greaterThan(20)
        // age > 20
       
      Parameters:
      l - Литерал. Значение поля
      Returns:
      Объект Predicate для продолжения построения предиката
      Since:
      1.0.0
    • greaterThanOrEqualTo

      public Predicate.Expression greaterThanOrEqualTo()

      Метод добавляет знак "больше или равно" к предикату.

      Используется для указания отношения поля с другим полем или значением из другого запроса.

      
        field("t1.age").greaterThanOrEqualTo().field("t2.age")
        // t1.age >= t2.age
       
      Returns:
      Объект Predicate.Expression для продолжения построения предиката
      Since:
      1.0.0
    • greaterThanOrEqualTo

      public Predicate greaterThanOrEqualTo(Object l)
      Метод добавляет знак "больше или равно" и литерал к предикату.

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

      ``` field("age").greaterThanOrEqualTo(20) // age >= 20 ```

      Parameters:
      l - Литерал. Значение поля
      Returns:
      Объект Predicate для продолжения построения предиката
      Since:
      1.0.0
    • lessThan

      public Predicate.Expression lessThan()

      Метод добавляет знак "меньше" к предикату.

      Используется для указания отношения поля с другим полем или значением из другого запроса.

      
        field("t1.age").lessThan().field("t2.age")
        // t1.age < t2.age
       
      Returns:
      Объект Predicate.Expression для продолжения построения предиката
      Since:
      1.0.0
    • lessThan

      public Predicate lessThan(Object l)

      Метод добавляет знак "меньше" и литерал к предикату.

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

      
        field("age").lessThan(20)
        // age < 20
       
      Parameters:
      l - Литерал. Значение поля
      Returns:
      Объект Predicate для продолжения построения предиката
      Since:
      1.0.0
    • lessThanOrEqualTo

      public Predicate.Expression lessThanOrEqualTo()

      Метод добавляет знак "меньше или равно" к предикату.

      Используется для указания отношения поля с другим полем или значением из другого запроса.

      
        field("t1.age").lessThanOrEqualTo().field("t2.age")
        // t1.age <= t2.age
       
      Returns:
      Объект Predicate.Expression для продолжения построения предиката
      Since:
      1.0.0
    • lessThanOrEqualTo

      public Predicate lessThanOrEqualTo(Object l)

      Метод добавляет знак "меньше или равно" и литерал к предикату.

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

      
        field("age").lessThanOrEqualTo(20)
        // age <= 20
       
      Parameters:
      l - Литерал. Значение поля
      Returns:
      Объект Predicate для продолжения построения предиката
      Since:
      1.0.0
    • in

      public Predicate in(Object l0, Object... ln)

      Метод добавляет оператор IN и возможные значения к предикату

      
        field("age").in(20) // age IN (20)
        field("age").in(20, 21) // age IN (20, 21)
        field("age").in(20, 21, 22) // age IN (20, 21, 22)
       
      Parameters:
      l0 - Первое возможное значение
      ln - Дополнительные значения при необходимости
      Returns:
      Объект Predicate для продолжения построения предиката
      Since:
      1.0.0
    • in

      public Predicate in(List<?> l)

      Метод добавляет оператор IN и возможные значения к предикату

      
        field("age").in(List.of(20, 21, 22))
        // age IN (20, 21, 22)
       
      Parameters:
      l - Список значений
      Returns:
      Объект Predicate для продолжения построения предиката
      Since:
      1.3.0
    • in

      public Predicate in(AbstractQuery q)

      Метод добавляет оператор IN и текст запроса select

      
        field("name").in(
            select("name").from("table2").where(...)
        )
        // name IN (SELECT name FROM table2 WHERE ...)
       
      Parameters:
      q - Объект AbstractQuery для построения запроса
      Returns:
      Объект Predicate для продолжения построения предиката
      Since:
      1.0.0
    • notIn

      public Predicate notIn(Object l0, Object... ln)

      Метод добавляет оператор NOT IN и возможные значения к предикату

      
        field("age").notIn(20) // age NOT IN (20)
        field("age").notIn(20, 21) // age NOT IN (20, 21)
        field("age").notIn(20, 21, 22) // age NOT IN (20, 21, 22)
       
      Parameters:
      l0 - Первое возможное значение
      ln - Дополнительные значения при необходимости
      Returns:
      Объект Predicate для продолжения построения предиката
      Since:
      1.3.0
    • notIn

      public Predicate notIn(List<?> l)

      Метод добавляет оператор NOT IN и возможные значения к предикату

      
        field("age").notIn(List.of(20, 21, 22))
        // age NOT IN (20, 21, 22)
       
      Parameters:
      l - Список значений
      Returns:
      Объект Predicate для продолжения построения предиката
      Since:
      1.3.0
    • notIn

      public Predicate notIn(AbstractQuery q)

      Метод добавляет оператор NOT IN и текст запроса select

      
        field("name").notIn(
            select("name").from("table2").where(...)
        )
       // name NOT IN (SELECT name FROM table2 WHERE ...)
       
      Parameters:
      q - Объект AbstractQuery для построения запроса
      Returns:
      Объект Predicate для продолжения построения предиката
      Since:
      1.3.0
    • between

      public Predicate between(Object l1, Object l2)

      Метод добавляет оператор BETWEEN и его значения

      
        field("age").between(20, 22)
        // age BETWEEN 20 AND 22
       
      Parameters:
      l1 - Первое значение
      l2 - Второе значение
      Returns:
      Объект Predicate для продолжения построения предиката
      Since:
      1.0.0
    • notBetween

      public Predicate notBetween(Object l1, Object l2)

      Метод добавляет оператор NOT BETWEEN и его значения

      
        field("age").notBetween(20, 22)
        // age NOT BETWEEN 20 AND 22
       
      Parameters:
      l1 - Первое значение
      l2 - Второе значение
      Returns:
      Объект Predicate для продолжения построения предиката
      Since:
      1.3.0
    • like

      public Predicate like(String l, String escape)

      Метод добавляет оператор LIKE и переданный шаблон

      
        field("name").like("%o", '!') // name LIKE '%o' ESCAPE '!'
       
      Parameters:
      l - Шаблон для сравнения
      escape - Символ экранирования для шаблона
      Returns:
      Объект Predicate для продолжения построения предиката
      Since:
      1.0.0
    • like

      public Predicate like(String l)

      Метод добавляет оператор LIKE и переданный шаблон

      
        field("name").like("%o") // name LIKE '%o'
       
      Parameters:
      l - Шаблон для сравнения
      Returns:
      Объект Predicate для продолжения построения предиката
      Since:
      1.0.0
    • notLike

      public Predicate notLike(String l, String escape)

      Метод добавляет оператор NOT LIKE и переданный шаблон

      
        field("name").notLike("%o", '!') // name NOT LIKE '%o' ESCAPE '!'
       
      Parameters:
      l - Шаблон для сравнения
      escape - Символ экранирования для шаблона
      Returns:
      Объект Predicate для продолжения построения предиката
      Since:
      1.3.0
    • notLike

      public Predicate notLike(String l)

      Метод добавляет оператор NOT LIKE и переданный шаблон

      
        field("name").notLike("%o") // name NOT LIKE '%o'
       
      Parameters:
      l - Шаблон для сравнения
      Returns:
      Объект Predicate для продолжения построения предиката
      Since:
      1.3.0
    • ilike

      public Predicate ilike(String l, String escape)

      Метод добавляет оператор ILIKE и переданный шаблон

      
        field("name").ilike("%o", '!') // name ILIKE '%o' ESCAPE '!'
       
      Parameters:
      l - Шаблон для сравнения
      escape - Символ экранирования для шаблона
      Returns:
      Объект Predicate для продолжения построения предиката
      Since:
      1.8.0
    • ilike

      public Predicate ilike(String l)

      Метод добавляет оператор ILIKE и переданный шаблон

      
        field("name").ilike("%o") // name ILIKE '%o'
       
      Parameters:
      l - Шаблон для сравнения
      Returns:
      Объект Predicate для продолжения построения предиката
      Since:
      1.8.0
    • notIlike

      public Predicate notIlike(String l, String escape)

      Метод добавляет оператор NOT ILIKE и переданный шаблон

      
        field("name").notIlike("%o", '!') // name NOT ILIKE '%o' ESCAPE '!'
       
      Parameters:
      l - Шаблон для сравнения
      escape - Символ экранирования для шаблона
      Returns:
      Объект Predicate для продолжения построения предиката
      Since:
      1.8.0
    • notIlike

      public Predicate notIlike(String l)

      Метод добавляет оператор NOT ILIKE и переданный шаблон

      
        field("name").notIlike("%o") // name NOT ILIKE '%o'
       
      Parameters:
      l - Шаблон для сравнения
      Returns:
      Объект Predicate для продолжения построения предиката
      Since:
      1.8.0
    • isNull

      public Predicate isNull()

      Метод добавляет "IS NULL" к предикату

      Returns:
      Объект Predicate для продолжения построения предиката
      Since:
      1.0.0
    • isNotNull

      public Predicate isNotNull()

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

      Returns:
      Объект Predicate для продолжения построения предиката
      Since:
      1.0.0
    • doubleColon

      public Field doubleColon(String s)

      Метод добавляет двойное двоеточие ("::") и значение к названию поля

      Parameters:
      s - Значение
      Returns:
      Объект Field для продолжения построения предиката
      Since:
      2.1.0
    • toString

      public String toString()
      Текстовое представление поля
      Overrides:
      toString in class Object
      Returns:
      Поле в виде строки
      Since:
      1.5.0
    • getName

      public String getName()
      Имя поля
      Returns:
      имя