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