001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.workrequirement;
005
006
007import com.echothree.model.data.workeffort.common.pk.WorkEffortPK;
008import com.echothree.model.data.workrequirement.common.pk.WorkRequirementDetailPK;
009import com.echothree.model.data.workrequirement.common.pk.WorkRequirementPK;
010import com.echothree.model.data.workrequirement.common.pk.WorkRequirementScopePK;
011import com.echothree.model.jooq.server.KeyRegistry;
012import com.echothree.model.jooq.server.tables.workeffort.WorkEfforts.WorkEffortsPath;
013import com.echothree.model.jooq.server.tables.workrequirement.WorkRequirementScopes.WorkRequirementScopesPath;
014import com.echothree.model.jooq.server.tables.workrequirement.WorkRequirements.WorkRequirementsPath;
015
016import java.util.Arrays;
017import java.util.Collection;
018import java.util.List;
019
020import org.jooq.Condition;
021import org.jooq.Converter;
022import org.jooq.Field;
023import org.jooq.ForeignKey;
024import org.jooq.InverseForeignKey;
025import org.jooq.Name;
026import org.jooq.Path;
027import org.jooq.PlainSQL;
028import org.jooq.QueryPart;
029import org.jooq.Record;
030import org.jooq.SQL;
031import org.jooq.Stringly;
032import org.jooq.Table;
033import org.jooq.TableField;
034import org.jooq.TableLike;
035import org.jooq.TableOptions;
036import org.jooq.UniqueKey;
037import org.jooq.impl.DSL;
038import org.jooq.impl.Internal;
039import org.jooq.impl.SQLDataType;
040import org.jooq.impl.TableImpl;
041
042
043/**
044 * This class is generated by jOOQ.
045 */
046@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
047public class WorkRequirementDetails extends TableImpl<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementDetails> {
048
049    private static final long serialVersionUID = 1L;
050
051    /**
052     * The reference instance of <code>workrequirementdetails</code>
053     */
054    public static final WorkRequirementDetails WorkRequirementDetails = new WorkRequirementDetails();
055
056    /**
057     * The class holding records for this type
058     */
059    @Override
060    public Class<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementDetails> getRecordType() {
061        return com.echothree.model.jooq.server.records.workrequirement.WorkRequirementDetails.class;
062    }
063
064    /**
065     * The column
066     * <code>workrequirementdetails.wrdt_workrequirementdetailid</code>.
067     */
068    public final TableField<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementDetails, WorkRequirementDetailPK> WORK_REQUIREMENT_DETAIL = createField(DSL.name("wrdt_workrequirementdetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, WorkRequirementDetailPK.class, id -> new com.echothree.model.data.workrequirement.common.pk.WorkRequirementDetailPK(id), primaryKey -> primaryKey.getEntityId()));
069
070    /**
071     * The column <code>workrequirementdetails.wrdt_wr_workrequirementid</code>.
072     */
073    public final TableField<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementDetails, WorkRequirementPK> WORK_REQUIREMENT = createField(DSL.name("wrdt_wr_workrequirementid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, WorkRequirementPK.class, id -> new com.echothree.model.data.workrequirement.common.pk.WorkRequirementPK(id), primaryKey -> primaryKey.getEntityId()));
074
075    /**
076     * The column <code>workrequirementdetails.wrdt_workrequirementname</code>.
077     */
078    public final TableField<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementDetails, String> WORK_REQUIREMENT_NAME = createField(DSL.name("wrdt_workrequirementname"), SQLDataType.VARCHAR(40).nullable(false), this, "");
079
080    /**
081     * The column <code>workrequirementdetails.wrdt_weff_workeffortid</code>.
082     */
083    public final TableField<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementDetails, WorkEffortPK> WORK_EFFORT = createField(DSL.name("wrdt_weff_workeffortid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, WorkEffortPK.class, id -> new com.echothree.model.data.workeffort.common.pk.WorkEffortPK(id), primaryKey -> primaryKey.getEntityId()));
084
085    /**
086     * The column
087     * <code>workrequirementdetails.wrdt_wrs_workrequirementscopeid</code>.
088     */
089    public final TableField<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementDetails, WorkRequirementScopePK> WORK_REQUIREMENT_SCOPE = createField(DSL.name("wrdt_wrs_workrequirementscopeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, WorkRequirementScopePK.class, id -> new com.echothree.model.data.workrequirement.common.pk.WorkRequirementScopePK(id), primaryKey -> primaryKey.getEntityId()));
090
091    /**
092     * The column <code>workrequirementdetails.wrdt_starttime</code>.
093     */
094    public final TableField<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementDetails, Long> START_TIME = createField(DSL.name("wrdt_starttime"), SQLDataType.BIGINT.nullable(false), this, "");
095
096    /**
097     * The column <code>workrequirementdetails.wrdt_requiredtime</code>.
098     */
099    public final TableField<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementDetails, Long> REQUIRED_TIME = createField(DSL.name("wrdt_requiredtime"), SQLDataType.BIGINT, this, "");
100
101    /**
102     * The column <code>workrequirementdetails.wrdt_fromtime</code>.
103     */
104    public final TableField<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementDetails, Long> FROM_TIME = createField(DSL.name("wrdt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
105
106    /**
107     * The column <code>workrequirementdetails.wrdt_thrutime</code>.
108     */
109    public final TableField<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementDetails, Long> THRU_TIME = createField(DSL.name("wrdt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
110
111    private WorkRequirementDetails(Name alias, Table<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementDetails> aliased) {
112        this(alias, aliased, (Field<?>[]) null, null);
113    }
114
115    private WorkRequirementDetails(Name alias, Table<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementDetails> aliased, Field<?>[] parameters, Condition where) {
116        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
117    }
118
119    /**
120     * Create an aliased <code>workrequirementdetails</code> table reference
121     */
122    public WorkRequirementDetails(String alias) {
123        this(DSL.name(alias), WorkRequirementDetails);
124    }
125
126    /**
127     * Create an aliased <code>workrequirementdetails</code> table reference
128     */
129    public WorkRequirementDetails(Name alias) {
130        this(alias, WorkRequirementDetails);
131    }
132
133    /**
134     * Create a <code>workrequirementdetails</code> table reference
135     */
136    public WorkRequirementDetails() {
137        this(DSL.name("workrequirementdetails"), null);
138    }
139
140    public <O extends Record> WorkRequirementDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.workrequirement.WorkRequirementDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.workrequirement.WorkRequirementDetails> parentPath) {
141        super(path, childPath, parentPath, WorkRequirementDetails);
142    }
143
144    /**
145     * A subtype implementing {@link Path} for simplified path-based joins.
146     */
147    public static class WorkRequirementDetailsPath extends WorkRequirementDetails implements Path<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementDetails> {
148
149        private static final long serialVersionUID = 1L;
150        public <O extends Record> WorkRequirementDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.workrequirement.WorkRequirementDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.workrequirement.WorkRequirementDetails> parentPath) {
151            super(path, childPath, parentPath);
152        }
153        private WorkRequirementDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementDetails> aliased) {
154            super(alias, aliased);
155        }
156
157        @Override
158        public WorkRequirementDetailsPath as(String alias) {
159            return new WorkRequirementDetailsPath(DSL.name(alias), this);
160        }
161
162        @Override
163        public WorkRequirementDetailsPath as(Name alias) {
164            return new WorkRequirementDetailsPath(alias, this);
165        }
166
167        @Override
168        public WorkRequirementDetailsPath as(Table<?> alias) {
169            return new WorkRequirementDetailsPath(alias.getQualifiedName(), this);
170        }
171    }
172
173    @Override
174    public UniqueKey<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementDetails> getPrimaryKey() {
175        return KeyRegistry.WORK_REQUIREMENT_DETAILS_PK;
176    }
177
178    @Override
179    public List<UniqueKey<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementDetails>> getUniqueKeys() {
180        return Arrays.asList(KeyRegistry.WORK_REQUIREMENT_DETAILS_WORK_REQUIREMENT_AND_THRU_TIME_UK, KeyRegistry.WORK_REQUIREMENT_DETAILS_WORK_REQUIREMENT_NAME_AND_THRU_TIME_UK);
181    }
182
183    @Override
184    public List<ForeignKey<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementDetails, ?>> getReferences() {
185        return Arrays.asList(KeyRegistry.WORK_REQUIREMENT_DETAILS_WORK_EFFORT_FK, KeyRegistry.WORK_REQUIREMENT_DETAILS_WORK_REQUIREMENT_FK, KeyRegistry.WORK_REQUIREMENT_DETAILS_WORK_REQUIREMENT_SCOPE_FK);
186    }
187
188    private transient WorkEffortsPath _wrdt_weff_workeffortid_fk;
189
190    /**
191     * Get the implicit join path to the <code>workefforts</code> table.
192     */
193    public WorkEffortsPath wrdt_weff_workeffortid_fk() {
194        if (_wrdt_weff_workeffortid_fk == null)
195            _wrdt_weff_workeffortid_fk = new WorkEffortsPath(this, KeyRegistry.WORK_REQUIREMENT_DETAILS_WORK_EFFORT_FK, null);
196
197        return _wrdt_weff_workeffortid_fk;
198    }
199
200    private transient WorkRequirementsPath _wrdt_wr_workrequirementid_fk;
201
202    /**
203     * Get the implicit join path to the <code>workrequirements</code> table.
204     */
205    public WorkRequirementsPath wrdt_wr_workrequirementid_fk() {
206        if (_wrdt_wr_workrequirementid_fk == null)
207            _wrdt_wr_workrequirementid_fk = new WorkRequirementsPath(this, KeyRegistry.WORK_REQUIREMENT_DETAILS_WORK_REQUIREMENT_FK, null);
208
209        return _wrdt_wr_workrequirementid_fk;
210    }
211
212    private transient WorkRequirementScopesPath _wrdt_wrs_workrequirementscopeid_fk;
213
214    /**
215     * Get the implicit join path to the <code>workrequirementscopes</code>
216     * table.
217     */
218    public WorkRequirementScopesPath wrdt_wrs_workrequirementscopeid_fk() {
219        if (_wrdt_wrs_workrequirementscopeid_fk == null)
220            _wrdt_wrs_workrequirementscopeid_fk = new WorkRequirementScopesPath(this, KeyRegistry.WORK_REQUIREMENT_DETAILS_WORK_REQUIREMENT_SCOPE_FK, null);
221
222        return _wrdt_wrs_workrequirementscopeid_fk;
223    }
224
225    @Override
226    public WorkRequirementDetails as(String alias) {
227        return new WorkRequirementDetails(DSL.name(alias), this);
228    }
229
230    @Override
231    public WorkRequirementDetails as(Name alias) {
232        return new WorkRequirementDetails(alias, this);
233    }
234
235    @Override
236    public WorkRequirementDetails as(Table<?> alias) {
237        return new WorkRequirementDetails(alias.getQualifiedName(), this);
238    }
239
240    /**
241     * Rename this table
242     */
243    @Override
244    public WorkRequirementDetails rename(String name) {
245        return new WorkRequirementDetails(DSL.name(name), null);
246    }
247
248    /**
249     * Rename this table
250     */
251    @Override
252    public WorkRequirementDetails rename(Name name) {
253        return new WorkRequirementDetails(name, null);
254    }
255
256    /**
257     * Rename this table
258     */
259    @Override
260    public WorkRequirementDetails rename(Table<?> name) {
261        return new WorkRequirementDetails(name.getQualifiedName(), null);
262    }
263
264    /**
265     * Create an inline derived table from this table
266     */
267    @Override
268    public WorkRequirementDetails where(Condition condition) {
269        return new WorkRequirementDetails(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
270    }
271
272    /**
273     * Create an inline derived table from this table
274     */
275    @Override
276    public WorkRequirementDetails where(Collection<? extends Condition> conditions) {
277        return where(DSL.and(conditions));
278    }
279
280    /**
281     * Create an inline derived table from this table
282     */
283    @Override
284    public WorkRequirementDetails where(Condition... conditions) {
285        return where(DSL.and(conditions));
286    }
287
288    /**
289     * Create an inline derived table from this table
290     */
291    @Override
292    public WorkRequirementDetails where(Field<Boolean> condition) {
293        return where(DSL.condition(condition));
294    }
295
296    /**
297     * Create an inline derived table from this table
298     */
299    @Override
300    @PlainSQL
301    public WorkRequirementDetails where(SQL condition) {
302        return where(DSL.condition(condition));
303    }
304
305    /**
306     * Create an inline derived table from this table
307     */
308    @Override
309    @PlainSQL
310    public WorkRequirementDetails where(@Stringly.SQL String condition) {
311        return where(DSL.condition(condition));
312    }
313
314    /**
315     * Create an inline derived table from this table
316     */
317    @Override
318    @PlainSQL
319    public WorkRequirementDetails where(@Stringly.SQL String condition, Object... binds) {
320        return where(DSL.condition(condition, binds));
321    }
322
323    /**
324     * Create an inline derived table from this table
325     */
326    @Override
327    @PlainSQL
328    public WorkRequirementDetails where(@Stringly.SQL String condition, QueryPart... parts) {
329        return where(DSL.condition(condition, parts));
330    }
331
332    /**
333     * Create an inline derived table from this table
334     */
335    @Override
336    public WorkRequirementDetails whereExists(TableLike<?> select) {
337        return where(DSL.exists(select));
338    }
339
340    /**
341     * Create an inline derived table from this table
342     */
343    @Override
344    public WorkRequirementDetails whereNotExists(TableLike<?> select) {
345        return where(DSL.notExists(select));
346    }
347}