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.ForumMessageAttachmentDetailPK;
009import com.echothree.model.data.forum.common.pk.ForumMessageAttachmentPK;
010import com.echothree.model.data.forum.common.pk.ForumMessagePK;
011import com.echothree.model.jooq.server.KeyRegistry;
012import com.echothree.model.jooq.server.tables.core.MimeTypes.MimeTypesPath;
013import com.echothree.model.jooq.server.tables.forum.ForumMessageAttachments.ForumMessageAttachmentsPath;
014import com.echothree.model.jooq.server.tables.forum.ForumMessages.ForumMessagesPath;
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 ForumMessageAttachmentDetails extends TableImpl<com.echothree.model.jooq.server.records.forum.ForumMessageAttachmentDetails> {
048
049    private static final long serialVersionUID = 1L;
050
051    /**
052     * The reference instance of <code>forummessageattachmentdetails</code>
053     */
054    public static final ForumMessageAttachmentDetails ForumMessageAttachmentDetails = new ForumMessageAttachmentDetails();
055
056    /**
057     * The class holding records for this type
058     */
059    @Override
060    public Class<com.echothree.model.jooq.server.records.forum.ForumMessageAttachmentDetails> getRecordType() {
061        return com.echothree.model.jooq.server.records.forum.ForumMessageAttachmentDetails.class;
062    }
063
064    /**
065     * The column
066     * <code>forummessageattachmentdetails.frmmsgattdt_forummessageattachmentdetailid</code>.
067     */
068    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessageAttachmentDetails, ForumMessageAttachmentDetailPK> FORUM_MESSAGE_ATTACHMENT_DETAIL = createField(DSL.name("frmmsgattdt_forummessageattachmentdetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ForumMessageAttachmentDetailPK.class, id -> new com.echothree.model.data.forum.common.pk.ForumMessageAttachmentDetailPK(id), primaryKey -> primaryKey.getEntityId()));
069
070    /**
071     * The column
072     * <code>forummessageattachmentdetails.frmmsgattdt_frmmsgatt_forummessageattachmentid</code>.
073     */
074    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessageAttachmentDetails, ForumMessageAttachmentPK> FORUM_MESSAGE_ATTACHMENT = createField(DSL.name("frmmsgattdt_frmmsgatt_forummessageattachmentid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ForumMessageAttachmentPK.class, id -> new com.echothree.model.data.forum.common.pk.ForumMessageAttachmentPK(id), primaryKey -> primaryKey.getEntityId()));
075
076    /**
077     * The column
078     * <code>forummessageattachmentdetails.frmmsgattdt_frmmsg_forummessageid</code>.
079     */
080    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessageAttachmentDetails, ForumMessagePK> FORUM_MESSAGE = createField(DSL.name("frmmsgattdt_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()));
081
082    /**
083     * The column
084     * <code>forummessageattachmentdetails.frmmsgattdt_forummessageattachmentsequence</code>.
085     */
086    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessageAttachmentDetails, Integer> FORUM_MESSAGE_ATTACHMENT_SEQUENCE = createField(DSL.name("frmmsgattdt_forummessageattachmentsequence"), SQLDataType.INTEGER.nullable(false), this, "");
087
088    /**
089     * The column
090     * <code>forummessageattachmentdetails.frmmsgattdt_mtyp_mimetypeid</code>.
091     */
092    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessageAttachmentDetails, MimeTypePK> MIME_TYPE = createField(DSL.name("frmmsgattdt_mtyp_mimetypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, MimeTypePK.class, id -> new com.echothree.model.data.core.common.pk.MimeTypePK(id), primaryKey -> primaryKey.getEntityId()));
093
094    /**
095     * The column
096     * <code>forummessageattachmentdetails.frmmsgattdt_fromtime</code>.
097     */
098    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessageAttachmentDetails, Long> FROM_TIME = createField(DSL.name("frmmsgattdt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
099
100    /**
101     * The column
102     * <code>forummessageattachmentdetails.frmmsgattdt_thrutime</code>.
103     */
104    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessageAttachmentDetails, Long> THRU_TIME = createField(DSL.name("frmmsgattdt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
105
106    private ForumMessageAttachmentDetails(Name alias, Table<com.echothree.model.jooq.server.records.forum.ForumMessageAttachmentDetails> aliased) {
107        this(alias, aliased, (Field<?>[]) null, null);
108    }
109
110    private ForumMessageAttachmentDetails(Name alias, Table<com.echothree.model.jooq.server.records.forum.ForumMessageAttachmentDetails> aliased, Field<?>[] parameters, Condition where) {
111        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
112    }
113
114    /**
115     * Create an aliased <code>forummessageattachmentdetails</code> table
116     * reference
117     */
118    public ForumMessageAttachmentDetails(String alias) {
119        this(DSL.name(alias), ForumMessageAttachmentDetails);
120    }
121
122    /**
123     * Create an aliased <code>forummessageattachmentdetails</code> table
124     * reference
125     */
126    public ForumMessageAttachmentDetails(Name alias) {
127        this(alias, ForumMessageAttachmentDetails);
128    }
129
130    /**
131     * Create a <code>forummessageattachmentdetails</code> table reference
132     */
133    public ForumMessageAttachmentDetails() {
134        this(DSL.name("forummessageattachmentdetails"), null);
135    }
136
137    public <O extends Record> ForumMessageAttachmentDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.forum.ForumMessageAttachmentDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.forum.ForumMessageAttachmentDetails> parentPath) {
138        super(path, childPath, parentPath, ForumMessageAttachmentDetails);
139    }
140
141    /**
142     * A subtype implementing {@link Path} for simplified path-based joins.
143     */
144    public static class ForumMessageAttachmentDetailsPath extends ForumMessageAttachmentDetails implements Path<com.echothree.model.jooq.server.records.forum.ForumMessageAttachmentDetails> {
145
146        private static final long serialVersionUID = 1L;
147        public <O extends Record> ForumMessageAttachmentDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.forum.ForumMessageAttachmentDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.forum.ForumMessageAttachmentDetails> parentPath) {
148            super(path, childPath, parentPath);
149        }
150        private ForumMessageAttachmentDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.forum.ForumMessageAttachmentDetails> aliased) {
151            super(alias, aliased);
152        }
153
154        @Override
155        public ForumMessageAttachmentDetailsPath as(String alias) {
156            return new ForumMessageAttachmentDetailsPath(DSL.name(alias), this);
157        }
158
159        @Override
160        public ForumMessageAttachmentDetailsPath as(Name alias) {
161            return new ForumMessageAttachmentDetailsPath(alias, this);
162        }
163
164        @Override
165        public ForumMessageAttachmentDetailsPath as(Table<?> alias) {
166            return new ForumMessageAttachmentDetailsPath(alias.getQualifiedName(), this);
167        }
168    }
169
170    @Override
171    public UniqueKey<com.echothree.model.jooq.server.records.forum.ForumMessageAttachmentDetails> getPrimaryKey() {
172        return KeyRegistry.FORUM_MESSAGE_ATTACHMENT_DETAILS_PK;
173    }
174
175    @Override
176    public List<UniqueKey<com.echothree.model.jooq.server.records.forum.ForumMessageAttachmentDetails>> getUniqueKeys() {
177        return Arrays.asList(KeyRegistry.FORUM_MESSAGE_ATTACHMENT_DETAILS_FORUM_MESSAGE_ATTACHMENT_AND_THRU_TIME_UK, KeyRegistry.FORUM_MESSAGE_ATTACHMENT_DETAILS_FORUM_MESSAGE_AND_FORUM_MESSAGE_ATTACHMENT_SEQUENCE_AND_THRU_TIME_UK);
178    }
179
180    @Override
181    public List<ForeignKey<com.echothree.model.jooq.server.records.forum.ForumMessageAttachmentDetails, ?>> getReferences() {
182        return Arrays.asList(KeyRegistry.FORUM_MESSAGE_ATTACHMENT_DETAILS_FORUM_MESSAGE_FK, KeyRegistry.FORUM_MESSAGE_ATTACHMENT_DETAILS_FORUM_MESSAGE_ATTACHMENT_FK, KeyRegistry.FORUM_MESSAGE_ATTACHMENT_DETAILS_MIME_TYPE_FK);
183    }
184
185    private transient ForumMessagesPath _frmmsgattdt_frmmsg_forummessageid_fk;
186
187    /**
188     * Get the implicit join path to the <code>forummessages</code> table.
189     */
190    public ForumMessagesPath frmmsgattdt_frmmsg_forummessageid_fk() {
191        if (_frmmsgattdt_frmmsg_forummessageid_fk == null)
192            _frmmsgattdt_frmmsg_forummessageid_fk = new ForumMessagesPath(this, KeyRegistry.FORUM_MESSAGE_ATTACHMENT_DETAILS_FORUM_MESSAGE_FK, null);
193
194        return _frmmsgattdt_frmmsg_forummessageid_fk;
195    }
196
197    private transient ForumMessageAttachmentsPath _frmmsgattdt_frmmsgatt_forummessageattachmentid_fk;
198
199    /**
200     * Get the implicit join path to the <code>forummessageattachments</code>
201     * table.
202     */
203    public ForumMessageAttachmentsPath frmmsgattdt_frmmsgatt_forummessageattachmentid_fk() {
204        if (_frmmsgattdt_frmmsgatt_forummessageattachmentid_fk == null)
205            _frmmsgattdt_frmmsgatt_forummessageattachmentid_fk = new ForumMessageAttachmentsPath(this, KeyRegistry.FORUM_MESSAGE_ATTACHMENT_DETAILS_FORUM_MESSAGE_ATTACHMENT_FK, null);
206
207        return _frmmsgattdt_frmmsgatt_forummessageattachmentid_fk;
208    }
209
210    private transient MimeTypesPath _frmmsgattdt_mtyp_mimetypeid_fk;
211
212    /**
213     * Get the implicit join path to the <code>mimetypes</code> table.
214     */
215    public MimeTypesPath frmmsgattdt_mtyp_mimetypeid_fk() {
216        if (_frmmsgattdt_mtyp_mimetypeid_fk == null)
217            _frmmsgattdt_mtyp_mimetypeid_fk = new MimeTypesPath(this, KeyRegistry.FORUM_MESSAGE_ATTACHMENT_DETAILS_MIME_TYPE_FK, null);
218
219        return _frmmsgattdt_mtyp_mimetypeid_fk;
220    }
221
222    @Override
223    public ForumMessageAttachmentDetails as(String alias) {
224        return new ForumMessageAttachmentDetails(DSL.name(alias), this);
225    }
226
227    @Override
228    public ForumMessageAttachmentDetails as(Name alias) {
229        return new ForumMessageAttachmentDetails(alias, this);
230    }
231
232    @Override
233    public ForumMessageAttachmentDetails as(Table<?> alias) {
234        return new ForumMessageAttachmentDetails(alias.getQualifiedName(), this);
235    }
236
237    /**
238     * Rename this table
239     */
240    @Override
241    public ForumMessageAttachmentDetails rename(String name) {
242        return new ForumMessageAttachmentDetails(DSL.name(name), null);
243    }
244
245    /**
246     * Rename this table
247     */
248    @Override
249    public ForumMessageAttachmentDetails rename(Name name) {
250        return new ForumMessageAttachmentDetails(name, null);
251    }
252
253    /**
254     * Rename this table
255     */
256    @Override
257    public ForumMessageAttachmentDetails rename(Table<?> name) {
258        return new ForumMessageAttachmentDetails(name.getQualifiedName(), null);
259    }
260
261    /**
262     * Create an inline derived table from this table
263     */
264    @Override
265    public ForumMessageAttachmentDetails where(Condition condition) {
266        return new ForumMessageAttachmentDetails(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
267    }
268
269    /**
270     * Create an inline derived table from this table
271     */
272    @Override
273    public ForumMessageAttachmentDetails where(Collection<? extends Condition> conditions) {
274        return where(DSL.and(conditions));
275    }
276
277    /**
278     * Create an inline derived table from this table
279     */
280    @Override
281    public ForumMessageAttachmentDetails where(Condition... conditions) {
282        return where(DSL.and(conditions));
283    }
284
285    /**
286     * Create an inline derived table from this table
287     */
288    @Override
289    public ForumMessageAttachmentDetails where(Field<Boolean> condition) {
290        return where(DSL.condition(condition));
291    }
292
293    /**
294     * Create an inline derived table from this table
295     */
296    @Override
297    @PlainSQL
298    public ForumMessageAttachmentDetails where(SQL condition) {
299        return where(DSL.condition(condition));
300    }
301
302    /**
303     * Create an inline derived table from this table
304     */
305    @Override
306    @PlainSQL
307    public ForumMessageAttachmentDetails where(@Stringly.SQL String condition) {
308        return where(DSL.condition(condition));
309    }
310
311    /**
312     * Create an inline derived table from this table
313     */
314    @Override
315    @PlainSQL
316    public ForumMessageAttachmentDetails where(@Stringly.SQL String condition, Object... binds) {
317        return where(DSL.condition(condition, binds));
318    }
319
320    /**
321     * Create an inline derived table from this table
322     */
323    @Override
324    @PlainSQL
325    public ForumMessageAttachmentDetails where(@Stringly.SQL String condition, QueryPart... parts) {
326        return where(DSL.condition(condition, parts));
327    }
328
329    /**
330     * Create an inline derived table from this table
331     */
332    @Override
333    public ForumMessageAttachmentDetails whereExists(TableLike<?> select) {
334        return where(DSL.exists(select));
335    }
336
337    /**
338     * Create an inline derived table from this table
339     */
340    @Override
341    public ForumMessageAttachmentDetails whereNotExists(TableLike<?> select) {
342        return where(DSL.notExists(select));
343    }
344}