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.ContactListDetailPK;
008import com.echothree.model.data.contactlist.common.pk.ContactListFrequencyPK;
009import com.echothree.model.data.contactlist.common.pk.ContactListGroupPK;
010import com.echothree.model.data.contactlist.common.pk.ContactListPK;
011import com.echothree.model.data.contactlist.common.pk.ContactListTypePK;
012import com.echothree.model.data.workflow.common.pk.WorkflowEntrancePK;
013import com.echothree.model.jooq.server.KeyRegistry;
014import com.echothree.model.jooq.server.tables.contactlist.ContactListFrequencies.ContactListFrequenciesPath;
015import com.echothree.model.jooq.server.tables.contactlist.ContactListGroups.ContactListGroupsPath;
016import com.echothree.model.jooq.server.tables.contactlist.ContactListTypes.ContactListTypesPath;
017import com.echothree.model.jooq.server.tables.contactlist.ContactLists.ContactListsPath;
018import com.echothree.model.jooq.server.tables.workflow.WorkflowEntrances.WorkflowEntrancesPath;
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 ContactListDetails extends TableImpl<com.echothree.model.jooq.server.records.contactlist.ContactListDetails> {
052
053    private static final long serialVersionUID = 1L;
054
055    /**
056     * The reference instance of <code>contactlistdetails</code>
057     */
058    public static final ContactListDetails ContactListDetails = new ContactListDetails();
059
060    /**
061     * The class holding records for this type
062     */
063    @Override
064    public Class<com.echothree.model.jooq.server.records.contactlist.ContactListDetails> getRecordType() {
065        return com.echothree.model.jooq.server.records.contactlist.ContactListDetails.class;
066    }
067
068    /**
069     * The column <code>contactlistdetails.clstdt_contactlistdetailid</code>.
070     */
071    public final TableField<com.echothree.model.jooq.server.records.contactlist.ContactListDetails, ContactListDetailPK> CONTACT_LIST_DETAIL = createField(DSL.name("clstdt_contactlistdetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ContactListDetailPK.class, id -> new com.echothree.model.data.contactlist.common.pk.ContactListDetailPK(id), primaryKey -> primaryKey.getEntityId()));
072
073    /**
074     * The column <code>contactlistdetails.clstdt_clst_contactlistid</code>.
075     */
076    public final TableField<com.echothree.model.jooq.server.records.contactlist.ContactListDetails, ContactListPK> CONTACT_LIST = createField(DSL.name("clstdt_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()));
077
078    /**
079     * The column <code>contactlistdetails.clstdt_contactlistname</code>.
080     */
081    public final TableField<com.echothree.model.jooq.server.records.contactlist.ContactListDetails, String> CONTACT_LIST_NAME = createField(DSL.name("clstdt_contactlistname"), SQLDataType.VARCHAR(40).nullable(false), this, "");
082
083    /**
084     * The column
085     * <code>contactlistdetails.clstdt_clstgrp_contactlistgroupid</code>.
086     */
087    public final TableField<com.echothree.model.jooq.server.records.contactlist.ContactListDetails, ContactListGroupPK> CONTACT_LIST_GROUP = createField(DSL.name("clstdt_clstgrp_contactlistgroupid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ContactListGroupPK.class, id -> new com.echothree.model.data.contactlist.common.pk.ContactListGroupPK(id), primaryKey -> primaryKey.getEntityId()));
088
089    /**
090     * The column
091     * <code>contactlistdetails.clstdt_clsttyp_contactlisttypeid</code>.
092     */
093    public final TableField<com.echothree.model.jooq.server.records.contactlist.ContactListDetails, ContactListTypePK> CONTACT_LIST_TYPE = createField(DSL.name("clstdt_clsttyp_contactlisttypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ContactListTypePK.class, id -> new com.echothree.model.data.contactlist.common.pk.ContactListTypePK(id), primaryKey -> primaryKey.getEntityId()));
094
095    /**
096     * The column
097     * <code>contactlistdetails.clstdt_clstfrq_contactlistfrequencyid</code>.
098     */
099    public final TableField<com.echothree.model.jooq.server.records.contactlist.ContactListDetails, ContactListFrequencyPK> CONTACT_LIST_FREQUENCY = createField(DSL.name("clstdt_clstfrq_contactlistfrequencyid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, ContactListFrequencyPK.class, id -> new com.echothree.model.data.contactlist.common.pk.ContactListFrequencyPK(id), primaryKey -> primaryKey.getEntityId()));
100
101    /**
102     * The column
103     * <code>contactlistdetails.clstdt_defaultpartycontactliststatusid</code>.
104     */
105    public final TableField<com.echothree.model.jooq.server.records.contactlist.ContactListDetails, WorkflowEntrancePK> DEFAULT_PARTY_CONTACT_LIST_STATUS = createField(DSL.name("clstdt_defaultpartycontactliststatusid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, WorkflowEntrancePK.class, id -> new com.echothree.model.data.workflow.common.pk.WorkflowEntrancePK(id), primaryKey -> primaryKey.getEntityId()));
106
107    /**
108     * The column <code>contactlistdetails.clstdt_isdefault</code>.
109     */
110    public final TableField<com.echothree.model.jooq.server.records.contactlist.ContactListDetails, Boolean> IS_DEFAULT = createField(DSL.name("clstdt_isdefault"), SQLDataType.BIT.nullable(false), this, "");
111
112    /**
113     * The column <code>contactlistdetails.clstdt_sortorder</code>.
114     */
115    public final TableField<com.echothree.model.jooq.server.records.contactlist.ContactListDetails, Integer> SORT_ORDER = createField(DSL.name("clstdt_sortorder"), SQLDataType.INTEGER.nullable(false), this, "");
116
117    /**
118     * The column <code>contactlistdetails.clstdt_fromtime</code>.
119     */
120    public final TableField<com.echothree.model.jooq.server.records.contactlist.ContactListDetails, Long> FROM_TIME = createField(DSL.name("clstdt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
121
122    /**
123     * The column <code>contactlistdetails.clstdt_thrutime</code>.
124     */
125    public final TableField<com.echothree.model.jooq.server.records.contactlist.ContactListDetails, Long> THRU_TIME = createField(DSL.name("clstdt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
126
127    private ContactListDetails(Name alias, Table<com.echothree.model.jooq.server.records.contactlist.ContactListDetails> aliased) {
128        this(alias, aliased, (Field<?>[]) null, null);
129    }
130
131    private ContactListDetails(Name alias, Table<com.echothree.model.jooq.server.records.contactlist.ContactListDetails> aliased, Field<?>[] parameters, Condition where) {
132        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
133    }
134
135    /**
136     * Create an aliased <code>contactlistdetails</code> table reference
137     */
138    public ContactListDetails(String alias) {
139        this(DSL.name(alias), ContactListDetails);
140    }
141
142    /**
143     * Create an aliased <code>contactlistdetails</code> table reference
144     */
145    public ContactListDetails(Name alias) {
146        this(alias, ContactListDetails);
147    }
148
149    /**
150     * Create a <code>contactlistdetails</code> table reference
151     */
152    public ContactListDetails() {
153        this(DSL.name("contactlistdetails"), null);
154    }
155
156    public <O extends Record> ContactListDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.contactlist.ContactListDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.contactlist.ContactListDetails> parentPath) {
157        super(path, childPath, parentPath, ContactListDetails);
158    }
159
160    /**
161     * A subtype implementing {@link Path} for simplified path-based joins.
162     */
163    public static class ContactListDetailsPath extends ContactListDetails implements Path<com.echothree.model.jooq.server.records.contactlist.ContactListDetails> {
164
165        private static final long serialVersionUID = 1L;
166        public <O extends Record> ContactListDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.contactlist.ContactListDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.contactlist.ContactListDetails> parentPath) {
167            super(path, childPath, parentPath);
168        }
169        private ContactListDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.contactlist.ContactListDetails> aliased) {
170            super(alias, aliased);
171        }
172
173        @Override
174        public ContactListDetailsPath as(String alias) {
175            return new ContactListDetailsPath(DSL.name(alias), this);
176        }
177
178        @Override
179        public ContactListDetailsPath as(Name alias) {
180            return new ContactListDetailsPath(alias, this);
181        }
182
183        @Override
184        public ContactListDetailsPath as(Table<?> alias) {
185            return new ContactListDetailsPath(alias.getQualifiedName(), this);
186        }
187    }
188
189    @Override
190    public UniqueKey<com.echothree.model.jooq.server.records.contactlist.ContactListDetails> getPrimaryKey() {
191        return KeyRegistry.CONTACT_LIST_DETAILS_PK;
192    }
193
194    @Override
195    public List<UniqueKey<com.echothree.model.jooq.server.records.contactlist.ContactListDetails>> getUniqueKeys() {
196        return Arrays.asList(KeyRegistry.CONTACT_LIST_DETAILS_CONTACT_LIST_AND_THRU_TIME_UK, KeyRegistry.CONTACT_LIST_DETAILS_CONTACT_LIST_NAME_AND_THRU_TIME_UK);
197    }
198
199    @Override
200    public List<ForeignKey<com.echothree.model.jooq.server.records.contactlist.ContactListDetails, ?>> getReferences() {
201        return Arrays.asList(KeyRegistry.CONTACT_LIST_DETAILS_CONTACT_LIST_FK, KeyRegistry.CONTACT_LIST_DETAILS_CONTACT_LIST_FREQUENCY_FK, KeyRegistry.CONTACT_LIST_DETAILS_CONTACT_LIST_GROUP_FK, KeyRegistry.CONTACT_LIST_DETAILS_CONTACT_LIST_TYPE_FK, KeyRegistry.CONTACT_LIST_DETAILS_DEFAULT_PARTY_CONTACT_LIST_STATUS_FK);
202    }
203
204    private transient ContactListsPath _clstdt_clst_contactlistid_fk;
205
206    /**
207     * Get the implicit join path to the <code>contactlists</code> table.
208     */
209    public ContactListsPath clstdt_clst_contactlistid_fk() {
210        if (_clstdt_clst_contactlistid_fk == null)
211            _clstdt_clst_contactlistid_fk = new ContactListsPath(this, KeyRegistry.CONTACT_LIST_DETAILS_CONTACT_LIST_FK, null);
212
213        return _clstdt_clst_contactlistid_fk;
214    }
215
216    private transient ContactListFrequenciesPath _clstdt_clstfrq_contactlistfrequencyid_fk;
217
218    /**
219     * Get the implicit join path to the <code>contactlistfrequencies</code>
220     * table.
221     */
222    public ContactListFrequenciesPath clstdt_clstfrq_contactlistfrequencyid_fk() {
223        if (_clstdt_clstfrq_contactlistfrequencyid_fk == null)
224            _clstdt_clstfrq_contactlistfrequencyid_fk = new ContactListFrequenciesPath(this, KeyRegistry.CONTACT_LIST_DETAILS_CONTACT_LIST_FREQUENCY_FK, null);
225
226        return _clstdt_clstfrq_contactlistfrequencyid_fk;
227    }
228
229    private transient ContactListGroupsPath _clstdt_clstgrp_contactlistgroupid_fk;
230
231    /**
232     * Get the implicit join path to the <code>contactlistgroups</code> table.
233     */
234    public ContactListGroupsPath clstdt_clstgrp_contactlistgroupid_fk() {
235        if (_clstdt_clstgrp_contactlistgroupid_fk == null)
236            _clstdt_clstgrp_contactlistgroupid_fk = new ContactListGroupsPath(this, KeyRegistry.CONTACT_LIST_DETAILS_CONTACT_LIST_GROUP_FK, null);
237
238        return _clstdt_clstgrp_contactlistgroupid_fk;
239    }
240
241    private transient ContactListTypesPath _clstdt_clsttyp_contactlisttypeid_fk;
242
243    /**
244     * Get the implicit join path to the <code>contactlisttypes</code> table.
245     */
246    public ContactListTypesPath clstdt_clsttyp_contactlisttypeid_fk() {
247        if (_clstdt_clsttyp_contactlisttypeid_fk == null)
248            _clstdt_clsttyp_contactlisttypeid_fk = new ContactListTypesPath(this, KeyRegistry.CONTACT_LIST_DETAILS_CONTACT_LIST_TYPE_FK, null);
249
250        return _clstdt_clsttyp_contactlisttypeid_fk;
251    }
252
253    private transient WorkflowEntrancesPath _clstdt_defaultpartycontactliststatusid_fk;
254
255    /**
256     * Get the implicit join path to the <code>workflowentrances</code> table.
257     */
258    public WorkflowEntrancesPath clstdt_defaultpartycontactliststatusid_fk() {
259        if (_clstdt_defaultpartycontactliststatusid_fk == null)
260            _clstdt_defaultpartycontactliststatusid_fk = new WorkflowEntrancesPath(this, KeyRegistry.CONTACT_LIST_DETAILS_DEFAULT_PARTY_CONTACT_LIST_STATUS_FK, null);
261
262        return _clstdt_defaultpartycontactliststatusid_fk;
263    }
264
265    @Override
266    public ContactListDetails as(String alias) {
267        return new ContactListDetails(DSL.name(alias), this);
268    }
269
270    @Override
271    public ContactListDetails as(Name alias) {
272        return new ContactListDetails(alias, this);
273    }
274
275    @Override
276    public ContactListDetails as(Table<?> alias) {
277        return new ContactListDetails(alias.getQualifiedName(), this);
278    }
279
280    /**
281     * Rename this table
282     */
283    @Override
284    public ContactListDetails rename(String name) {
285        return new ContactListDetails(DSL.name(name), null);
286    }
287
288    /**
289     * Rename this table
290     */
291    @Override
292    public ContactListDetails rename(Name name) {
293        return new ContactListDetails(name, null);
294    }
295
296    /**
297     * Rename this table
298     */
299    @Override
300    public ContactListDetails rename(Table<?> name) {
301        return new ContactListDetails(name.getQualifiedName(), null);
302    }
303
304    /**
305     * Create an inline derived table from this table
306     */
307    @Override
308    public ContactListDetails where(Condition condition) {
309        return new ContactListDetails(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
310    }
311
312    /**
313     * Create an inline derived table from this table
314     */
315    @Override
316    public ContactListDetails where(Collection<? extends Condition> conditions) {
317        return where(DSL.and(conditions));
318    }
319
320    /**
321     * Create an inline derived table from this table
322     */
323    @Override
324    public ContactListDetails where(Condition... conditions) {
325        return where(DSL.and(conditions));
326    }
327
328    /**
329     * Create an inline derived table from this table
330     */
331    @Override
332    public ContactListDetails where(Field<Boolean> condition) {
333        return where(DSL.condition(condition));
334    }
335
336    /**
337     * Create an inline derived table from this table
338     */
339    @Override
340    @PlainSQL
341    public ContactListDetails where(SQL condition) {
342        return where(DSL.condition(condition));
343    }
344
345    /**
346     * Create an inline derived table from this table
347     */
348    @Override
349    @PlainSQL
350    public ContactListDetails where(@Stringly.SQL String condition) {
351        return where(DSL.condition(condition));
352    }
353
354    /**
355     * Create an inline derived table from this table
356     */
357    @Override
358    @PlainSQL
359    public ContactListDetails where(@Stringly.SQL String condition, Object... binds) {
360        return where(DSL.condition(condition, binds));
361    }
362
363    /**
364     * Create an inline derived table from this table
365     */
366    @Override
367    @PlainSQL
368    public ContactListDetails where(@Stringly.SQL String condition, QueryPart... parts) {
369        return where(DSL.condition(condition, parts));
370    }
371
372    /**
373     * Create an inline derived table from this table
374     */
375    @Override
376    public ContactListDetails whereExists(TableLike<?> select) {
377        return where(DSL.exists(select));
378    }
379
380    /**
381     * Create an inline derived table from this table
382     */
383    @Override
384    public ContactListDetails whereNotExists(TableLike<?> select) {
385        return where(DSL.notExists(select));
386    }
387}