001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.payment;
005
006
007import com.echothree.model.data.contact.common.pk.PartyContactMechanismPK;
008import com.echothree.model.data.party.common.pk.NameSuffixPK;
009import com.echothree.model.data.party.common.pk.PersonalTitlePK;
010import com.echothree.model.data.payment.common.pk.PartyPaymentMethodCreditCardPK;
011import com.echothree.model.data.payment.common.pk.PartyPaymentMethodPK;
012import com.echothree.model.jooq.server.KeyRegistry;
013import com.echothree.model.jooq.server.tables.contact.PartyContactMechanisms.PartyContactMechanismsPath;
014import com.echothree.model.jooq.server.tables.party.NameSuffixes.NameSuffixesPath;
015import com.echothree.model.jooq.server.tables.party.PersonalTitles.PersonalTitlesPath;
016import com.echothree.model.jooq.server.tables.payment.PartyPaymentMethods.PartyPaymentMethodsPath;
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.Name;
027import org.jooq.PlainSQL;
028import org.jooq.QueryPart;
029import org.jooq.SQL;
030import org.jooq.Stringly;
031import org.jooq.Table;
032import org.jooq.TableField;
033import org.jooq.TableLike;
034import org.jooq.TableOptions;
035import org.jooq.UniqueKey;
036import org.jooq.impl.DSL;
037import org.jooq.impl.Internal;
038import org.jooq.impl.SQLDataType;
039import org.jooq.impl.TableImpl;
040
041
042/**
043 * This class is generated by jOOQ.
044 */
045@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
046public class PartyPaymentMethodCreditCards extends TableImpl<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodCreditCards> {
047
048    private static final long serialVersionUID = 1L;
049
050    /**
051     * The reference instance of <code>partypaymentmethodcreditcards</code>
052     */
053    public static final PartyPaymentMethodCreditCards PartyPaymentMethodCreditCards = new PartyPaymentMethodCreditCards();
054
055    /**
056     * The class holding records for this type
057     */
058    @Override
059    public Class<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodCreditCards> getRecordType() {
060        return com.echothree.model.jooq.server.records.payment.PartyPaymentMethodCreditCards.class;
061    }
062
063    /**
064     * The column
065     * <code>partypaymentmethodcreditcards.parpmcc_partypaymentmethodcreditcardid</code>.
066     */
067    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodCreditCards, PartyPaymentMethodCreditCardPK> PARTY_PAYMENT_METHOD_CREDIT_CARD = createField(DSL.name("parpmcc_partypaymentmethodcreditcardid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, PartyPaymentMethodCreditCardPK.class, id -> new com.echothree.model.data.payment.common.pk.PartyPaymentMethodCreditCardPK(id), primaryKey -> primaryKey.getEntityId()));
068
069    /**
070     * The column
071     * <code>partypaymentmethodcreditcards.parpmcc_parpm_partypaymentmethodid</code>.
072     */
073    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodCreditCards, PartyPaymentMethodPK> PARTY_PAYMENT_METHOD = createField(DSL.name("parpmcc_parpm_partypaymentmethodid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, PartyPaymentMethodPK.class, id -> new com.echothree.model.data.payment.common.pk.PartyPaymentMethodPK(id), primaryKey -> primaryKey.getEntityId()));
074
075    /**
076     * The column <code>partypaymentmethodcreditcards.parpmcc_number</code>.
077     */
078    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodCreditCards, String> NUMBER = createField(DSL.name("parpmcc_number"), SQLDataType.VARCHAR(200), this, "");
079
080    /**
081     * The column
082     * <code>partypaymentmethodcreditcards.parpmcc_expirationmonth</code>.
083     */
084    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodCreditCards, Integer> EXPIRATION_MONTH = createField(DSL.name("parpmcc_expirationmonth"), SQLDataType.INTEGER, this, "");
085
086    /**
087     * The column
088     * <code>partypaymentmethodcreditcards.parpmcc_expirationyear</code>.
089     */
090    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodCreditCards, Integer> EXPIRATION_YEAR = createField(DSL.name("parpmcc_expirationyear"), SQLDataType.INTEGER, this, "");
091
092    /**
093     * The column
094     * <code>partypaymentmethodcreditcards.parpmcc_pert_personaltitleid</code>.
095     */
096    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodCreditCards, PersonalTitlePK> PERSONAL_TITLE = createField(DSL.name("parpmcc_pert_personaltitleid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, PersonalTitlePK.class, id -> new com.echothree.model.data.party.common.pk.PersonalTitlePK(id), primaryKey -> primaryKey.getEntityId()));
097
098    /**
099     * The column <code>partypaymentmethodcreditcards.parpmcc_firstname</code>.
100     */
101    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodCreditCards, String> FIRST_NAME = createField(DSL.name("parpmcc_firstname"), SQLDataType.VARCHAR(20), this, "");
102
103    /**
104     * The column
105     * <code>partypaymentmethodcreditcards.parpmcc_firstnamesdx</code>.
106     */
107    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodCreditCards, String> FIRST_NAME_SDX = createField(DSL.name("parpmcc_firstnamesdx"), SQLDataType.VARCHAR(4), this, "");
108
109    /**
110     * The column <code>partypaymentmethodcreditcards.parpmcc_middlename</code>.
111     */
112    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodCreditCards, String> MIDDLE_NAME = createField(DSL.name("parpmcc_middlename"), SQLDataType.VARCHAR(20), this, "");
113
114    /**
115     * The column
116     * <code>partypaymentmethodcreditcards.parpmcc_middlenamesdx</code>.
117     */
118    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodCreditCards, String> MIDDLE_NAME_SDX = createField(DSL.name("parpmcc_middlenamesdx"), SQLDataType.VARCHAR(4), this, "");
119
120    /**
121     * The column <code>partypaymentmethodcreditcards.parpmcc_lastname</code>.
122     */
123    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodCreditCards, String> LAST_NAME = createField(DSL.name("parpmcc_lastname"), SQLDataType.VARCHAR(20), this, "");
124
125    /**
126     * The column
127     * <code>partypaymentmethodcreditcards.parpmcc_lastnamesdx</code>.
128     */
129    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodCreditCards, String> LAST_NAME_SDX = createField(DSL.name("parpmcc_lastnamesdx"), SQLDataType.VARCHAR(4), this, "");
130
131    /**
132     * The column
133     * <code>partypaymentmethodcreditcards.parpmcc_nsfx_namesuffixid</code>.
134     */
135    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodCreditCards, NameSuffixPK> NAME_SUFFIX = createField(DSL.name("parpmcc_nsfx_namesuffixid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, NameSuffixPK.class, id -> new com.echothree.model.data.party.common.pk.NameSuffixPK(id), primaryKey -> primaryKey.getEntityId()));
136
137    /**
138     * The column <code>partypaymentmethodcreditcards.parpmcc_name</code>.
139     */
140    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodCreditCards, String> NAME = createField(DSL.name("parpmcc_name"), SQLDataType.VARCHAR(60), this, "");
141
142    /**
143     * The column
144     * <code>partypaymentmethodcreditcards.parpmcc_billingpartycontactmechanismid</code>.
145     */
146    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodCreditCards, PartyContactMechanismPK> BILLING_PARTY_CONTACT_MECHANISM = createField(DSL.name("parpmcc_billingpartycontactmechanismid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, PartyContactMechanismPK.class, id -> new com.echothree.model.data.contact.common.pk.PartyContactMechanismPK(id), primaryKey -> primaryKey.getEntityId()));
147
148    /**
149     * The column <code>partypaymentmethodcreditcards.parpmcc_issuername</code>.
150     */
151    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodCreditCards, String> ISSUER_NAME = createField(DSL.name("parpmcc_issuername"), SQLDataType.VARCHAR(60), this, "");
152
153    /**
154     * The column
155     * <code>partypaymentmethodcreditcards.parpmcc_issuerpartycontactmechanismid</code>.
156     */
157    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodCreditCards, PartyContactMechanismPK> ISSUER_PARTY_CONTACT_MECHANISM = createField(DSL.name("parpmcc_issuerpartycontactmechanismid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, PartyContactMechanismPK.class, id -> new com.echothree.model.data.contact.common.pk.PartyContactMechanismPK(id), primaryKey -> primaryKey.getEntityId()));
158
159    /**
160     * The column <code>partypaymentmethodcreditcards.parpmcc_fromtime</code>.
161     */
162    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodCreditCards, Long> FROM_TIME = createField(DSL.name("parpmcc_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
163
164    /**
165     * The column <code>partypaymentmethodcreditcards.parpmcc_thrutime</code>.
166     */
167    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodCreditCards, Long> THRU_TIME = createField(DSL.name("parpmcc_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
168
169    private PartyPaymentMethodCreditCards(Name alias, Table<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodCreditCards> aliased) {
170        this(alias, aliased, (Field<?>[]) null, null);
171    }
172
173    private PartyPaymentMethodCreditCards(Name alias, Table<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodCreditCards> aliased, Field<?>[] parameters, Condition where) {
174        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
175    }
176
177    /**
178     * Create an aliased <code>partypaymentmethodcreditcards</code> table
179     * reference
180     */
181    public PartyPaymentMethodCreditCards(String alias) {
182        this(DSL.name(alias), PartyPaymentMethodCreditCards);
183    }
184
185    /**
186     * Create an aliased <code>partypaymentmethodcreditcards</code> table
187     * reference
188     */
189    public PartyPaymentMethodCreditCards(Name alias) {
190        this(alias, PartyPaymentMethodCreditCards);
191    }
192
193    /**
194     * Create a <code>partypaymentmethodcreditcards</code> table reference
195     */
196    public PartyPaymentMethodCreditCards() {
197        this(DSL.name("partypaymentmethodcreditcards"), null);
198    }
199
200    @Override
201    public UniqueKey<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodCreditCards> getPrimaryKey() {
202        return KeyRegistry.PARTY_PAYMENT_METHOD_CREDIT_CARDS_PK;
203    }
204
205    @Override
206    public List<UniqueKey<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodCreditCards>> getUniqueKeys() {
207        return Arrays.asList(KeyRegistry.PARTY_PAYMENT_METHOD_CREDIT_CARDS_PARTY_PAYMENT_METHOD_AND_THRU_TIME_UK);
208    }
209
210    @Override
211    public List<ForeignKey<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodCreditCards, ?>> getReferences() {
212        return Arrays.asList(KeyRegistry.PARTY_PAYMENT_METHOD_CREDIT_CARDS_BILLING_PARTY_CONTACT_MECHANISM_FK, KeyRegistry.PARTY_PAYMENT_METHOD_CREDIT_CARDS_ISSUER_PARTY_CONTACT_MECHANISM_FK, KeyRegistry.PARTY_PAYMENT_METHOD_CREDIT_CARDS_NAME_SUFFIX_FK, KeyRegistry.PARTY_PAYMENT_METHOD_CREDIT_CARDS_PARTY_PAYMENT_METHOD_FK, KeyRegistry.PARTY_PAYMENT_METHOD_CREDIT_CARDS_PERSONAL_TITLE_FK);
213    }
214
215    private transient PartyContactMechanismsPath _parpmcc_billingpartycontactmechanismid_fk;
216
217    /**
218     * Get the implicit join path to the <code>partycontactmechanisms</code>
219     * table, via the <code>parpmcc_billingpartycontactmechanismid_fk</code>
220     * key.
221     */
222    public PartyContactMechanismsPath parpmcc_billingpartycontactmechanismid_fk() {
223        if (_parpmcc_billingpartycontactmechanismid_fk == null)
224            _parpmcc_billingpartycontactmechanismid_fk = new PartyContactMechanismsPath(this, KeyRegistry.PARTY_PAYMENT_METHOD_CREDIT_CARDS_BILLING_PARTY_CONTACT_MECHANISM_FK, null);
225
226        return _parpmcc_billingpartycontactmechanismid_fk;
227    }
228
229    private transient PartyContactMechanismsPath _parpmcc_issuerpartycontactmechanismid_fk;
230
231    /**
232     * Get the implicit join path to the <code>partycontactmechanisms</code>
233     * table, via the <code>parpmcc_issuerpartycontactmechanismid_fk</code> key.
234     */
235    public PartyContactMechanismsPath parpmcc_issuerpartycontactmechanismid_fk() {
236        if (_parpmcc_issuerpartycontactmechanismid_fk == null)
237            _parpmcc_issuerpartycontactmechanismid_fk = new PartyContactMechanismsPath(this, KeyRegistry.PARTY_PAYMENT_METHOD_CREDIT_CARDS_ISSUER_PARTY_CONTACT_MECHANISM_FK, null);
238
239        return _parpmcc_issuerpartycontactmechanismid_fk;
240    }
241
242    private transient NameSuffixesPath _parpmcc_nsfx_namesuffixid_fk;
243
244    /**
245     * Get the implicit join path to the <code>namesuffixes</code> table.
246     */
247    public NameSuffixesPath parpmcc_nsfx_namesuffixid_fk() {
248        if (_parpmcc_nsfx_namesuffixid_fk == null)
249            _parpmcc_nsfx_namesuffixid_fk = new NameSuffixesPath(this, KeyRegistry.PARTY_PAYMENT_METHOD_CREDIT_CARDS_NAME_SUFFIX_FK, null);
250
251        return _parpmcc_nsfx_namesuffixid_fk;
252    }
253
254    private transient PartyPaymentMethodsPath _parpmcc_parpm_partypaymentmethodid_fk;
255
256    /**
257     * Get the implicit join path to the <code>partypaymentmethods</code> table.
258     */
259    public PartyPaymentMethodsPath parpmcc_parpm_partypaymentmethodid_fk() {
260        if (_parpmcc_parpm_partypaymentmethodid_fk == null)
261            _parpmcc_parpm_partypaymentmethodid_fk = new PartyPaymentMethodsPath(this, KeyRegistry.PARTY_PAYMENT_METHOD_CREDIT_CARDS_PARTY_PAYMENT_METHOD_FK, null);
262
263        return _parpmcc_parpm_partypaymentmethodid_fk;
264    }
265
266    private transient PersonalTitlesPath _parpmcc_pert_personaltitleid_fk;
267
268    /**
269     * Get the implicit join path to the <code>personaltitles</code> table.
270     */
271    public PersonalTitlesPath parpmcc_pert_personaltitleid_fk() {
272        if (_parpmcc_pert_personaltitleid_fk == null)
273            _parpmcc_pert_personaltitleid_fk = new PersonalTitlesPath(this, KeyRegistry.PARTY_PAYMENT_METHOD_CREDIT_CARDS_PERSONAL_TITLE_FK, null);
274
275        return _parpmcc_pert_personaltitleid_fk;
276    }
277
278    @Override
279    public PartyPaymentMethodCreditCards as(String alias) {
280        return new PartyPaymentMethodCreditCards(DSL.name(alias), this);
281    }
282
283    @Override
284    public PartyPaymentMethodCreditCards as(Name alias) {
285        return new PartyPaymentMethodCreditCards(alias, this);
286    }
287
288    @Override
289    public PartyPaymentMethodCreditCards as(Table<?> alias) {
290        return new PartyPaymentMethodCreditCards(alias.getQualifiedName(), this);
291    }
292
293    /**
294     * Rename this table
295     */
296    @Override
297    public PartyPaymentMethodCreditCards rename(String name) {
298        return new PartyPaymentMethodCreditCards(DSL.name(name), null);
299    }
300
301    /**
302     * Rename this table
303     */
304    @Override
305    public PartyPaymentMethodCreditCards rename(Name name) {
306        return new PartyPaymentMethodCreditCards(name, null);
307    }
308
309    /**
310     * Rename this table
311     */
312    @Override
313    public PartyPaymentMethodCreditCards rename(Table<?> name) {
314        return new PartyPaymentMethodCreditCards(name.getQualifiedName(), null);
315    }
316
317    /**
318     * Create an inline derived table from this table
319     */
320    @Override
321    public PartyPaymentMethodCreditCards where(Condition condition) {
322        return new PartyPaymentMethodCreditCards(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
323    }
324
325    /**
326     * Create an inline derived table from this table
327     */
328    @Override
329    public PartyPaymentMethodCreditCards where(Collection<? extends Condition> conditions) {
330        return where(DSL.and(conditions));
331    }
332
333    /**
334     * Create an inline derived table from this table
335     */
336    @Override
337    public PartyPaymentMethodCreditCards where(Condition... conditions) {
338        return where(DSL.and(conditions));
339    }
340
341    /**
342     * Create an inline derived table from this table
343     */
344    @Override
345    public PartyPaymentMethodCreditCards where(Field<Boolean> condition) {
346        return where(DSL.condition(condition));
347    }
348
349    /**
350     * Create an inline derived table from this table
351     */
352    @Override
353    @PlainSQL
354    public PartyPaymentMethodCreditCards where(SQL condition) {
355        return where(DSL.condition(condition));
356    }
357
358    /**
359     * Create an inline derived table from this table
360     */
361    @Override
362    @PlainSQL
363    public PartyPaymentMethodCreditCards where(@Stringly.SQL String condition) {
364        return where(DSL.condition(condition));
365    }
366
367    /**
368     * Create an inline derived table from this table
369     */
370    @Override
371    @PlainSQL
372    public PartyPaymentMethodCreditCards where(@Stringly.SQL String condition, Object... binds) {
373        return where(DSL.condition(condition, binds));
374    }
375
376    /**
377     * Create an inline derived table from this table
378     */
379    @Override
380    @PlainSQL
381    public PartyPaymentMethodCreditCards where(@Stringly.SQL String condition, QueryPart... parts) {
382        return where(DSL.condition(condition, parts));
383    }
384
385    /**
386     * Create an inline derived table from this table
387     */
388    @Override
389    public PartyPaymentMethodCreditCards whereExists(TableLike<?> select) {
390        return where(DSL.exists(select));
391    }
392
393    /**
394     * Create an inline derived table from this table
395     */
396    @Override
397    public PartyPaymentMethodCreditCards whereNotExists(TableLike<?> select) {
398        return where(DSL.notExists(select));
399    }
400}