001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.forum;
005
006
007import com.echothree.model.data.core.common.pk.MimeTypePK;
008import com.echothree.model.data.forum.common.pk.ForumMessagePK;
009import com.echothree.model.data.forum.common.pk.ForumMessagePartDetailPK;
010import com.echothree.model.data.forum.common.pk.ForumMessagePartPK;
011import com.echothree.model.data.forum.common.pk.ForumMessagePartTypePK;
012import com.echothree.model.data.party.common.pk.LanguagePK;
013import com.echothree.model.jooq.server.KeyRegistry;
014import com.echothree.model.jooq.server.tables.core.MimeTypes.MimeTypesPath;
015import com.echothree.model.jooq.server.tables.forum.ForumMessagePartTypes.ForumMessagePartTypesPath;
016import com.echothree.model.jooq.server.tables.forum.ForumMessageParts.ForumMessagePartsPath;
017import com.echothree.model.jooq.server.tables.forum.ForumMessages.ForumMessagesPath;
018import com.echothree.model.jooq.server.tables.party.Languages.LanguagesPath;
019
020import java.util.Arrays;
021import java.util.Collection;
022import java.util.List;
023
024import org.jooq.Condition;
025import org.jooq.Converter;
026import org.jooq.Field;
027import org.jooq.ForeignKey;
028import org.jooq.InverseForeignKey;
029import org.jooq.Name;
030import org.jooq.Path;
031import org.jooq.PlainSQL;
032import org.jooq.QueryPart;
033import org.jooq.Record;
034import org.jooq.SQL;
035import org.jooq.Stringly;
036import org.jooq.Table;
037import org.jooq.TableField;
038import org.jooq.TableLike;
039import org.jooq.TableOptions;
040import org.jooq.UniqueKey;
041import org.jooq.impl.DSL;
042import org.jooq.impl.Internal;
043import org.jooq.impl.SQLDataType;
044import org.jooq.impl.TableImpl;
045
046
047/**
048 * This class is generated by jOOQ.
049 */
050@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
051public class ForumMessagePartDetails extends TableImpl<com.echothree.model.jooq.server.records.forum.ForumMessagePartDetails> {
052
053    private static final long serialVersionUID = 1L;
054
055    /**
056     * The reference instance of <code>forummessagepartdetails</code>
057     */
058    public static final ForumMessagePartDetails ForumMessagePartDetails = new ForumMessagePartDetails();
059
060    /**
061     * The class holding records for this type
062     */
063    @Override
064    public Class<com.echothree.model.jooq.server.records.forum.ForumMessagePartDetails> getRecordType() {
065        return com.echothree.model.jooq.server.records.forum.ForumMessagePartDetails.class;
066    }
067
068    /**
069     * The column
070     * <code>forummessagepartdetails.frmmsgprtdt_forummessagepartdetailid</code>.
071     */
072    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessagePartDetails, ForumMessagePartDetailPK> FORUM_MESSAGE_PART_DETAIL = createField(DSL.name("frmmsgprtdt_forummessagepartdetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ForumMessagePartDetailPK.class, id -> new com.echothree.model.data.forum.common.pk.ForumMessagePartDetailPK(id), primaryKey -> primaryKey.getEntityId()));
073
074    /**
075     * The column
076     * <code>forummessagepartdetails.frmmsgprtdt_frmmsgprt_forummessagepartid</code>.
077     */
078    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessagePartDetails, ForumMessagePartPK> FORUM_MESSAGE_PART = createField(DSL.name("frmmsgprtdt_frmmsgprt_forummessagepartid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ForumMessagePartPK.class, id -> new com.echothree.model.data.forum.common.pk.ForumMessagePartPK(id), primaryKey -> primaryKey.getEntityId()));
079
080    /**
081     * The column
082     * <code>forummessagepartdetails.frmmsgprtdt_frmmsg_forummessageid</code>.
083     */
084    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessagePartDetails, ForumMessagePK> FORUM_MESSAGE = createField(DSL.name("frmmsgprtdt_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()));
085
086    /**
087     * The column
088     * <code>forummessagepartdetails.frmmsgprtdt_frmmsgprttyp_forummessageparttypeid</code>.
089     */
090    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessagePartDetails, ForumMessagePartTypePK> FORUM_MESSAGE_PART_TYPE = createField(DSL.name("frmmsgprtdt_frmmsgprttyp_forummessageparttypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ForumMessagePartTypePK.class, id -> new com.echothree.model.data.forum.common.pk.ForumMessagePartTypePK(id), primaryKey -> primaryKey.getEntityId()));
091
092    /**
093     * The column
094     * <code>forummessagepartdetails.frmmsgprtdt_lang_languageid</code>.
095     */
096    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessagePartDetails, LanguagePK> LANGUAGE = createField(DSL.name("frmmsgprtdt_lang_languageid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, LanguagePK.class, id -> new com.echothree.model.data.party.common.pk.LanguagePK(id), primaryKey -> primaryKey.getEntityId()));
097
098    /**
099     * The column
100     * <code>forummessagepartdetails.frmmsgprtdt_mtyp_mimetypeid</code>.
101     */
102    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessagePartDetails, MimeTypePK> MIME_TYPE = createField(DSL.name("frmmsgprtdt_mtyp_mimetypeid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, MimeTypePK.class, id -> new com.echothree.model.data.core.common.pk.MimeTypePK(id), primaryKey -> primaryKey.getEntityId()));
103
104    /**
105     * The column <code>forummessagepartdetails.frmmsgprtdt_fromtime</code>.
106     */
107    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessagePartDetails, Long> FROM_TIME = createField(DSL.name("frmmsgprtdt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
108
109    /**
110     * The column <code>forummessagepartdetails.frmmsgprtdt_thrutime</code>.
111     */
112    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessagePartDetails, Long> THRU_TIME = createField(DSL.name("frmmsgprtdt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
113
114    private ForumMessagePartDetails(Name alias, Table<com.echothree.model.jooq.server.records.forum.ForumMessagePartDetails> aliased) {
115        this(alias, aliased, (Field<?>[]) null, null);
116    }
117
118    private ForumMessagePartDetails(Name alias, Table<com.echothree.model.jooq.server.records.forum.ForumMessagePartDetails> aliased, Field<?>[] parameters, Condition where) {
119        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
120    }
121
122    /**
123     * Create an aliased <code>forummessagepartdetails</code> table reference
124     */
125    public ForumMessagePartDetails(String alias) {
126        this(DSL.name(alias), ForumMessagePartDetails);
127    }
128
129    /**
130     * Create an aliased <code>forummessagepartdetails</code> table reference
131     */
132    public ForumMessagePartDetails(Name alias) {
133        this(alias, ForumMessagePartDetails);
134    }
135
136    /**
137     * Create a <code>forummessagepartdetails</code> table reference
138     */
139    public ForumMessagePartDetails() {
140        this(DSL.name("forummessagepartdetails"), null);
141    }
142
143    public <O extends Record> ForumMessagePartDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.forum.ForumMessagePartDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.forum.ForumMessagePartDetails> parentPath) {
144        super(path, childPath, parentPath, ForumMessagePartDetails);
145    }
146
147    /**
148     * A subtype implementing {@link Path} for simplified path-based joins.
149     */
150    public static class ForumMessagePartDetailsPath extends ForumMessagePartDetails implements Path<com.echothree.model.jooq.server.records.forum.ForumMessagePartDetails> {
151
152        private static final long serialVersionUID = 1L;
153        public <O extends Record> ForumMessagePartDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.forum.ForumMessagePartDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.forum.ForumMessagePartDetails> parentPath) {
154            super(path, childPath, parentPath);
155        }
156        private ForumMessagePartDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.forum.ForumMessagePartDetails> aliased) {
157            super(alias, aliased);
158        }
159
160        @Override
161        public ForumMessagePartDetailsPath as(String alias) {
162            return new ForumMessagePartDetailsPath(DSL.name(alias), this);
163        }
164
165        @Override
166        public ForumMessagePartDetailsPath as(Name alias) {
167            return new ForumMessagePartDetailsPath(alias, this);
168        }
169
170        @Override
171        public ForumMessagePartDetailsPath as(Table<?> alias) {
172            return new ForumMessagePartDetailsPath(alias.getQualifiedName(), this);
173        }
174    }
175
176    @Override
177    public UniqueKey<com.echothree.model.jooq.server.records.forum.ForumMessagePartDetails> getPrimaryKey() {
178        return KeyRegistry.FORUM_MESSAGE_PART_DETAILS_PK;
179    }
180
181    @Override
182    public List<UniqueKey<com.echothree.model.jooq.server.records.forum.ForumMessagePartDetails>> getUniqueKeys() {
183        return Arrays.asList(KeyRegistry.FORUM_MESSAGE_PART_DETAILS_FORUM_MESSAGE_PART_AND_THRU_TIME_UK, KeyRegistry.FORUM_MESSAGE_PART_DETAILS_FORUM_MESSAGE_AND_FORUM_MESSAGE_PART_TYPE_AND_LANGUAGE_AND_THRU_TIME_UK);
184    }
185
186    @Override
187    public List<ForeignKey<com.echothree.model.jooq.server.records.forum.ForumMessagePartDetails, ?>> getReferences() {
188        return Arrays.asList(KeyRegistry.FORUM_MESSAGE_PART_DETAILS_FORUM_MESSAGE_FK, KeyRegistry.FORUM_MESSAGE_PART_DETAILS_FORUM_MESSAGE_PART_FK, KeyRegistry.FORUM_MESSAGE_PART_DETAILS_FORUM_MESSAGE_PART_TYPE_FK, KeyRegistry.FORUM_MESSAGE_PART_DETAILS_LANGUAGE_FK, KeyRegistry.FORUM_MESSAGE_PART_DETAILS_MIME_TYPE_FK);
189    }
190
191    private transient ForumMessagesPath _frmmsgprtdt_frmmsg_forummessageid_fk;
192
193    /**
194     * Get the implicit join path to the <code>forummessages</code> table.
195     */
196    public ForumMessagesPath frmmsgprtdt_frmmsg_forummessageid_fk() {
197        if (_frmmsgprtdt_frmmsg_forummessageid_fk == null)
198            _frmmsgprtdt_frmmsg_forummessageid_fk = new ForumMessagesPath(this, KeyRegistry.FORUM_MESSAGE_PART_DETAILS_FORUM_MESSAGE_FK, null);
199
200        return _frmmsgprtdt_frmmsg_forummessageid_fk;
201    }
202
203    private transient ForumMessagePartsPath _frmmsgprtdt_frmmsgprt_forummessagepartid_fk;
204
205    /**
206     * Get the implicit join path to the <code>forummessageparts</code> table.
207     */
208    public ForumMessagePartsPath frmmsgprtdt_frmmsgprt_forummessagepartid_fk() {
209        if (_frmmsgprtdt_frmmsgprt_forummessagepartid_fk == null)
210            _frmmsgprtdt_frmmsgprt_forummessagepartid_fk = new ForumMessagePartsPath(this, KeyRegistry.FORUM_MESSAGE_PART_DETAILS_FORUM_MESSAGE_PART_FK, null);
211
212        return _frmmsgprtdt_frmmsgprt_forummessagepartid_fk;
213    }
214
215    private transient ForumMessagePartTypesPath _frmmsgprtdt_frmmsgprttyp_forummessageparttypeid_fk;
216
217    /**
218     * Get the implicit join path to the <code>forummessageparttypes</code>
219     * table.
220     */
221    public ForumMessagePartTypesPath frmmsgprtdt_frmmsgprttyp_forummessageparttypeid_fk() {
222        if (_frmmsgprtdt_frmmsgprttyp_forummessageparttypeid_fk == null)
223            _frmmsgprtdt_frmmsgprttyp_forummessageparttypeid_fk = new ForumMessagePartTypesPath(this, KeyRegistry.FORUM_MESSAGE_PART_DETAILS_FORUM_MESSAGE_PART_TYPE_FK, null);
224
225        return _frmmsgprtdt_frmmsgprttyp_forummessageparttypeid_fk;
226    }
227
228    private transient LanguagesPath _frmmsgprtdt_lang_languageid_fk;
229
230    /**
231     * Get the implicit join path to the <code>languages</code> table.
232     */
233    public LanguagesPath frmmsgprtdt_lang_languageid_fk() {
234        if (_frmmsgprtdt_lang_languageid_fk == null)
235            _frmmsgprtdt_lang_languageid_fk = new LanguagesPath(this, KeyRegistry.FORUM_MESSAGE_PART_DETAILS_LANGUAGE_FK, null);
236
237        return _frmmsgprtdt_lang_languageid_fk;
238    }
239
240    private transient MimeTypesPath _frmmsgprtdt_mtyp_mimetypeid_fk;
241
242    /**
243     * Get the implicit join path to the <code>mimetypes</code> table.
244     */
245    public MimeTypesPath frmmsgprtdt_mtyp_mimetypeid_fk() {
246        if (_frmmsgprtdt_mtyp_mimetypeid_fk == null)
247            _frmmsgprtdt_mtyp_mimetypeid_fk = new MimeTypesPath(this, KeyRegistry.FORUM_MESSAGE_PART_DETAILS_MIME_TYPE_FK, null);
248
249        return _frmmsgprtdt_mtyp_mimetypeid_fk;
250    }
251
252    @Override
253    public ForumMessagePartDetails as(String alias) {
254        return new ForumMessagePartDetails(DSL.name(alias), this);
255    }
256
257    @Override
258    public ForumMessagePartDetails as(Name alias) {
259        return new ForumMessagePartDetails(alias, this);
260    }
261
262    @Override
263    public ForumMessagePartDetails as(Table<?> alias) {
264        return new ForumMessagePartDetails(alias.getQualifiedName(), this);
265    }
266
267    /**
268     * Rename this table
269     */
270    @Override
271    public ForumMessagePartDetails rename(String name) {
272        return new ForumMessagePartDetails(DSL.name(name), null);
273    }
274
275    /**
276     * Rename this table
277     */
278    @Override
279    public ForumMessagePartDetails rename(Name name) {
280        return new ForumMessagePartDetails(name, null);
281    }
282
283    /**
284     * Rename this table
285     */
286    @Override
287    public ForumMessagePartDetails rename(Table<?> name) {
288        return new ForumMessagePartDetails(name.getQualifiedName(), null);
289    }
290
291    /**
292     * Create an inline derived table from this table
293     */
294    @Override
295    public ForumMessagePartDetails where(Condition condition) {
296        return new ForumMessagePartDetails(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
297    }
298
299    /**
300     * Create an inline derived table from this table
301     */
302    @Override
303    public ForumMessagePartDetails where(Collection<? extends Condition> conditions) {
304        return where(DSL.and(conditions));
305    }
306
307    /**
308     * Create an inline derived table from this table
309     */
310    @Override
311    public ForumMessagePartDetails where(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 ForumMessagePartDetails where(Field<Boolean> condition) {
320        return where(DSL.condition(condition));
321    }
322
323    /**
324     * Create an inline derived table from this table
325     */
326    @Override
327    @PlainSQL
328    public ForumMessagePartDetails where(SQL condition) {
329        return where(DSL.condition(condition));
330    }
331
332    /**
333     * Create an inline derived table from this table
334     */
335    @Override
336    @PlainSQL
337    public ForumMessagePartDetails where(@Stringly.SQL String condition) {
338        return where(DSL.condition(condition));
339    }
340
341    /**
342     * Create an inline derived table from this table
343     */
344    @Override
345    @PlainSQL
346    public ForumMessagePartDetails where(@Stringly.SQL String condition, Object... binds) {
347        return where(DSL.condition(condition, binds));
348    }
349
350    /**
351     * Create an inline derived table from this table
352     */
353    @Override
354    @PlainSQL
355    public ForumMessagePartDetails where(@Stringly.SQL String condition, QueryPart... parts) {
356        return where(DSL.condition(condition, parts));
357    }
358
359    /**
360     * Create an inline derived table from this table
361     */
362    @Override
363    public ForumMessagePartDetails whereExists(TableLike<?> select) {
364        return where(DSL.exists(select));
365    }
366
367    /**
368     * Create an inline derived table from this table
369     */
370    @Override
371    public ForumMessagePartDetails whereNotExists(TableLike<?> select) {
372        return where(DSL.notExists(select));
373    }
374}