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