// Path: src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/tables/Project.java
// @Generated(
//     value = {
//         "http://www.jooq.org",
//         "jOOQ version:3.8.4"
//     },
//     comments = "This class is generated by jOOQ"
// )
// @SuppressWarnings({ "all", "unchecked", "rawtypes" })
// public class Project extends TableImpl<ProjectRecord> {
// 
//     private static final long serialVersionUID = -1798885207;
// 
//     /**
//      * The reference instance of <code>public.project</code>
//      */
//     public static final Project PROJECT = new Project();
// 
//     /**
//      * The class holding records for this type
//      */
//     @Override
//     public Class<ProjectRecord> getRecordType() {
//         return ProjectRecord.class;
//     }
// 
//     /**
//      * The column <code>public.project.pid</code>.
//      */
//     public final TableField<ProjectRecord, Integer> PID = createField("pid", org.jooq.impl.SQLDataType.INTEGER.nullable(false).defaultValue(org.jooq.impl.DSL.field("nextval('project_pid_seq'::regclass)", org.jooq.impl.SQLDataType.INTEGER)), this, "");
// 
//     /**
//      * The column <code>public.project.name</code>.
//      */
//     public final TableField<ProjectRecord, String> NAME = createField("name", org.jooq.impl.SQLDataType.CLOB.nullable(false), this, "");
// 
//     /**
//      * The column <code>public.project.datestarted</code>.
//      */
//     public final TableField<ProjectRecord, Date> DATESTARTED = createField("datestarted", org.jooq.impl.SQLDataType.DATE, this, "");
// 
//     /**
//      * Create a <code>public.project</code> table reference
//      */
//     public Project() {
//         this("project", null);
//     }
// 
//     /**
//      * Create an aliased <code>public.project</code> table reference
//      */
//     public Project(String alias) {
//         this(alias, PROJECT);
//     }
// 
//     private Project(String alias, Table<ProjectRecord> aliased) {
//         this(alias, aliased, null);
//     }
// 
//     private Project(String alias, Table<ProjectRecord> aliased, Field<?>[] parameters) {
//         super(alias, null, aliased, parameters, "");
//     }
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public Schema getSchema() {
//         return Public.PUBLIC;
//     }
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public Identity<ProjectRecord, Integer> getIdentity() {
//         return Keys.IDENTITY_PROJECT;
//     }
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public UniqueKey<ProjectRecord> getPrimaryKey() {
//         return Keys.PROJECT_PKEY;
//     }
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public List<UniqueKey<ProjectRecord>> getKeys() {
//         return Arrays.<UniqueKey<ProjectRecord>>asList(Keys.PROJECT_PKEY);
//     }
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public Project as(String alias) {
//         return new Project(alias, this);
//     }
// 
//     /**
//      * Rename this table
//      */
//     public Project rename(String name) {
//         return new Project(name, null);
//     }
// }


import com.clevergang.dbtests.repository.impl.jooq.generated.tables.Project;
import java.sql.Date;
import javax.annotation.Generated;
import org.jooq.Field;
import org.jooq.Record1;
import org.jooq.Record3;
import org.jooq.Row3;
import org.jooq.impl.UpdatableRecordImpl;
    @Override
    public Record1<Integer> key() {
        return (Record1) super.key();
    }

    // -------------------------------------------------------------------------
    // Record3 type implementation
    // -------------------------------------------------------------------------

    /**
     * {@inheritDoc}
     */
    @Override
    public Row3<Integer, String, Date> fieldsRow() {
        return (Row3) super.fieldsRow();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Row3<Integer, String, Date> valuesRow() {
        return (Row3) super.valuesRow();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Field<Integer> field1() {
// Path: src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/tables/Project.java
// @Generated(
//     value = {
//         "http://www.jooq.org",
//         "jOOQ version:3.8.4"
//     },
//     comments = "This class is generated by jOOQ"
// )
// @SuppressWarnings({ "all", "unchecked", "rawtypes" })
// public class Project extends TableImpl<ProjectRecord> {
// 
//     private static final long serialVersionUID = -1798885207;
// 
//     /**
//      * The reference instance of <code>public.project</code>
//      */
//     public static final Project PROJECT = new Project();
// 
//     /**
//      * The class holding records for this type
//      */
//     @Override
//     public Class<ProjectRecord> getRecordType() {
//         return ProjectRecord.class;
//     }
// 
//     /**
//      * The column <code>public.project.pid</code>.
//      */
//     public final TableField<ProjectRecord, Integer> PID = createField("pid", org.jooq.impl.SQLDataType.INTEGER.nullable(false).defaultValue(org.jooq.impl.DSL.field("nextval('project_pid_seq'::regclass)", org.jooq.impl.SQLDataType.INTEGER)), this, "");
// 
//     /**
//      * The column <code>public.project.name</code>.
//      */
//     public final TableField<ProjectRecord, String> NAME = createField("name", org.jooq.impl.SQLDataType.CLOB.nullable(false), this, "");
// 
//     /**
//      * The column <code>public.project.datestarted</code>.
//      */
//     public final TableField<ProjectRecord, Date> DATESTARTED = createField("datestarted", org.jooq.impl.SQLDataType.DATE, this, "");
// 
//     /**
//      * Create a <code>public.project</code> table reference
//      */
//     public Project() {
//         this("project", null);
//     }
// 
//     /**
//      * Create an aliased <code>public.project</code> table reference
//      */
//     public Project(String alias) {
//         this(alias, PROJECT);
//     }
// 
//     private Project(String alias, Table<ProjectRecord> aliased) {
//         this(alias, aliased, null);
//     }
// 
//     private Project(String alias, Table<ProjectRecord> aliased, Field<?>[] parameters) {
//         super(alias, null, aliased, parameters, "");
//     }
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public Schema getSchema() {
//         return Public.PUBLIC;
//     }
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public Identity<ProjectRecord, Integer> getIdentity() {
//         return Keys.IDENTITY_PROJECT;
//     }
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public UniqueKey<ProjectRecord> getPrimaryKey() {
//         return Keys.PROJECT_PKEY;
//     }
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public List<UniqueKey<ProjectRecord>> getKeys() {
//         return Arrays.<UniqueKey<ProjectRecord>>asList(Keys.PROJECT_PKEY);
//     }
// 
//     /**
//      * {@inheritDoc}
//      */
//     @Override
//     public Project as(String alias) {
//         return new Project(alias, this);
//     }
// 
//     /**
//      * Rename this table
//      */
//     public Project rename(String name) {
//         return new Project(name, null);
//     }
// }


// Path: src/main/java/com/clevergang/dbtests/repository/impl/jooq/generated/tables/records/ProjectRecord.java
import com.clevergang.dbtests.repository.impl.jooq.generated.tables.Project;
import java.sql.Date;
import javax.annotation.Generated;
import org.jooq.Field;
import org.jooq.Record1;
import org.jooq.Record3;
import org.jooq.Row3;
import org.jooq.impl.UpdatableRecordImpl;

    @Override
    public Record1<Integer> key() {
        return (Record1) super.key();
    }

    // -------------------------------------------------------------------------
    // Record3 type implementation
    // -------------------------------------------------------------------------

    /**
     * {@inheritDoc}
     */
    @Override
    public Row3<Integer, String, Date> fieldsRow() {
        return (Row3) super.fieldsRow();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Row3<Integer, String, Date> valuesRow() {
        return (Row3) super.valuesRow();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public Field<Integer> field1() {
        return Project.PROJECT.PID;