001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.contactlist;
005
006
007import com.echothree.model.data.contactlist.common.pk.ContactListContactMechanismPurposePK;
008import com.echothree.model.data.contactlist.common.pk.ContactListPK;
009import com.echothree.model.data.contactlist.common.pk.PartyContactListDetailPK;
010import com.echothree.model.data.contactlist.common.pk.PartyContactListPK;
011import com.echothree.model.data.party.common.pk.PartyPK;
012import com.echothree.model.jooq.server.KeyRegistry;
013import com.echothree.model.jooq.server.tables.contactlist.ContactListContactMechanismPurposes.ContactListContactMechanismPurposesPath;
014import com.echothree.model.jooq.server.tables.contactlist.ContactLists.ContactListsPath;
015import com.echothree.model.jooq.server.tables.contactlist.PartyContactLists.PartyContactListsPath;
016import com.echothree.model.jooq.server.tables.party.Parties.PartiesPath;
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 PartyContactListDetails extends TableImpl<com.echothree.model.jooq.server.records.contactlist.PartyContactListDetails> {
050
051    private static final long serialVersionUID = 1L;
052
053    /**
054     * The reference instance of <code>partycontactlistdetails</code>
055     */
056    public static final PartyContactListDetails PartyContactListDetails = new PartyContactListDetails();
057
058    /**
059     * The class holding records for this type
060     */
061    @Override
062    public Class<com.echothree.model.jooq.server.records.contactlist.PartyContactListDetails> getRecordType() {
063        return com.echothree.model.jooq.server.records.contactlist.PartyContactListDetails.class;
064    }
065
066    /**
067     * The column
068     * <code>partycontactlistdetails.parclstdt_partycontactlistdetailid</code>.
069     */
070    public final TableField<com.echothree.model.jooq.server.records.contactlist.PartyContactListDetails, PartyContactListDetailPK> PARTY_CONTACT_LIST_DETAIL = createField(DSL.name("parclstdt_partycontactlistdetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, PartyContactListDetailPK.class, id -> new com.echothree.model.data.contactlist.common.pk.PartyContactListDetailPK(id), primaryKey -> primaryKey.getEntityId()));
071
072    /**
073     * The column
074     * <code>partycontactlistdetails.parclstdt_parclst_partycontactlistid</code>.
075     */
076    public final TableField<com.echothree.model.jooq.server.records.contactlist.PartyContactListDetails, PartyContactListPK> PARTY_CONTACT_LIST = createField(DSL.name("parclstdt_parclst_partycontactlistid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, PartyContactListPK.class, id -> new com.echothree.model.data.contactlist.common.pk.PartyContactListPK(id), primaryKey -> primaryKey.getEntityId()));
077
078    /**
079     * The column <code>partycontactlistdetails.parclstdt_par_partyid</code>.
080     */
081    public final TableField<com.echothree.model.jooq.server.records.contactlist.PartyContactListDetails, PartyPK> PARTY = createField(DSL.name("parclstdt_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()));
082
083    /**
084     * The column
085     * <code>partycontactlistdetails.parclstdt_clst_contactlistid</code>.
086     */
087    public final TableField<com.echothree.model.jooq.server.records.contactlist.PartyContactListDetails, ContactListPK> CONTACT_LIST = createField(DSL.name("parclstdt_clst_contactlistid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ContactListPK.class, id -> new com.echothree.model.data.contactlist.common.pk.ContactListPK(id), primaryKey -> primaryKey.getEntityId()));
088
089    /**
090     * The column
091     * <code>partycontactlistdetails.parclstdt_preferredcontactlistcontactmechanismpurposeid</code>.
092     */
093    public final TableField<com.echothree.model.jooq.server.records.contactlist.PartyContactListDetails, ContactListContactMechanismPurposePK> PREFERRED_CONTACT_LIST_CONTACT_MECHANISM_PURPOSE = createField(DSL.name("parclstdt_preferredcontactlistcontactmechanismpurposeid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, ContactListContactMechanismPurposePK.class, id -> new com.echothree.model.data.contactlist.common.pk.ContactListContactMechanismPurposePK(id), primaryKey -> primaryKey.getEntityId()));
094
095    /**
096     * The column <code>partycontactlistdetails.parclstdt_fromtime</code>.
097     */
098    public final TableField<com.echothree.model.jooq.server.records.contactlist.PartyContactListDetails, Long> FROM_TIME = createField(DSL.name("parclstdt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
099
100    /**
101     * The column <code>partycontactlistdetails.parclstdt_thrutime</code>.
102     */
103    public final TableField<com.echothree.model.jooq.server.records.contactlist.PartyContactListDetails, Long> THRU_TIME = createField(DSL.name("parclstdt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
104
105    private PartyContactListDetails(Name alias, Table<com.echothree.model.jooq.server.records.contactlist.PartyContactListDetails> aliased) {
106        this(alias, aliased, (Field<?>[]) null, null);
107    }
108
109    private PartyContactListDetails(Name alias, Table<com.echothree.model.jooq.server.records.contactlist.PartyContactListDetails> aliased, Field<?>[] parameters, Condition where) {
110        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
111    }
112
113    /**
114     * Create an aliased <code>partycontactlistdetails</code> table reference
115     */
116    public PartyContactListDetails(String alias) {
117        this(DSL.name(alias), PartyContactListDetails);
118    }
119
120    /**
121     * Create an aliased <code>partycontactlistdetails</code> table reference
122     */
123    public PartyContactListDetails(Name alias) {
124        this(alias, PartyContactListDetails);
125    }
126
127    /**
128     * Create a <code>partycontactlistdetails</code> table reference
129     */
130    public PartyContactListDetails() {
131        this(DSL.name("partycontactlistdetails"), null);
132    }
133
134    public <O extends Record> PartyContactListDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.contactlist.PartyContactListDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.contactlist.PartyContactListDetails> parentPath) {
135        super(path, childPath, parentPath, PartyContactListDetails);
136    }
137
138    /**
139     * A subtype implementing {@link Path} for simplified path-based joins.
140     */
141    public static class PartyContactListDetailsPath extends PartyContactListDetails implements Path<com.echothree.model.jooq.server.records.contactlist.PartyContactListDetails> {
142
143        private static final long serialVersionUID = 1L;
144        public <O extends Record> PartyContactListDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.contactlist.PartyContactListDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.contactlist.PartyContactListDetails> parentPath) {
145            super(path, childPath, parentPath);
146        }
147        private PartyContactListDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.contactlist.PartyContactListDetails> aliased) {
148            super(alias, aliased);
149        }
150
151        @Override
152        public PartyContactListDetailsPath as(String alias) {
153            return new PartyContactListDetailsPath(DSL.name(alias), this);
154        }
155
156        @Override
157        public PartyContactListDetailsPath as(Name alias) {
158            return new PartyContactListDetailsPath(alias, this);
159        }
160
161        @Override
162        public PartyContactListDetailsPath as(Table<?> alias) {
163            return new PartyContactListDetailsPath(alias.getQualifiedName(), this);
164        }
165    }
166
167    @Override
168    public UniqueKey<com.echothree.model.jooq.server.records.contactlist.PartyContactListDetails> getPrimaryKey() {
169        return KeyRegistry.PARTY_CONTACT_LIST_DETAILS_PK;
170    }
171
172    @Override
173    public List<UniqueKey<com.echothree.model.jooq.server.records.contactlist.PartyContactListDetails>> getUniqueKeys() {
174        return Arrays.asList(KeyRegistry.PARTY_CONTACT_LIST_DETAILS_PARTY_CONTACT_LIST_AND_THRU_TIME_UK, KeyRegistry.PARTY_CONTACT_LIST_DETAILS_PARTY_AND_CONTACT_LIST_AND_THRU_TIME_UK);
175    }
176
177    @Override
178    public List<ForeignKey<com.echothree.model.jooq.server.records.contactlist.PartyContactListDetails, ?>> getReferences() {
179        return Arrays.asList(KeyRegistry.PARTY_CONTACT_LIST_DETAILS_CONTACT_LIST_FK, KeyRegistry.PARTY_CONTACT_LIST_DETAILS_PARTY_FK, KeyRegistry.PARTY_CONTACT_LIST_DETAILS_PARTY_CONTACT_LIST_FK, KeyRegistry.PARTY_CONTACT_LIST_DETAILS_PREFERRED_CONTACT_LIST_CONTACT_MECHANISM_PURPOSE_FK);
180    }
181
182    private transient ContactListsPath _parclstdt_clst_contactlistid_fk;
183
184    /**
185     * Get the implicit join path to the <code>contactlists</code> table.
186     */
187    public ContactListsPath parclstdt_clst_contactlistid_fk() {
188        if (_parclstdt_clst_contactlistid_fk == null)
189            _parclstdt_clst_contactlistid_fk = new ContactListsPath(this, KeyRegistry.PARTY_CONTACT_LIST_DETAILS_CONTACT_LIST_FK, null);
190
191        return _parclstdt_clst_contactlistid_fk;
192    }
193
194    private transient PartiesPath _parclstdt_par_partyid_fk;
195
196    /**
197     * Get the implicit join path to the <code>parties</code> table.
198     */
199    public PartiesPath parclstdt_par_partyid_fk() {
200        if (_parclstdt_par_partyid_fk == null)
201            _parclstdt_par_partyid_fk = new PartiesPath(this, KeyRegistry.PARTY_CONTACT_LIST_DETAILS_PARTY_FK, null);
202
203        return _parclstdt_par_partyid_fk;
204    }
205
206    private transient PartyContactListsPath _parclstdt_parclst_partycontactlistid_fk;
207
208    /**
209     * Get the implicit join path to the <code>partycontactlists</code> table.
210     */
211    public PartyContactListsPath parclstdt_parclst_partycontactlistid_fk() {
212        if (_parclstdt_parclst_partycontactlistid_fk == null)
213            _parclstdt_parclst_partycontactlistid_fk = new PartyContactListsPath(this, KeyRegistry.PARTY_CONTACT_LIST_DETAILS_PARTY_CONTACT_LIST_FK, null);
214
215        return _parclstdt_parclst_partycontactlistid_fk;
216    }
217
218    private transient ContactListContactMechanismPurposesPath _parclstdt_preferredcontactlistcontactmechanismpurposeid_fk;
219
220    /**
221     * Get the implicit join path to the
222     * <code>contactlistcontactmechanismpurposes</code> table.
223     */
224    public ContactListContactMechanismPurposesPath parclstdt_preferredcontactlistcontactmechanismpurposeid_fk() {
225        if (_parclstdt_preferredcontactlistcontactmechanismpurposeid_fk == null)
226            _parclstdt_preferredcontactlistcontactmechanismpurposeid_fk = new ContactListContactMechanismPurposesPath(this, KeyRegistry.PARTY_CONTACT_LIST_DETAILS_PREFERRED_CONTACT_LIST_CONTACT_MECHANISM_PURPOSE_FK, null);
227
228        return _parclstdt_preferredcontactlistcontactmechanismpurposeid_fk;
229    }
230
231    @Override
232    public PartyContactListDetails as(String alias) {
233        return new PartyContactListDetails(DSL.name(alias), this);
234    }
235
236    @Override
237    public PartyContactListDetails as(Name alias) {
238        return new PartyContactListDetails(alias, this);
239    }
240
241    @Override
242    public PartyContactListDetails as(Table<?> alias) {
243        return new PartyContactListDetails(alias.getQualifiedName(), this);
244    }
245
246    /**
247     * Rename this table
248     */
249    @Override
250    public PartyContactListDetails rename(String name) {
251        return new PartyContactListDetails(DSL.name(name), null);
252    }
253
254    /**
255     * Rename this table
256     */
257    @Override
258    public PartyContactListDetails rename(Name name) {
259        return new PartyContactListDetails(name, null);
260    }
261
262    /**
263     * Rename this table
264     */
265    @Override
266    public PartyContactListDetails rename(Table<?> name) {
267        return new PartyContactListDetails(name.getQualifiedName(), null);
268    }
269
270    /**
271     * Create an inline derived table from this table
272     */
273    @Override
274    public PartyContactListDetails where(Condition condition) {
275        return new PartyContactListDetails(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
276    }
277
278    /**
279     * Create an inline derived table from this table
280     */
281    @Override
282    public PartyContactListDetails where(Collection<? extends Condition> conditions) {
283        return where(DSL.and(conditions));
284    }
285
286    /**
287     * Create an inline derived table from this table
288     */
289    @Override
290    public PartyContactListDetails where(Condition... conditions) {
291        return where(DSL.and(conditions));
292    }
293
294    /**
295     * Create an inline derived table from this table
296     */
297    @Override
298    public PartyContactListDetails where(Field<Boolean> 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 PartyContactListDetails where(SQL 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 PartyContactListDetails where(@Stringly.SQL String condition) {
317        return where(DSL.condition(condition));
318    }
319
320    /**
321     * Create an inline derived table from this table
322     */
323    @Override
324    @PlainSQL
325    public PartyContactListDetails where(@Stringly.SQL String condition, Object... binds) {
326        return where(DSL.condition(condition, binds));
327    }
328
329    /**
330     * Create an inline derived table from this table
331     */
332    @Override
333    @PlainSQL
334    public PartyContactListDetails where(@Stringly.SQL String condition, QueryPart... parts) {
335        return where(DSL.condition(condition, parts));
336    }
337
338    /**
339     * Create an inline derived table from this table
340     */
341    @Override
342    public PartyContactListDetails whereExists(TableLike<?> select) {
343        return where(DSL.exists(select));
344    }
345
346    /**
347     * Create an inline derived table from this table
348     */
349    @Override
350    public PartyContactListDetails whereNotExists(TableLike<?> select) {
351        return where(DSL.notExists(select));
352    }
353}