001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.workrequirement;
005
006
007import com.echothree.model.data.party.common.pk.PartyPK;
008import com.echothree.model.data.workrequirement.common.pk.WorkRequirementPK;
009import com.echothree.model.data.workrequirement.common.pk.WorkTimeDetailPK;
010import com.echothree.model.data.workrequirement.common.pk.WorkTimePK;
011import com.echothree.model.jooq.server.KeyRegistry;
012import com.echothree.model.jooq.server.tables.party.Parties.PartiesPath;
013import com.echothree.model.jooq.server.tables.workrequirement.WorkRequirements.WorkRequirementsPath;
014import com.echothree.model.jooq.server.tables.workrequirement.WorkTimes.WorkTimesPath;
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 WorkTimeDetails extends TableImpl<com.echothree.model.jooq.server.records.workrequirement.WorkTimeDetails> {
048
049    private static final long serialVersionUID = 1L;
050
051    /**
052     * The reference instance of <code>worktimedetails</code>
053     */
054    public static final WorkTimeDetails WorkTimeDetails = new WorkTimeDetails();
055
056    /**
057     * The class holding records for this type
058     */
059    @Override
060    public Class<com.echothree.model.jooq.server.records.workrequirement.WorkTimeDetails> getRecordType() {
061        return com.echothree.model.jooq.server.records.workrequirement.WorkTimeDetails.class;
062    }
063
064    /**
065     * The column <code>worktimedetails.wtmdt_worktimedetailid</code>.
066     */
067    public final TableField<com.echothree.model.jooq.server.records.workrequirement.WorkTimeDetails, WorkTimeDetailPK> WORK_TIME_DETAIL = createField(DSL.name("wtmdt_worktimedetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, WorkTimeDetailPK.class, id -> new com.echothree.model.data.workrequirement.common.pk.WorkTimeDetailPK(id), primaryKey -> primaryKey.getEntityId()));
068
069    /**
070     * The column <code>worktimedetails.wtmdt_wtm_worktimeid</code>.
071     */
072    public final TableField<com.echothree.model.jooq.server.records.workrequirement.WorkTimeDetails, WorkTimePK> WORK_TIME = createField(DSL.name("wtmdt_wtm_worktimeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, WorkTimePK.class, id -> new com.echothree.model.data.workrequirement.common.pk.WorkTimePK(id), primaryKey -> primaryKey.getEntityId()));
073
074    /**
075     * The column <code>worktimedetails.wtmdt_wr_workrequirementid</code>.
076     */
077    public final TableField<com.echothree.model.jooq.server.records.workrequirement.WorkTimeDetails, WorkRequirementPK> WORK_REQUIREMENT = createField(DSL.name("wtmdt_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()));
078
079    /**
080     * The column <code>worktimedetails.wtmdt_worktimesequence</code>.
081     */
082    public final TableField<com.echothree.model.jooq.server.records.workrequirement.WorkTimeDetails, Integer> WORK_TIME_SEQUENCE = createField(DSL.name("wtmdt_worktimesequence"), SQLDataType.INTEGER.nullable(false), this, "");
083
084    /**
085     * The column <code>worktimedetails.wtmdt_par_partyid</code>.
086     */
087    public final TableField<com.echothree.model.jooq.server.records.workrequirement.WorkTimeDetails, PartyPK> PARTY = createField(DSL.name("wtmdt_par_partyid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, PartyPK.class, id -> new com.echothree.model.data.party.common.pk.PartyPK(id), primaryKey -> primaryKey.getEntityId()));
088
089    /**
090     * The column <code>worktimedetails.wtmdt_starttime</code>.
091     */
092    public final TableField<com.echothree.model.jooq.server.records.workrequirement.WorkTimeDetails, Long> START_TIME = createField(DSL.name("wtmdt_starttime"), SQLDataType.BIGINT.nullable(false), this, "");
093
094    /**
095     * The column <code>worktimedetails.wtmdt_endtime</code>.
096     */
097    public final TableField<com.echothree.model.jooq.server.records.workrequirement.WorkTimeDetails, Long> END_TIME = createField(DSL.name("wtmdt_endtime"), SQLDataType.BIGINT, this, "");
098
099    /**
100     * The column <code>worktimedetails.wtmdt_fromtime</code>.
101     */
102    public final TableField<com.echothree.model.jooq.server.records.workrequirement.WorkTimeDetails, Long> FROM_TIME = createField(DSL.name("wtmdt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
103
104    /**
105     * The column <code>worktimedetails.wtmdt_thrutime</code>.
106     */
107    public final TableField<com.echothree.model.jooq.server.records.workrequirement.WorkTimeDetails, Long> THRU_TIME = createField(DSL.name("wtmdt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
108
109    private WorkTimeDetails(Name alias, Table<com.echothree.model.jooq.server.records.workrequirement.WorkTimeDetails> aliased) {
110        this(alias, aliased, (Field<?>[]) null, null);
111    }
112
113    private WorkTimeDetails(Name alias, Table<com.echothree.model.jooq.server.records.workrequirement.WorkTimeDetails> aliased, Field<?>[] parameters, Condition where) {
114        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
115    }
116
117    /**
118     * Create an aliased <code>worktimedetails</code> table reference
119     */
120    public WorkTimeDetails(String alias) {
121        this(DSL.name(alias), WorkTimeDetails);
122    }
123
124    /**
125     * Create an aliased <code>worktimedetails</code> table reference
126     */
127    public WorkTimeDetails(Name alias) {
128        this(alias, WorkTimeDetails);
129    }
130
131    /**
132     * Create a <code>worktimedetails</code> table reference
133     */
134    public WorkTimeDetails() {
135        this(DSL.name("worktimedetails"), null);
136    }
137
138    public <O extends Record> WorkTimeDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.workrequirement.WorkTimeDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.workrequirement.WorkTimeDetails> parentPath) {
139        super(path, childPath, parentPath, WorkTimeDetails);
140    }
141
142    /**
143     * A subtype implementing {@link Path} for simplified path-based joins.
144     */
145    public static class WorkTimeDetailsPath extends WorkTimeDetails implements Path<com.echothree.model.jooq.server.records.workrequirement.WorkTimeDetails> {
146
147        private static final long serialVersionUID = 1L;
148        public <O extends Record> WorkTimeDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.workrequirement.WorkTimeDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.workrequirement.WorkTimeDetails> parentPath) {
149            super(path, childPath, parentPath);
150        }
151        private WorkTimeDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.workrequirement.WorkTimeDetails> aliased) {
152            super(alias, aliased);
153        }
154
155        @Override
156        public WorkTimeDetailsPath as(String alias) {
157            return new WorkTimeDetailsPath(DSL.name(alias), this);
158        }
159
160        @Override
161        public WorkTimeDetailsPath as(Name alias) {
162            return new WorkTimeDetailsPath(alias, this);
163        }
164
165        @Override
166        public WorkTimeDetailsPath as(Table<?> alias) {
167            return new WorkTimeDetailsPath(alias.getQualifiedName(), this);
168        }
169    }
170
171    @Override
172    public UniqueKey<com.echothree.model.jooq.server.records.workrequirement.WorkTimeDetails> getPrimaryKey() {
173        return KeyRegistry.WORK_TIME_DETAILS_PK;
174    }
175
176    @Override
177    public List<UniqueKey<com.echothree.model.jooq.server.records.workrequirement.WorkTimeDetails>> getUniqueKeys() {
178        return Arrays.asList(KeyRegistry.WORK_TIME_DETAILS_WORK_TIME_AND_THRU_TIME_UK, KeyRegistry.WORK_TIME_DETAILS_WORK_REQUIREMENT_AND_WORK_TIME_SEQUENCE_AND_THRU_TIME_UK);
179    }
180
181    @Override
182    public List<ForeignKey<com.echothree.model.jooq.server.records.workrequirement.WorkTimeDetails, ?>> getReferences() {
183        return Arrays.asList(KeyRegistry.WORK_TIME_DETAILS_PARTY_FK, KeyRegistry.WORK_TIME_DETAILS_WORK_REQUIREMENT_FK, KeyRegistry.WORK_TIME_DETAILS_WORK_TIME_FK);
184    }
185
186    private transient PartiesPath _wtmdt_par_partyid_fk;
187
188    /**
189     * Get the implicit join path to the <code>parties</code> table.
190     */
191    public PartiesPath wtmdt_par_partyid_fk() {
192        if (_wtmdt_par_partyid_fk == null)
193            _wtmdt_par_partyid_fk = new PartiesPath(this, KeyRegistry.WORK_TIME_DETAILS_PARTY_FK, null);
194
195        return _wtmdt_par_partyid_fk;
196    }
197
198    private transient WorkRequirementsPath _wtmdt_wr_workrequirementid_fk;
199
200    /**
201     * Get the implicit join path to the <code>workrequirements</code> table.
202     */
203    public WorkRequirementsPath wtmdt_wr_workrequirementid_fk() {
204        if (_wtmdt_wr_workrequirementid_fk == null)
205            _wtmdt_wr_workrequirementid_fk = new WorkRequirementsPath(this, KeyRegistry.WORK_TIME_DETAILS_WORK_REQUIREMENT_FK, null);
206
207        return _wtmdt_wr_workrequirementid_fk;
208    }
209
210    private transient WorkTimesPath _wtmdt_wtm_worktimeid_fk;
211
212    /**
213     * Get the implicit join path to the <code>worktimes</code> table.
214     */
215    public WorkTimesPath wtmdt_wtm_worktimeid_fk() {
216        if (_wtmdt_wtm_worktimeid_fk == null)
217            _wtmdt_wtm_worktimeid_fk = new WorkTimesPath(this, KeyRegistry.WORK_TIME_DETAILS_WORK_TIME_FK, null);
218
219        return _wtmdt_wtm_worktimeid_fk;
220    }
221
222    @Override
223    public WorkTimeDetails as(String alias) {
224        return new WorkTimeDetails(DSL.name(alias), this);
225    }
226
227    @Override
228    public WorkTimeDetails as(Name alias) {
229        return new WorkTimeDetails(alias, this);
230    }
231
232    @Override
233    public WorkTimeDetails as(Table<?> alias) {
234        return new WorkTimeDetails(alias.getQualifiedName(), this);
235    }
236
237    /**
238     * Rename this table
239     */
240    @Override
241    public WorkTimeDetails rename(String name) {
242        return new WorkTimeDetails(DSL.name(name), null);
243    }
244
245    /**
246     * Rename this table
247     */
248    @Override
249    public WorkTimeDetails rename(Name name) {
250        return new WorkTimeDetails(name, null);
251    }
252
253    /**
254     * Rename this table
255     */
256    @Override
257    public WorkTimeDetails rename(Table<?> name) {
258        return new WorkTimeDetails(name.getQualifiedName(), null);
259    }
260
261    /**
262     * Create an inline derived table from this table
263     */
264    @Override
265    public WorkTimeDetails where(Condition condition) {
266        return new WorkTimeDetails(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
267    }
268
269    /**
270     * Create an inline derived table from this table
271     */
272    @Override
273    public WorkTimeDetails where(Collection<? extends Condition> conditions) {
274        return where(DSL.and(conditions));
275    }
276
277    /**
278     * Create an inline derived table from this table
279     */
280    @Override
281    public WorkTimeDetails where(Condition... conditions) {
282        return where(DSL.and(conditions));
283    }
284
285    /**
286     * Create an inline derived table from this table
287     */
288    @Override
289    public WorkTimeDetails where(Field<Boolean> condition) {
290        return where(DSL.condition(condition));
291    }
292
293    /**
294     * Create an inline derived table from this table
295     */
296    @Override
297    @PlainSQL
298    public WorkTimeDetails where(SQL condition) {
299        return where(DSL.condition(condition));
300    }
301
302    /**
303     * Create an inline derived table from this table
304     */
305    @Override
306    @PlainSQL
307    public WorkTimeDetails where(@Stringly.SQL String condition) {
308        return where(DSL.condition(condition));
309    }
310
311    /**
312     * Create an inline derived table from this table
313     */
314    @Override
315    @PlainSQL
316    public WorkTimeDetails where(@Stringly.SQL String condition, Object... binds) {
317        return where(DSL.condition(condition, binds));
318    }
319
320    /**
321     * Create an inline derived table from this table
322     */
323    @Override
324    @PlainSQL
325    public WorkTimeDetails where(@Stringly.SQL String condition, QueryPart... parts) {
326        return where(DSL.condition(condition, parts));
327    }
328
329    /**
330     * Create an inline derived table from this table
331     */
332    @Override
333    public WorkTimeDetails whereExists(TableLike<?> select) {
334        return where(DSL.exists(select));
335    }
336
337    /**
338     * Create an inline derived table from this table
339     */
340    @Override
341    public WorkTimeDetails whereNotExists(TableLike<?> select) {
342        return where(DSL.notExists(select));
343    }
344}