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