content: /*
   * This file is generated by jOOQ.
   */
  package dev.abarmin.jooq.db.tables;
  
  
  import dev.abarmin.jooq.db.Public;
  import dev.abarmin.jooq.db.tables.records.TaskRecord;
  
  import java.util.Collection;
  
  import org.jooq.Condition;
  import org.jooq.Field;
  import org.jooq.Identity;
  import org.jooq.Name;
  import org.jooq.PlainSQL;
  import org.jooq.QueryPart;
  import org.jooq.SQL;
  import org.jooq.Schema;
  import org.jooq.Select;
  import org.jooq.Stringly;
  import org.jooq.Table;
  import org.jooq.TableField;
  import org.jooq.TableOptions;
  import org.jooq.impl.DSL;
  import org.jooq.impl.SQLDataType;
  import org.jooq.impl.TableImpl;
  
  
  /**
   * This class is generated by jOOQ.
   */
  @SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
  public class Task extends TableImpl<TaskRecord> {
  
      private static final long serialVersionUID = 1L;
  
      /**
       * The reference instance of <code>PUBLIC.TASK</code>
       */
      public static final Task TASK = new Task();
  
      /**
       * The class holding records for this type
       */
      @Override
      public Class<TaskRecord> getRecordType() {
          return TaskRecord.class;
      }
  
      /**
       * The column <code>PUBLIC.TASK.ID</code>.
       */
      public final TableField<TaskRecord, Integer> ID = createField(DSL.name("ID"), SQLDataType.INTEGER.nullable(false).identity(true), this, "");
  
      /**
       * The column <code>PUBLIC.TASK.PERSON_ID</code>.
       */
      public final TableField<TaskRecord, Integer> PERSON_ID = createField(DSL.name("PERSON_ID"), SQLDataType.INTEGER.nullable(false), this, "");
  
      /**
       * The column <code>PUBLIC.TASK.SUBJECT</code>.
       */
      public final TableField<TaskRecord, String> SUBJECT = createField(DSL.name("SUBJECT"), SQLDataType.VARCHAR(100).nullable(false), this, "");
  
      /**
       * The column <code>PUBLIC.TASK.STATUS</code>.
       */
      public final TableField<TaskRecord, String> STATUS = createField(DSL.name("STATUS"), SQLDataType.VARCHAR(100).nullable(false), this, "");
  
      private Task(Name alias, Table<TaskRecord> aliased) {
          this(alias, aliased, (Field<?>[]) null, null);
      }
  
      private Task(Name alias, Table<TaskRecord> aliased, Field<?>[] parameters, Condition where) {
          super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
      }
  
      /**
       * Create an aliased <code>PUBLIC.TASK</code> table reference
       */
      public Task(String alias) {
          this(DSL.name(alias), TASK);
      }
  
      /**
       * Create an aliased <code>PUBLIC.TASK</code> table reference
       */
      public Task(Name alias) {
          this(alias, TASK);
      }
  
      /**
       * Create a <code>PUBLIC.TASK</code> table reference
       */
      public Task() {
          this(DSL.name("TASK"), null);
      }
  
      @Override
      public Schema getSchema() {
          return aliased() ? null : Public.PUBLIC;
      }
  
      @Override
      public Identity<TaskRecord, Integer> getIdentity() {
          return (Identity<TaskRecord, Integer>) super.getIdentity();
      }
  
      @Override
      public Task as(String alias) {
          return new Task(DSL.name(alias), this);
      }
  
      @Override
      public Task as(Name alias) {
          return new Task(alias, this);
      }
  
      @Override
      public Task as(Table<?> alias) {
          return new Task(alias.getQualifiedName(), this);
      }
  
      /**
       * Rename this table
       */
      @Override
      public Task rename(String name) {
          return new Task(DSL.name(name), null);
      }
  
      /**
       * Rename this table
       */
      @Override
      public Task rename(Name name) {
          return new Task(name, null);
      }
  
      /**
       * Rename this table
       */
      @Override
      public Task rename(Table<?> name) {
          return new Task(name.getQualifiedName(), null);
      }
  
      /**
       * Create an inline derived table from this table
       */
      @Override
      public Task where(Condition condition) {
          return new Task(getQualifiedName(), aliased() ? this : null, null, condition);
      }
  
      /**
       * Create an inline derived table from this table
       */
      @Override
      public Task where(Collection<? extends Condition> conditions) {
          return where(DSL.and(conditions));
      }
  
      /**
       * Create an inline derived table from this table
       */
      @Override
      public Task where(Condition... conditions) {
          return where(DSL.and(conditions));
      }
  
      /**
       * Create an inline derived table from this table
       */
      @Override
      public Task where(Field<Boolean> condition) {
          return where(DSL.condition(condition));
      }
  
      /**
       * Create an inline derived table from this table
       */
      @Override
      @PlainSQL
      public Task where(SQL condition) {
          return where(DSL.condition(condition));
      }
  
      /**
       * Create an inline derived table from this table
       */
      @Override
      @PlainSQL
      public Task where(@Stringly.SQL String condition) {
          return where(DSL.condition(condition));
      }
  
      /**
       * Create an inline derived table from this table
       */
      @Override
      @PlainSQL
      public Task where(@Stringly.SQL String condition, Object... binds) {
          return where(DSL.condition(condition, binds));
      }
  
      /**
       * Create an inline derived table from this table
       */
      @Override
      @PlainSQL
      public Task where(@Stringly.SQL String condition, QueryPart... parts) {
          return where(DSL.condition(condition, parts));
      }
  
      /**
       * Create an inline derived table from this table
       */
      @Override
      public Task whereExists(Select<?> select) {
          return where(DSL.exists(select));
      }
  
      /**
       * Create an inline derived table from this table
       */
      @Override
      public Task whereNotExists(Select<?> select) {
          return where(DSL.notExists(select));
      }
  }
  