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.ForumMessagePK;
008import com.echothree.model.data.forum.common.pk.ForumMessageRolePK;
009import com.echothree.model.data.forum.common.pk.ForumRoleTypePK;
010import com.echothree.model.data.party.common.pk.PartyPK;
011import com.echothree.model.jooq.server.KeyRegistry;
012import com.echothree.model.jooq.server.tables.forum.ForumMessages.ForumMessagesPath;
013import com.echothree.model.jooq.server.tables.forum.ForumRoleTypes.ForumRoleTypesPath;
014import com.echothree.model.jooq.server.tables.party.Parties.PartiesPath;
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.Name;
025import org.jooq.PlainSQL;
026import org.jooq.QueryPart;
027import org.jooq.SQL;
028import org.jooq.Stringly;
029import org.jooq.Table;
030import org.jooq.TableField;
031import org.jooq.TableLike;
032import org.jooq.TableOptions;
033import org.jooq.UniqueKey;
034import org.jooq.impl.DSL;
035import org.jooq.impl.Internal;
036import org.jooq.impl.SQLDataType;
037import org.jooq.impl.TableImpl;
038
039
040/**
041 * This class is generated by jOOQ.
042 */
043@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
044public class ForumMessageRoles extends TableImpl<com.echothree.model.jooq.server.records.forum.ForumMessageRoles> {
045
046    private static final long serialVersionUID = 1L;
047
048    /**
049     * The reference instance of <code>forummessageroles</code>
050     */
051    public static final ForumMessageRoles ForumMessageRoles = new ForumMessageRoles();
052
053    /**
054     * The class holding records for this type
055     */
056    @Override
057    public Class<com.echothree.model.jooq.server.records.forum.ForumMessageRoles> getRecordType() {
058        return com.echothree.model.jooq.server.records.forum.ForumMessageRoles.class;
059    }
060
061    /**
062     * The column <code>forummessageroles.frmmsgr_forummessageroleid</code>.
063     */
064    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessageRoles, ForumMessageRolePK> FORUM_MESSAGE_ROLE = createField(DSL.name("frmmsgr_forummessageroleid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ForumMessageRolePK.class, id -> new com.echothree.model.data.forum.common.pk.ForumMessageRolePK(id), primaryKey -> primaryKey.getEntityId()));
065
066    /**
067     * The column <code>forummessageroles.frmmsgr_frmmsg_forummessageid</code>.
068     */
069    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessageRoles, ForumMessagePK> FORUM_MESSAGE = createField(DSL.name("frmmsgr_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()));
070
071    /**
072     * The column
073     * <code>forummessageroles.frmmsgr_frmrtyp_forumroletypeid</code>.
074     */
075    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessageRoles, ForumRoleTypePK> FORUM_ROLE_TYPE = createField(DSL.name("frmmsgr_frmrtyp_forumroletypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ForumRoleTypePK.class, id -> new com.echothree.model.data.forum.common.pk.ForumRoleTypePK(id), primaryKey -> primaryKey.getEntityId()));
076
077    /**
078     * The column <code>forummessageroles.frmmsgr_par_partyid</code>.
079     */
080    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessageRoles, PartyPK> PARTY = createField(DSL.name("frmmsgr_par_partyid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, PartyPK.class, id -> new com.echothree.model.data.party.common.pk.PartyPK(id), primaryKey -> primaryKey.getEntityId()));
081
082    /**
083     * The column <code>forummessageroles.frmmsgr_fromtime</code>.
084     */
085    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessageRoles, Long> FROM_TIME = createField(DSL.name("frmmsgr_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
086
087    /**
088     * The column <code>forummessageroles.frmmsgr_thrutime</code>.
089     */
090    public final TableField<com.echothree.model.jooq.server.records.forum.ForumMessageRoles, Long> THRU_TIME = createField(DSL.name("frmmsgr_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
091
092    private ForumMessageRoles(Name alias, Table<com.echothree.model.jooq.server.records.forum.ForumMessageRoles> aliased) {
093        this(alias, aliased, (Field<?>[]) null, null);
094    }
095
096    private ForumMessageRoles(Name alias, Table<com.echothree.model.jooq.server.records.forum.ForumMessageRoles> aliased, Field<?>[] parameters, Condition where) {
097        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
098    }
099
100    /**
101     * Create an aliased <code>forummessageroles</code> table reference
102     */
103    public ForumMessageRoles(String alias) {
104        this(DSL.name(alias), ForumMessageRoles);
105    }
106
107    /**
108     * Create an aliased <code>forummessageroles</code> table reference
109     */
110    public ForumMessageRoles(Name alias) {
111        this(alias, ForumMessageRoles);
112    }
113
114    /**
115     * Create a <code>forummessageroles</code> table reference
116     */
117    public ForumMessageRoles() {
118        this(DSL.name("forummessageroles"), null);
119    }
120
121    @Override
122    public UniqueKey<com.echothree.model.jooq.server.records.forum.ForumMessageRoles> getPrimaryKey() {
123        return KeyRegistry.FORUM_MESSAGE_ROLES_PK;
124    }
125
126    @Override
127    public List<UniqueKey<com.echothree.model.jooq.server.records.forum.ForumMessageRoles>> getUniqueKeys() {
128        return Arrays.asList(KeyRegistry.FORUM_MESSAGE_ROLES_FORUM_MESSAGE_AND_FORUM_ROLE_TYPE_AND_PARTY_AND_THRU_TIME_UK);
129    }
130
131    @Override
132    public List<ForeignKey<com.echothree.model.jooq.server.records.forum.ForumMessageRoles, ?>> getReferences() {
133        return Arrays.asList(KeyRegistry.FORUM_MESSAGE_ROLES_FORUM_MESSAGE_FK, KeyRegistry.FORUM_MESSAGE_ROLES_FORUM_ROLE_TYPE_FK, KeyRegistry.FORUM_MESSAGE_ROLES_PARTY_FK);
134    }
135
136    private transient ForumMessagesPath _frmmsgr_frmmsg_forummessageid_fk;
137
138    /**
139     * Get the implicit join path to the <code>forummessages</code> table.
140     */
141    public ForumMessagesPath frmmsgr_frmmsg_forummessageid_fk() {
142        if (_frmmsgr_frmmsg_forummessageid_fk == null)
143            _frmmsgr_frmmsg_forummessageid_fk = new ForumMessagesPath(this, KeyRegistry.FORUM_MESSAGE_ROLES_FORUM_MESSAGE_FK, null);
144
145        return _frmmsgr_frmmsg_forummessageid_fk;
146    }
147
148    private transient ForumRoleTypesPath _frmmsgr_frmrtyp_forumroletypeid_fk;
149
150    /**
151     * Get the implicit join path to the <code>forumroletypes</code> table.
152     */
153    public ForumRoleTypesPath frmmsgr_frmrtyp_forumroletypeid_fk() {
154        if (_frmmsgr_frmrtyp_forumroletypeid_fk == null)
155            _frmmsgr_frmrtyp_forumroletypeid_fk = new ForumRoleTypesPath(this, KeyRegistry.FORUM_MESSAGE_ROLES_FORUM_ROLE_TYPE_FK, null);
156
157        return _frmmsgr_frmrtyp_forumroletypeid_fk;
158    }
159
160    private transient PartiesPath _frmmsgr_par_partyid_fk;
161
162    /**
163     * Get the implicit join path to the <code>parties</code> table.
164     */
165    public PartiesPath frmmsgr_par_partyid_fk() {
166        if (_frmmsgr_par_partyid_fk == null)
167            _frmmsgr_par_partyid_fk = new PartiesPath(this, KeyRegistry.FORUM_MESSAGE_ROLES_PARTY_FK, null);
168
169        return _frmmsgr_par_partyid_fk;
170    }
171
172    @Override
173    public ForumMessageRoles as(String alias) {
174        return new ForumMessageRoles(DSL.name(alias), this);
175    }
176
177    @Override
178    public ForumMessageRoles as(Name alias) {
179        return new ForumMessageRoles(alias, this);
180    }
181
182    @Override
183    public ForumMessageRoles as(Table<?> alias) {
184        return new ForumMessageRoles(alias.getQualifiedName(), this);
185    }
186
187    /**
188     * Rename this table
189     */
190    @Override
191    public ForumMessageRoles rename(String name) {
192        return new ForumMessageRoles(DSL.name(name), null);
193    }
194
195    /**
196     * Rename this table
197     */
198    @Override
199    public ForumMessageRoles rename(Name name) {
200        return new ForumMessageRoles(name, null);
201    }
202
203    /**
204     * Rename this table
205     */
206    @Override
207    public ForumMessageRoles rename(Table<?> name) {
208        return new ForumMessageRoles(name.getQualifiedName(), null);
209    }
210
211    /**
212     * Create an inline derived table from this table
213     */
214    @Override
215    public ForumMessageRoles where(Condition condition) {
216        return new ForumMessageRoles(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
217    }
218
219    /**
220     * Create an inline derived table from this table
221     */
222    @Override
223    public ForumMessageRoles where(Collection<? extends Condition> conditions) {
224        return where(DSL.and(conditions));
225    }
226
227    /**
228     * Create an inline derived table from this table
229     */
230    @Override
231    public ForumMessageRoles where(Condition... conditions) {
232        return where(DSL.and(conditions));
233    }
234
235    /**
236     * Create an inline derived table from this table
237     */
238    @Override
239    public ForumMessageRoles where(Field<Boolean> condition) {
240        return where(DSL.condition(condition));
241    }
242
243    /**
244     * Create an inline derived table from this table
245     */
246    @Override
247    @PlainSQL
248    public ForumMessageRoles where(SQL condition) {
249        return where(DSL.condition(condition));
250    }
251
252    /**
253     * Create an inline derived table from this table
254     */
255    @Override
256    @PlainSQL
257    public ForumMessageRoles where(@Stringly.SQL String condition) {
258        return where(DSL.condition(condition));
259    }
260
261    /**
262     * Create an inline derived table from this table
263     */
264    @Override
265    @PlainSQL
266    public ForumMessageRoles where(@Stringly.SQL String condition, Object... binds) {
267        return where(DSL.condition(condition, binds));
268    }
269
270    /**
271     * Create an inline derived table from this table
272     */
273    @Override
274    @PlainSQL
275    public ForumMessageRoles where(@Stringly.SQL String condition, QueryPart... parts) {
276        return where(DSL.condition(condition, parts));
277    }
278
279    /**
280     * Create an inline derived table from this table
281     */
282    @Override
283    public ForumMessageRoles whereExists(TableLike<?> select) {
284        return where(DSL.exists(select));
285    }
286
287    /**
288     * Create an inline derived table from this table
289     */
290    @Override
291    public ForumMessageRoles whereNotExists(TableLike<?> select) {
292        return where(DSL.notExists(select));
293    }
294}