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