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.ForumMessageDetailPK;
008import com.echothree.model.data.forum.common.pk.ForumMessagePK;
009import com.echothree.model.data.forum.common.pk.ForumMessageTypePK;
010import com.echothree.model.data.forum.common.pk.ForumThreadPK;
011import com.echothree.model.data.icon.common.pk.IconPK;
012import com.echothree.model.jooq.server.KeyRegistry;
013import com.echothree.model.jooq.server.tables.forum.ForumMessageTypes.ForumMessageTypesPath;
014import com.echothree.model.jooq.server.tables.forum.ForumMessages.ForumMessagesPath;
015import com.echothree.model.jooq.server.tables.forum.ForumThreads.ForumThreadsPath;
016import com.echothree.model.jooq.server.tables.icon.Icons.IconsPath;
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 ForumMessageDetails extends TableImpl<com.echothree.model.jooq.server.records.forum.ForumMessageDetails> {
050
051    private static final long serialVersionUID = 1L;
052
053    /**
054     * The reference instance of <code>forummessagedetails</code>
055     */
056    public static final ForumMessageDetails ForumMessageDetails = new ForumMessageDetails();
057
058    /**
059     * The class holding records for this type
060     */
061    @Override
062    public Class<com.echothree.model.jooq.server.records.forum.ForumMessageDetails> getRecordType() {
063        return com.echothree.model.jooq.server.records.forum.ForumMessageDetails.class;
064    }
065
066    /**
067     * The column
068     * <code>forummessagedetails.frmmsgdt_forummessagedetailid</code>.
069     */
070    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessageDetails, ForumMessageDetailPK> FORUM_MESSAGE_DETAIL = createField(DSL.name("frmmsgdt_forummessagedetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ForumMessageDetailPK.class, id -> new com.echothree.model.data.forum.common.pk.ForumMessageDetailPK(id), primaryKey -> primaryKey.getEntityId()));
071
072    /**
073     * The column
074     * <code>forummessagedetails.frmmsgdt_frmmsg_forummessageid</code>.
075     */
076    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessageDetails, ForumMessagePK> FORUM_MESSAGE = createField(DSL.name("frmmsgdt_frmmsg_forummessageid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ForumMessagePK.class, id -> new com.echothree.model.data.forum.common.pk.ForumMessagePK(id), primaryKey -> primaryKey.getEntityId()));
077
078    /**
079     * The column <code>forummessagedetails.frmmsgdt_forummessagename</code>.
080     */
081    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessageDetails, String> FORUM_MESSAGE_NAME = createField(DSL.name("frmmsgdt_forummessagename"), SQLDataType.VARCHAR(40).nullable(false), this, "");
082
083    /**
084     * The column
085     * <code>forummessagedetails.frmmsgdt_frmthrd_forumthreadid</code>.
086     */
087    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessageDetails, ForumThreadPK> FORUM_THREAD = createField(DSL.name("frmmsgdt_frmthrd_forumthreadid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ForumThreadPK.class, id -> new com.echothree.model.data.forum.common.pk.ForumThreadPK(id), primaryKey -> primaryKey.getEntityId()));
088
089    /**
090     * The column
091     * <code>forummessagedetails.frmmsgdt_frmmsgtyp_forummessagetypeid</code>.
092     */
093    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessageDetails, ForumMessageTypePK> FORUM_MESSAGE_TYPE = createField(DSL.name("frmmsgdt_frmmsgtyp_forummessagetypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ForumMessageTypePK.class, id -> new com.echothree.model.data.forum.common.pk.ForumMessageTypePK(id), primaryKey -> primaryKey.getEntityId()));
094
095    /**
096     * The column
097     * <code>forummessagedetails.frmmsgdt_parentforummessageid</code>.
098     */
099    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessageDetails, ForumMessagePK> PARENT_FORUM_MESSAGE = createField(DSL.name("frmmsgdt_parentforummessageid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, ForumMessagePK.class, id -> new com.echothree.model.data.forum.common.pk.ForumMessagePK(id), primaryKey -> primaryKey.getEntityId()));
100
101    /**
102     * The column <code>forummessagedetails.frmmsgdt_icn_iconid</code>.
103     */
104    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessageDetails, IconPK> ICON = createField(DSL.name("frmmsgdt_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()));
105
106    /**
107     * The column <code>forummessagedetails.frmmsgdt_postedtime</code>.
108     */
109    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessageDetails, Long> POSTED_TIME = createField(DSL.name("frmmsgdt_postedtime"), SQLDataType.BIGINT.nullable(false), this, "");
110
111    /**
112     * The column <code>forummessagedetails.frmmsgdt_fromtime</code>.
113     */
114    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessageDetails, Long> FROM_TIME = createField(DSL.name("frmmsgdt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
115
116    /**
117     * The column <code>forummessagedetails.frmmsgdt_thrutime</code>.
118     */
119    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessageDetails, Long> THRU_TIME = createField(DSL.name("frmmsgdt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
120
121    private ForumMessageDetails(Name alias, Table<com.echothree.model.jooq.server.records.forum.ForumMessageDetails> aliased) {
122        this(alias, aliased, (Field<?>[]) null, null);
123    }
124
125    private ForumMessageDetails(Name alias, Table<com.echothree.model.jooq.server.records.forum.ForumMessageDetails> aliased, Field<?>[] parameters, Condition where) {
126        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
127    }
128
129    /**
130     * Create an aliased <code>forummessagedetails</code> table reference
131     */
132    public ForumMessageDetails(String alias) {
133        this(DSL.name(alias), ForumMessageDetails);
134    }
135
136    /**
137     * Create an aliased <code>forummessagedetails</code> table reference
138     */
139    public ForumMessageDetails(Name alias) {
140        this(alias, ForumMessageDetails);
141    }
142
143    /**
144     * Create a <code>forummessagedetails</code> table reference
145     */
146    public ForumMessageDetails() {
147        this(DSL.name("forummessagedetails"), null);
148    }
149
150    public <O extends Record> ForumMessageDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.forum.ForumMessageDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.forum.ForumMessageDetails> parentPath) {
151        super(path, childPath, parentPath, ForumMessageDetails);
152    }
153
154    /**
155     * A subtype implementing {@link Path} for simplified path-based joins.
156     */
157    public static class ForumMessageDetailsPath extends ForumMessageDetails implements Path<com.echothree.model.jooq.server.records.forum.ForumMessageDetails> {
158
159        private static final long serialVersionUID = 1L;
160        public <O extends Record> ForumMessageDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.forum.ForumMessageDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.forum.ForumMessageDetails> parentPath) {
161            super(path, childPath, parentPath);
162        }
163        private ForumMessageDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.forum.ForumMessageDetails> aliased) {
164            super(alias, aliased);
165        }
166
167        @Override
168        public ForumMessageDetailsPath as(String alias) {
169            return new ForumMessageDetailsPath(DSL.name(alias), this);
170        }
171
172        @Override
173        public ForumMessageDetailsPath as(Name alias) {
174            return new ForumMessageDetailsPath(alias, this);
175        }
176
177        @Override
178        public ForumMessageDetailsPath as(Table<?> alias) {
179            return new ForumMessageDetailsPath(alias.getQualifiedName(), this);
180        }
181    }
182
183    @Override
184    public UniqueKey<com.echothree.model.jooq.server.records.forum.ForumMessageDetails> getPrimaryKey() {
185        return KeyRegistry.FORUM_MESSAGE_DETAILS_PK;
186    }
187
188    @Override
189    public List<UniqueKey<com.echothree.model.jooq.server.records.forum.ForumMessageDetails>> getUniqueKeys() {
190        return Arrays.asList(KeyRegistry.FORUM_MESSAGE_DETAILS_FORUM_MESSAGE_AND_THRU_TIME_UK, KeyRegistry.FORUM_MESSAGE_DETAILS_FORUM_MESSAGE_NAME_AND_THRU_TIME_UK);
191    }
192
193    @Override
194    public List<ForeignKey<com.echothree.model.jooq.server.records.forum.ForumMessageDetails, ?>> getReferences() {
195        return Arrays.asList(KeyRegistry.FORUM_MESSAGE_DETAILS_FORUM_MESSAGE_FK, KeyRegistry.FORUM_MESSAGE_DETAILS_FORUM_MESSAGE_TYPE_FK, KeyRegistry.FORUM_MESSAGE_DETAILS_FORUM_THREAD_FK, KeyRegistry.FORUM_MESSAGE_DETAILS_ICON_FK, KeyRegistry.FORUM_MESSAGE_DETAILS_PARENT_FORUM_MESSAGE_FK);
196    }
197
198    private transient ForumMessagesPath _frmmsgdt_frmmsg_forummessageid_fk;
199
200    /**
201     * Get the implicit join path to the <code>forummessages</code> table, via
202     * the <code>frmmsgdt_frmmsg_forummessageid_fk</code> key.
203     */
204    public ForumMessagesPath frmmsgdt_frmmsg_forummessageid_fk() {
205        if (_frmmsgdt_frmmsg_forummessageid_fk == null)
206            _frmmsgdt_frmmsg_forummessageid_fk = new ForumMessagesPath(this, KeyRegistry.FORUM_MESSAGE_DETAILS_FORUM_MESSAGE_FK, null);
207
208        return _frmmsgdt_frmmsg_forummessageid_fk;
209    }
210
211    private transient ForumMessageTypesPath _frmmsgdt_frmmsgtyp_forummessagetypeid_fk;
212
213    /**
214     * Get the implicit join path to the <code>forummessagetypes</code> table.
215     */
216    public ForumMessageTypesPath frmmsgdt_frmmsgtyp_forummessagetypeid_fk() {
217        if (_frmmsgdt_frmmsgtyp_forummessagetypeid_fk == null)
218            _frmmsgdt_frmmsgtyp_forummessagetypeid_fk = new ForumMessageTypesPath(this, KeyRegistry.FORUM_MESSAGE_DETAILS_FORUM_MESSAGE_TYPE_FK, null);
219
220        return _frmmsgdt_frmmsgtyp_forummessagetypeid_fk;
221    }
222
223    private transient ForumThreadsPath _frmmsgdt_frmthrd_forumthreadid_fk;
224
225    /**
226     * Get the implicit join path to the <code>forumthreads</code> table.
227     */
228    public ForumThreadsPath frmmsgdt_frmthrd_forumthreadid_fk() {
229        if (_frmmsgdt_frmthrd_forumthreadid_fk == null)
230            _frmmsgdt_frmthrd_forumthreadid_fk = new ForumThreadsPath(this, KeyRegistry.FORUM_MESSAGE_DETAILS_FORUM_THREAD_FK, null);
231
232        return _frmmsgdt_frmthrd_forumthreadid_fk;
233    }
234
235    private transient IconsPath _frmmsgdt_icn_iconid_fk;
236
237    /**
238     * Get the implicit join path to the <code>icons</code> table.
239     */
240    public IconsPath frmmsgdt_icn_iconid_fk() {
241        if (_frmmsgdt_icn_iconid_fk == null)
242            _frmmsgdt_icn_iconid_fk = new IconsPath(this, KeyRegistry.FORUM_MESSAGE_DETAILS_ICON_FK, null);
243
244        return _frmmsgdt_icn_iconid_fk;
245    }
246
247    private transient ForumMessagesPath _frmmsgdt_parentforummessageid_fk;
248
249    /**
250     * Get the implicit join path to the <code>forummessages</code> table, via
251     * the <code>frmmsgdt_parentforummessageid_fk</code> key.
252     */
253    public ForumMessagesPath frmmsgdt_parentforummessageid_fk() {
254        if (_frmmsgdt_parentforummessageid_fk == null)
255            _frmmsgdt_parentforummessageid_fk = new ForumMessagesPath(this, KeyRegistry.FORUM_MESSAGE_DETAILS_PARENT_FORUM_MESSAGE_FK, null);
256
257        return _frmmsgdt_parentforummessageid_fk;
258    }
259
260    @Override
261    public ForumMessageDetails as(String alias) {
262        return new ForumMessageDetails(DSL.name(alias), this);
263    }
264
265    @Override
266    public ForumMessageDetails as(Name alias) {
267        return new ForumMessageDetails(alias, this);
268    }
269
270    @Override
271    public ForumMessageDetails as(Table<?> alias) {
272        return new ForumMessageDetails(alias.getQualifiedName(), this);
273    }
274
275    /**
276     * Rename this table
277     */
278    @Override
279    public ForumMessageDetails rename(String name) {
280        return new ForumMessageDetails(DSL.name(name), null);
281    }
282
283    /**
284     * Rename this table
285     */
286    @Override
287    public ForumMessageDetails rename(Name name) {
288        return new ForumMessageDetails(name, null);
289    }
290
291    /**
292     * Rename this table
293     */
294    @Override
295    public ForumMessageDetails rename(Table<?> name) {
296        return new ForumMessageDetails(name.getQualifiedName(), null);
297    }
298
299    /**
300     * Create an inline derived table from this table
301     */
302    @Override
303    public ForumMessageDetails where(Condition condition) {
304        return new ForumMessageDetails(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
305    }
306
307    /**
308     * Create an inline derived table from this table
309     */
310    @Override
311    public ForumMessageDetails where(Collection<? extends Condition> conditions) {
312        return where(DSL.and(conditions));
313    }
314
315    /**
316     * Create an inline derived table from this table
317     */
318    @Override
319    public ForumMessageDetails where(Condition... conditions) {
320        return where(DSL.and(conditions));
321    }
322
323    /**
324     * Create an inline derived table from this table
325     */
326    @Override
327    public ForumMessageDetails where(Field<Boolean> condition) {
328        return where(DSL.condition(condition));
329    }
330
331    /**
332     * Create an inline derived table from this table
333     */
334    @Override
335    @PlainSQL
336    public ForumMessageDetails where(SQL condition) {
337        return where(DSL.condition(condition));
338    }
339
340    /**
341     * Create an inline derived table from this table
342     */
343    @Override
344    @PlainSQL
345    public ForumMessageDetails where(@Stringly.SQL String condition) {
346        return where(DSL.condition(condition));
347    }
348
349    /**
350     * Create an inline derived table from this table
351     */
352    @Override
353    @PlainSQL
354    public ForumMessageDetails where(@Stringly.SQL String condition, Object... binds) {
355        return where(DSL.condition(condition, binds));
356    }
357
358    /**
359     * Create an inline derived table from this table
360     */
361    @Override
362    @PlainSQL
363    public ForumMessageDetails where(@Stringly.SQL String condition, QueryPart... parts) {
364        return where(DSL.condition(condition, parts));
365    }
366
367    /**
368     * Create an inline derived table from this table
369     */
370    @Override
371    public ForumMessageDetails whereExists(TableLike<?> select) {
372        return where(DSL.exists(select));
373    }
374
375    /**
376     * Create an inline derived table from this table
377     */
378    @Override
379    public ForumMessageDetails whereNotExists(TableLike<?> select) {
380        return where(DSL.notExists(select));
381    }
382}