001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.forum;
005
006
007import com.echothree.model.data.forum.common.pk.ForumDetailPK;
008import com.echothree.model.data.forum.common.pk.ForumPK;
009import com.echothree.model.data.forum.common.pk.ForumTypePK;
010import com.echothree.model.data.icon.common.pk.IconPK;
011import com.echothree.model.data.sequence.common.pk.SequencePK;
012import com.echothree.model.jooq.server.KeyRegistry;
013import com.echothree.model.jooq.server.tables.forum.ForumTypes.ForumTypesPath;
014import com.echothree.model.jooq.server.tables.forum.Forums.ForumsPath;
015import com.echothree.model.jooq.server.tables.icon.Icons.IconsPath;
016import com.echothree.model.jooq.server.tables.sequence.Sequences.SequencesPath;
017
018import java.util.Arrays;
019import java.util.Collection;
020import java.util.List;
021
022import org.jooq.Condition;
023import org.jooq.Converter;
024import org.jooq.Field;
025import org.jooq.ForeignKey;
026import org.jooq.InverseForeignKey;
027import org.jooq.Name;
028import org.jooq.Path;
029import org.jooq.PlainSQL;
030import org.jooq.QueryPart;
031import org.jooq.Record;
032import org.jooq.SQL;
033import org.jooq.Stringly;
034import org.jooq.Table;
035import org.jooq.TableField;
036import org.jooq.TableLike;
037import org.jooq.TableOptions;
038import org.jooq.UniqueKey;
039import org.jooq.impl.DSL;
040import org.jooq.impl.Internal;
041import org.jooq.impl.SQLDataType;
042import org.jooq.impl.TableImpl;
043
044
045/**
046 * This class is generated by jOOQ.
047 */
048@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
049public class ForumDetails extends TableImpl<com.echothree.model.jooq.server.records.forum.ForumDetails> {
050
051    private static final long serialVersionUID = 1L;
052
053    /**
054     * The reference instance of <code>forumdetails</code>
055     */
056    public static final ForumDetails ForumDetails = new ForumDetails();
057
058    /**
059     * The class holding records for this type
060     */
061    @Override
062    public Class<com.echothree.model.jooq.server.records.forum.ForumDetails> getRecordType() {
063        return com.echothree.model.jooq.server.records.forum.ForumDetails.class;
064    }
065
066    /**
067     * The column <code>forumdetails.frmdt_forumdetailid</code>.
068     */
069    public final TableField<com.echothree.model.jooq.server.records.forum.ForumDetails, ForumDetailPK> FORUM_DETAIL = createField(DSL.name("frmdt_forumdetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ForumDetailPK.class, id -> new com.echothree.model.data.forum.common.pk.ForumDetailPK(id), primaryKey -> primaryKey.getEntityId()));
070
071    /**
072     * The column <code>forumdetails.frmdt_frm_forumid</code>.
073     */
074    public final TableField<com.echothree.model.jooq.server.records.forum.ForumDetails, ForumPK> FORUM = createField(DSL.name("frmdt_frm_forumid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ForumPK.class, id -> new com.echothree.model.data.forum.common.pk.ForumPK(id), primaryKey -> primaryKey.getEntityId()));
075
076    /**
077     * The column <code>forumdetails.frmdt_forumname</code>.
078     */
079    public final TableField<com.echothree.model.jooq.server.records.forum.ForumDetails, String> FORUM_NAME = createField(DSL.name("frmdt_forumname"), SQLDataType.VARCHAR(40).nullable(false), this, "");
080
081    /**
082     * The column <code>forumdetails.frmdt_frmtyp_forumtypeid</code>.
083     */
084    public final TableField<com.echothree.model.jooq.server.records.forum.ForumDetails, ForumTypePK> FORUM_TYPE = createField(DSL.name("frmdt_frmtyp_forumtypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ForumTypePK.class, id -> new com.echothree.model.data.forum.common.pk.ForumTypePK(id), primaryKey -> primaryKey.getEntityId()));
085
086    /**
087     * The column <code>forumdetails.frmdt_icn_iconid</code>.
088     */
089    public final TableField<com.echothree.model.jooq.server.records.forum.ForumDetails, IconPK> ICON = createField(DSL.name("frmdt_icn_iconid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, IconPK.class, id -> new com.echothree.model.data.icon.common.pk.IconPK(id), primaryKey -> primaryKey.getEntityId()));
090
091    /**
092     * The column <code>forumdetails.frmdt_forumthreadsequenceid</code>.
093     */
094    public final TableField<com.echothree.model.jooq.server.records.forum.ForumDetails, SequencePK> FORUM_THREAD_SEQUENCE = createField(DSL.name("frmdt_forumthreadsequenceid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, SequencePK.class, id -> new com.echothree.model.data.sequence.common.pk.SequencePK(id), primaryKey -> primaryKey.getEntityId()));
095
096    /**
097     * The column <code>forumdetails.frmdt_forummessagesequenceid</code>.
098     */
099    public final TableField<com.echothree.model.jooq.server.records.forum.ForumDetails, SequencePK> FORUM_MESSAGE_SEQUENCE = createField(DSL.name("frmdt_forummessagesequenceid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, SequencePK.class, id -> new com.echothree.model.data.sequence.common.pk.SequencePK(id), primaryKey -> primaryKey.getEntityId()));
100
101    /**
102     * The column <code>forumdetails.frmdt_sortorder</code>.
103     */
104    public final TableField<com.echothree.model.jooq.server.records.forum.ForumDetails, Integer> SORT_ORDER = createField(DSL.name("frmdt_sortorder"), SQLDataType.INTEGER.nullable(false), this, "");
105
106    /**
107     * The column <code>forumdetails.frmdt_fromtime</code>.
108     */
109    public final TableField<com.echothree.model.jooq.server.records.forum.ForumDetails, Long> FROM_TIME = createField(DSL.name("frmdt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
110
111    /**
112     * The column <code>forumdetails.frmdt_thrutime</code>.
113     */
114    public final TableField<com.echothree.model.jooq.server.records.forum.ForumDetails, Long> THRU_TIME = createField(DSL.name("frmdt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
115
116    private ForumDetails(Name alias, Table<com.echothree.model.jooq.server.records.forum.ForumDetails> aliased) {
117        this(alias, aliased, (Field<?>[]) null, null);
118    }
119
120    private ForumDetails(Name alias, Table<com.echothree.model.jooq.server.records.forum.ForumDetails> aliased, Field<?>[] parameters, Condition where) {
121        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
122    }
123
124    /**
125     * Create an aliased <code>forumdetails</code> table reference
126     */
127    public ForumDetails(String alias) {
128        this(DSL.name(alias), ForumDetails);
129    }
130
131    /**
132     * Create an aliased <code>forumdetails</code> table reference
133     */
134    public ForumDetails(Name alias) {
135        this(alias, ForumDetails);
136    }
137
138    /**
139     * Create a <code>forumdetails</code> table reference
140     */
141    public ForumDetails() {
142        this(DSL.name("forumdetails"), null);
143    }
144
145    public <O extends Record> ForumDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.forum.ForumDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.forum.ForumDetails> parentPath) {
146        super(path, childPath, parentPath, ForumDetails);
147    }
148
149    /**
150     * A subtype implementing {@link Path} for simplified path-based joins.
151     */
152    public static class ForumDetailsPath extends ForumDetails implements Path<com.echothree.model.jooq.server.records.forum.ForumDetails> {
153
154        private static final long serialVersionUID = 1L;
155        public <O extends Record> ForumDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.forum.ForumDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.forum.ForumDetails> parentPath) {
156            super(path, childPath, parentPath);
157        }
158        private ForumDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.forum.ForumDetails> aliased) {
159            super(alias, aliased);
160        }
161
162        @Override
163        public ForumDetailsPath as(String alias) {
164            return new ForumDetailsPath(DSL.name(alias), this);
165        }
166
167        @Override
168        public ForumDetailsPath as(Name alias) {
169            return new ForumDetailsPath(alias, this);
170        }
171
172        @Override
173        public ForumDetailsPath as(Table<?> alias) {
174            return new ForumDetailsPath(alias.getQualifiedName(), this);
175        }
176    }
177
178    @Override
179    public UniqueKey<com.echothree.model.jooq.server.records.forum.ForumDetails> getPrimaryKey() {
180        return KeyRegistry.FORUM_DETAILS_PK;
181    }
182
183    @Override
184    public List<UniqueKey<com.echothree.model.jooq.server.records.forum.ForumDetails>> getUniqueKeys() {
185        return Arrays.asList(KeyRegistry.FORUM_DETAILS_FORUM_AND_THRU_TIME_UK, KeyRegistry.FORUM_DETAILS_FORUM_NAME_AND_THRU_TIME_UK);
186    }
187
188    @Override
189    public List<ForeignKey<com.echothree.model.jooq.server.records.forum.ForumDetails, ?>> getReferences() {
190        return Arrays.asList(KeyRegistry.FORUM_DETAILS_FORUM_MESSAGE_SEQUENCE_FK, KeyRegistry.FORUM_DETAILS_FORUM_THREAD_SEQUENCE_FK, KeyRegistry.FORUM_DETAILS_FORUM_FK, KeyRegistry.FORUM_DETAILS_FORUM_TYPE_FK, KeyRegistry.FORUM_DETAILS_ICON_FK);
191    }
192
193    private transient SequencesPath _frmdt_forummessagesequenceid_fk;
194
195    /**
196     * Get the implicit join path to the <code>sequences</code> table, via the
197     * <code>frmdt_forummessagesequenceid_fk</code> key.
198     */
199    public SequencesPath frmdt_forummessagesequenceid_fk() {
200        if (_frmdt_forummessagesequenceid_fk == null)
201            _frmdt_forummessagesequenceid_fk = new SequencesPath(this, KeyRegistry.FORUM_DETAILS_FORUM_MESSAGE_SEQUENCE_FK, null);
202
203        return _frmdt_forummessagesequenceid_fk;
204    }
205
206    private transient SequencesPath _frmdt_forumthreadsequenceid_fk;
207
208    /**
209     * Get the implicit join path to the <code>sequences</code> table, via the
210     * <code>frmdt_forumthreadsequenceid_fk</code> key.
211     */
212    public SequencesPath frmdt_forumthreadsequenceid_fk() {
213        if (_frmdt_forumthreadsequenceid_fk == null)
214            _frmdt_forumthreadsequenceid_fk = new SequencesPath(this, KeyRegistry.FORUM_DETAILS_FORUM_THREAD_SEQUENCE_FK, null);
215
216        return _frmdt_forumthreadsequenceid_fk;
217    }
218
219    private transient ForumsPath _frmdt_frm_forumid_fk;
220
221    /**
222     * Get the implicit join path to the <code>forums</code> table.
223     */
224    public ForumsPath frmdt_frm_forumid_fk() {
225        if (_frmdt_frm_forumid_fk == null)
226            _frmdt_frm_forumid_fk = new ForumsPath(this, KeyRegistry.FORUM_DETAILS_FORUM_FK, null);
227
228        return _frmdt_frm_forumid_fk;
229    }
230
231    private transient ForumTypesPath _frmdt_frmtyp_forumtypeid_fk;
232
233    /**
234     * Get the implicit join path to the <code>forumtypes</code> table.
235     */
236    public ForumTypesPath frmdt_frmtyp_forumtypeid_fk() {
237        if (_frmdt_frmtyp_forumtypeid_fk == null)
238            _frmdt_frmtyp_forumtypeid_fk = new ForumTypesPath(this, KeyRegistry.FORUM_DETAILS_FORUM_TYPE_FK, null);
239
240        return _frmdt_frmtyp_forumtypeid_fk;
241    }
242
243    private transient IconsPath _frmdt_icn_iconid_fk;
244
245    /**
246     * Get the implicit join path to the <code>icons</code> table.
247     */
248    public IconsPath frmdt_icn_iconid_fk() {
249        if (_frmdt_icn_iconid_fk == null)
250            _frmdt_icn_iconid_fk = new IconsPath(this, KeyRegistry.FORUM_DETAILS_ICON_FK, null);
251
252        return _frmdt_icn_iconid_fk;
253    }
254
255    @Override
256    public ForumDetails as(String alias) {
257        return new ForumDetails(DSL.name(alias), this);
258    }
259
260    @Override
261    public ForumDetails as(Name alias) {
262        return new ForumDetails(alias, this);
263    }
264
265    @Override
266    public ForumDetails as(Table<?> alias) {
267        return new ForumDetails(alias.getQualifiedName(), this);
268    }
269
270    /**
271     * Rename this table
272     */
273    @Override
274    public ForumDetails rename(String name) {
275        return new ForumDetails(DSL.name(name), null);
276    }
277
278    /**
279     * Rename this table
280     */
281    @Override
282    public ForumDetails rename(Name name) {
283        return new ForumDetails(name, null);
284    }
285
286    /**
287     * Rename this table
288     */
289    @Override
290    public ForumDetails rename(Table<?> name) {
291        return new ForumDetails(name.getQualifiedName(), null);
292    }
293
294    /**
295     * Create an inline derived table from this table
296     */
297    @Override
298    public ForumDetails where(Condition condition) {
299        return new ForumDetails(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
300    }
301
302    /**
303     * Create an inline derived table from this table
304     */
305    @Override
306    public ForumDetails where(Collection<? extends Condition> conditions) {
307        return where(DSL.and(conditions));
308    }
309
310    /**
311     * Create an inline derived table from this table
312     */
313    @Override
314    public ForumDetails where(Condition... conditions) {
315        return where(DSL.and(conditions));
316    }
317
318    /**
319     * Create an inline derived table from this table
320     */
321    @Override
322    public ForumDetails where(Field<Boolean> condition) {
323        return where(DSL.condition(condition));
324    }
325
326    /**
327     * Create an inline derived table from this table
328     */
329    @Override
330    @PlainSQL
331    public ForumDetails where(SQL condition) {
332        return where(DSL.condition(condition));
333    }
334
335    /**
336     * Create an inline derived table from this table
337     */
338    @Override
339    @PlainSQL
340    public ForumDetails where(@Stringly.SQL String condition) {
341        return where(DSL.condition(condition));
342    }
343
344    /**
345     * Create an inline derived table from this table
346     */
347    @Override
348    @PlainSQL
349    public ForumDetails where(@Stringly.SQL String condition, Object... binds) {
350        return where(DSL.condition(condition, binds));
351    }
352
353    /**
354     * Create an inline derived table from this table
355     */
356    @Override
357    @PlainSQL
358    public ForumDetails where(@Stringly.SQL String condition, QueryPart... parts) {
359        return where(DSL.condition(condition, parts));
360    }
361
362    /**
363     * Create an inline derived table from this table
364     */
365    @Override
366    public ForumDetails whereExists(TableLike<?> select) {
367        return where(DSL.exists(select));
368    }
369
370    /**
371     * Create an inline derived table from this table
372     */
373    @Override
374    public ForumDetails whereNotExists(TableLike<?> select) {
375        return where(DSL.notExists(select));
376    }
377}