001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.workrequirement;
005
006
007import com.echothree.model.data.selector.common.pk.SelectorPK;
008import com.echothree.model.data.sequence.common.pk.SequencePK;
009import com.echothree.model.data.workeffort.common.pk.WorkEffortScopePK;
010import com.echothree.model.data.workrequirement.common.pk.WorkRequirementScopeDetailPK;
011import com.echothree.model.data.workrequirement.common.pk.WorkRequirementScopePK;
012import com.echothree.model.data.workrequirement.common.pk.WorkRequirementTypePK;
013import com.echothree.model.jooq.server.KeyRegistry;
014import com.echothree.model.jooq.server.tables.selector.Selectors.SelectorsPath;
015import com.echothree.model.jooq.server.tables.sequence.Sequences.SequencesPath;
016import com.echothree.model.jooq.server.tables.workeffort.WorkEffortScopes.WorkEffortScopesPath;
017import com.echothree.model.jooq.server.tables.workrequirement.WorkRequirementScopes.WorkRequirementScopesPath;
018import com.echothree.model.jooq.server.tables.workrequirement.WorkRequirementTypes.WorkRequirementTypesPath;
019
020import java.util.Arrays;
021import java.util.Collection;
022import java.util.List;
023
024import org.jooq.Condition;
025import org.jooq.Converter;
026import org.jooq.Field;
027import org.jooq.ForeignKey;
028import org.jooq.InverseForeignKey;
029import org.jooq.Name;
030import org.jooq.Path;
031import org.jooq.PlainSQL;
032import org.jooq.QueryPart;
033import org.jooq.Record;
034import org.jooq.SQL;
035import org.jooq.Stringly;
036import org.jooq.Table;
037import org.jooq.TableField;
038import org.jooq.TableLike;
039import org.jooq.TableOptions;
040import org.jooq.UniqueKey;
041import org.jooq.impl.DSL;
042import org.jooq.impl.Internal;
043import org.jooq.impl.SQLDataType;
044import org.jooq.impl.TableImpl;
045
046
047/**
048 * This class is generated by jOOQ.
049 */
050@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
051public class WorkRequirementScopeDetails extends TableImpl<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementScopeDetails> {
052
053    private static final long serialVersionUID = 1L;
054
055    /**
056     * The reference instance of <code>workrequirementscopedetails</code>
057     */
058    public static final WorkRequirementScopeDetails WorkRequirementScopeDetails = new WorkRequirementScopeDetails();
059
060    /**
061     * The class holding records for this type
062     */
063    @Override
064    public Class<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementScopeDetails> getRecordType() {
065        return com.echothree.model.jooq.server.records.workrequirement.WorkRequirementScopeDetails.class;
066    }
067
068    /**
069     * The column
070     * <code>workrequirementscopedetails.wrsdt_workrequirementscopedetailid</code>.
071     */
072    public final TableField<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementScopeDetails, WorkRequirementScopeDetailPK> WORK_REQUIREMENT_SCOPE_DETAIL = createField(DSL.name("wrsdt_workrequirementscopedetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, WorkRequirementScopeDetailPK.class, id -> new com.echothree.model.data.workrequirement.common.pk.WorkRequirementScopeDetailPK(id), primaryKey -> primaryKey.getEntityId()));
073
074    /**
075     * The column
076     * <code>workrequirementscopedetails.wrsdt_wrs_workrequirementscopeid</code>.
077     */
078    public final TableField<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementScopeDetails, WorkRequirementScopePK> WORK_REQUIREMENT_SCOPE = createField(DSL.name("wrsdt_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()));
079
080    /**
081     * The column
082     * <code>workrequirementscopedetails.wrsdt_wes_workeffortscopeid</code>.
083     */
084    public final TableField<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementScopeDetails, WorkEffortScopePK> WORK_EFFORT_SCOPE = createField(DSL.name("wrsdt_wes_workeffortscopeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, WorkEffortScopePK.class, id -> new com.echothree.model.data.workeffort.common.pk.WorkEffortScopePK(id), primaryKey -> primaryKey.getEntityId()));
085
086    /**
087     * The column
088     * <code>workrequirementscopedetails.wrsdt_wrt_workrequirementtypeid</code>.
089     */
090    public final TableField<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementScopeDetails, WorkRequirementTypePK> WORK_REQUIREMENT_TYPE = createField(DSL.name("wrsdt_wrt_workrequirementtypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, WorkRequirementTypePK.class, id -> new com.echothree.model.data.workrequirement.common.pk.WorkRequirementTypePK(id), primaryKey -> primaryKey.getEntityId()));
091
092    /**
093     * The column
094     * <code>workrequirementscopedetails.wrsdt_workrequirementsequenceid</code>.
095     */
096    public final TableField<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementScopeDetails, SequencePK> WORK_REQUIREMENT_SEQUENCE = createField(DSL.name("wrsdt_workrequirementsequenceid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, SequencePK.class, id -> new com.echothree.model.data.sequence.common.pk.SequencePK(id), primaryKey -> primaryKey.getEntityId()));
097
098    /**
099     * The column
100     * <code>workrequirementscopedetails.wrsdt_worktimesequenceid</code>.
101     */
102    public final TableField<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementScopeDetails, SequencePK> WORK_TIME_SEQUENCE = createField(DSL.name("wrsdt_worktimesequenceid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, SequencePK.class, id -> new com.echothree.model.data.sequence.common.pk.SequencePK(id), primaryKey -> primaryKey.getEntityId()));
103
104    /**
105     * The column
106     * <code>workrequirementscopedetails.wrsdt_workassignmentselectorid</code>.
107     */
108    public final TableField<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementScopeDetails, SelectorPK> WORK_ASSIGNMENT_SELECTOR = createField(DSL.name("wrsdt_workassignmentselectorid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, SelectorPK.class, id -> new com.echothree.model.data.selector.common.pk.SelectorPK(id), primaryKey -> primaryKey.getEntityId()));
109
110    /**
111     * The column
112     * <code>workrequirementscopedetails.wrsdt_estimatedtimeallowed</code>.
113     */
114    public final TableField<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementScopeDetails, Long> ESTIMATED_TIME_ALLOWED = createField(DSL.name("wrsdt_estimatedtimeallowed"), SQLDataType.BIGINT, this, "");
115
116    /**
117     * The column
118     * <code>workrequirementscopedetails.wrsdt_maximumtimeallowed</code>.
119     */
120    public final TableField<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementScopeDetails, Long> MAXIMUM_TIME_ALLOWED = createField(DSL.name("wrsdt_maximumtimeallowed"), SQLDataType.BIGINT, this, "");
121
122    /**
123     * The column <code>workrequirementscopedetails.wrsdt_fromtime</code>.
124     */
125    public final TableField<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementScopeDetails, Long> FROM_TIME = createField(DSL.name("wrsdt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
126
127    /**
128     * The column <code>workrequirementscopedetails.wrsdt_thrutime</code>.
129     */
130    public final TableField<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementScopeDetails, Long> THRU_TIME = createField(DSL.name("wrsdt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
131
132    private WorkRequirementScopeDetails(Name alias, Table<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementScopeDetails> aliased) {
133        this(alias, aliased, (Field<?>[]) null, null);
134    }
135
136    private WorkRequirementScopeDetails(Name alias, Table<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementScopeDetails> aliased, Field<?>[] parameters, Condition where) {
137        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
138    }
139
140    /**
141     * Create an aliased <code>workrequirementscopedetails</code> table
142     * reference
143     */
144    public WorkRequirementScopeDetails(String alias) {
145        this(DSL.name(alias), WorkRequirementScopeDetails);
146    }
147
148    /**
149     * Create an aliased <code>workrequirementscopedetails</code> table
150     * reference
151     */
152    public WorkRequirementScopeDetails(Name alias) {
153        this(alias, WorkRequirementScopeDetails);
154    }
155
156    /**
157     * Create a <code>workrequirementscopedetails</code> table reference
158     */
159    public WorkRequirementScopeDetails() {
160        this(DSL.name("workrequirementscopedetails"), null);
161    }
162
163    public <O extends Record> WorkRequirementScopeDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.workrequirement.WorkRequirementScopeDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.workrequirement.WorkRequirementScopeDetails> parentPath) {
164        super(path, childPath, parentPath, WorkRequirementScopeDetails);
165    }
166
167    /**
168     * A subtype implementing {@link Path} for simplified path-based joins.
169     */
170    public static class WorkRequirementScopeDetailsPath extends WorkRequirementScopeDetails implements Path<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementScopeDetails> {
171
172        private static final long serialVersionUID = 1L;
173        public <O extends Record> WorkRequirementScopeDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.workrequirement.WorkRequirementScopeDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.workrequirement.WorkRequirementScopeDetails> parentPath) {
174            super(path, childPath, parentPath);
175        }
176        private WorkRequirementScopeDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementScopeDetails> aliased) {
177            super(alias, aliased);
178        }
179
180        @Override
181        public WorkRequirementScopeDetailsPath as(String alias) {
182            return new WorkRequirementScopeDetailsPath(DSL.name(alias), this);
183        }
184
185        @Override
186        public WorkRequirementScopeDetailsPath as(Name alias) {
187            return new WorkRequirementScopeDetailsPath(alias, this);
188        }
189
190        @Override
191        public WorkRequirementScopeDetailsPath as(Table<?> alias) {
192            return new WorkRequirementScopeDetailsPath(alias.getQualifiedName(), this);
193        }
194    }
195
196    @Override
197    public UniqueKey<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementScopeDetails> getPrimaryKey() {
198        return KeyRegistry.WORK_REQUIREMENT_SCOPE_DETAILS_PK;
199    }
200
201    @Override
202    public List<UniqueKey<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementScopeDetails>> getUniqueKeys() {
203        return Arrays.asList(KeyRegistry.WORK_REQUIREMENT_SCOPE_DETAILS_WORK_REQUIREMENT_SCOPE_AND_THRU_TIME_UK, KeyRegistry.WORK_REQUIREMENT_SCOPE_DETAILS_WORK_EFFORT_SCOPE_AND_WORK_REQUIREMENT_TYPE_AND_THRU_TIME_UK);
204    }
205
206    @Override
207    public List<ForeignKey<com.echothree.model.jooq.server.records.workrequirement.WorkRequirementScopeDetails, ?>> getReferences() {
208        return Arrays.asList(KeyRegistry.WORK_REQUIREMENT_SCOPE_DETAILS_WORK_EFFORT_SCOPE_FK, KeyRegistry.WORK_REQUIREMENT_SCOPE_DETAILS_WORK_ASSIGNMENT_SELECTOR_FK, KeyRegistry.WORK_REQUIREMENT_SCOPE_DETAILS_WORK_REQUIREMENT_SEQUENCE_FK, KeyRegistry.WORK_REQUIREMENT_SCOPE_DETAILS_WORK_TIME_SEQUENCE_FK, KeyRegistry.WORK_REQUIREMENT_SCOPE_DETAILS_WORK_REQUIREMENT_SCOPE_FK, KeyRegistry.WORK_REQUIREMENT_SCOPE_DETAILS_WORK_REQUIREMENT_TYPE_FK);
209    }
210
211    private transient WorkEffortScopesPath _wrsdt_wes_workeffortscopeid_fk;
212
213    /**
214     * Get the implicit join path to the <code>workeffortscopes</code> table.
215     */
216    public WorkEffortScopesPath wrsdt_wes_workeffortscopeid_fk() {
217        if (_wrsdt_wes_workeffortscopeid_fk == null)
218            _wrsdt_wes_workeffortscopeid_fk = new WorkEffortScopesPath(this, KeyRegistry.WORK_REQUIREMENT_SCOPE_DETAILS_WORK_EFFORT_SCOPE_FK, null);
219
220        return _wrsdt_wes_workeffortscopeid_fk;
221    }
222
223    private transient SelectorsPath _wrsdt_workassignmentselectorid_fk;
224
225    /**
226     * Get the implicit join path to the <code>selectors</code> table.
227     */
228    public SelectorsPath wrsdt_workassignmentselectorid_fk() {
229        if (_wrsdt_workassignmentselectorid_fk == null)
230            _wrsdt_workassignmentselectorid_fk = new SelectorsPath(this, KeyRegistry.WORK_REQUIREMENT_SCOPE_DETAILS_WORK_ASSIGNMENT_SELECTOR_FK, null);
231
232        return _wrsdt_workassignmentselectorid_fk;
233    }
234
235    private transient SequencesPath _wrsdt_workrequirementsequenceid_fk;
236
237    /**
238     * Get the implicit join path to the <code>sequences</code> table, via the
239     * <code>wrsdt_workrequirementsequenceid_fk</code> key.
240     */
241    public SequencesPath wrsdt_workrequirementsequenceid_fk() {
242        if (_wrsdt_workrequirementsequenceid_fk == null)
243            _wrsdt_workrequirementsequenceid_fk = new SequencesPath(this, KeyRegistry.WORK_REQUIREMENT_SCOPE_DETAILS_WORK_REQUIREMENT_SEQUENCE_FK, null);
244
245        return _wrsdt_workrequirementsequenceid_fk;
246    }
247
248    private transient SequencesPath _wrsdt_worktimesequenceid_fk;
249
250    /**
251     * Get the implicit join path to the <code>sequences</code> table, via the
252     * <code>wrsdt_worktimesequenceid_fk</code> key.
253     */
254    public SequencesPath wrsdt_worktimesequenceid_fk() {
255        if (_wrsdt_worktimesequenceid_fk == null)
256            _wrsdt_worktimesequenceid_fk = new SequencesPath(this, KeyRegistry.WORK_REQUIREMENT_SCOPE_DETAILS_WORK_TIME_SEQUENCE_FK, null);
257
258        return _wrsdt_worktimesequenceid_fk;
259    }
260
261    private transient WorkRequirementScopesPath _wrsdt_wrs_workrequirementscopeid_fk;
262
263    /**
264     * Get the implicit join path to the <code>workrequirementscopes</code>
265     * table.
266     */
267    public WorkRequirementScopesPath wrsdt_wrs_workrequirementscopeid_fk() {
268        if (_wrsdt_wrs_workrequirementscopeid_fk == null)
269            _wrsdt_wrs_workrequirementscopeid_fk = new WorkRequirementScopesPath(this, KeyRegistry.WORK_REQUIREMENT_SCOPE_DETAILS_WORK_REQUIREMENT_SCOPE_FK, null);
270
271        return _wrsdt_wrs_workrequirementscopeid_fk;
272    }
273
274    private transient WorkRequirementTypesPath _wrsdt_wrt_workrequirementtypeid_fk;
275
276    /**
277     * Get the implicit join path to the <code>workrequirementtypes</code>
278     * table.
279     */
280    public WorkRequirementTypesPath wrsdt_wrt_workrequirementtypeid_fk() {
281        if (_wrsdt_wrt_workrequirementtypeid_fk == null)
282            _wrsdt_wrt_workrequirementtypeid_fk = new WorkRequirementTypesPath(this, KeyRegistry.WORK_REQUIREMENT_SCOPE_DETAILS_WORK_REQUIREMENT_TYPE_FK, null);
283
284        return _wrsdt_wrt_workrequirementtypeid_fk;
285    }
286
287    @Override
288    public WorkRequirementScopeDetails as(String alias) {
289        return new WorkRequirementScopeDetails(DSL.name(alias), this);
290    }
291
292    @Override
293    public WorkRequirementScopeDetails as(Name alias) {
294        return new WorkRequirementScopeDetails(alias, this);
295    }
296
297    @Override
298    public WorkRequirementScopeDetails as(Table<?> alias) {
299        return new WorkRequirementScopeDetails(alias.getQualifiedName(), this);
300    }
301
302    /**
303     * Rename this table
304     */
305    @Override
306    public WorkRequirementScopeDetails rename(String name) {
307        return new WorkRequirementScopeDetails(DSL.name(name), null);
308    }
309
310    /**
311     * Rename this table
312     */
313    @Override
314    public WorkRequirementScopeDetails rename(Name name) {
315        return new WorkRequirementScopeDetails(name, null);
316    }
317
318    /**
319     * Rename this table
320     */
321    @Override
322    public WorkRequirementScopeDetails rename(Table<?> name) {
323        return new WorkRequirementScopeDetails(name.getQualifiedName(), null);
324    }
325
326    /**
327     * Create an inline derived table from this table
328     */
329    @Override
330    public WorkRequirementScopeDetails where(Condition condition) {
331        return new WorkRequirementScopeDetails(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
332    }
333
334    /**
335     * Create an inline derived table from this table
336     */
337    @Override
338    public WorkRequirementScopeDetails where(Collection<? extends Condition> conditions) {
339        return where(DSL.and(conditions));
340    }
341
342    /**
343     * Create an inline derived table from this table
344     */
345    @Override
346    public WorkRequirementScopeDetails where(Condition... conditions) {
347        return where(DSL.and(conditions));
348    }
349
350    /**
351     * Create an inline derived table from this table
352     */
353    @Override
354    public WorkRequirementScopeDetails where(Field<Boolean> condition) {
355        return where(DSL.condition(condition));
356    }
357
358    /**
359     * Create an inline derived table from this table
360     */
361    @Override
362    @PlainSQL
363    public WorkRequirementScopeDetails where(SQL condition) {
364        return where(DSL.condition(condition));
365    }
366
367    /**
368     * Create an inline derived table from this table
369     */
370    @Override
371    @PlainSQL
372    public WorkRequirementScopeDetails where(@Stringly.SQL String condition) {
373        return where(DSL.condition(condition));
374    }
375
376    /**
377     * Create an inline derived table from this table
378     */
379    @Override
380    @PlainSQL
381    public WorkRequirementScopeDetails where(@Stringly.SQL String condition, Object... binds) {
382        return where(DSL.condition(condition, binds));
383    }
384
385    /**
386     * Create an inline derived table from this table
387     */
388    @Override
389    @PlainSQL
390    public WorkRequirementScopeDetails where(@Stringly.SQL String condition, QueryPart... parts) {
391        return where(DSL.condition(condition, parts));
392    }
393
394    /**
395     * Create an inline derived table from this table
396     */
397    @Override
398    public WorkRequirementScopeDetails whereExists(TableLike<?> select) {
399        return where(DSL.exists(select));
400    }
401
402    /**
403     * Create an inline derived table from this table
404     */
405    @Override
406    public WorkRequirementScopeDetails whereNotExists(TableLike<?> select) {
407        return where(DSL.notExists(select));
408    }
409}