001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.payment;
005
006
007import com.echothree.model.data.party.common.pk.PartyPK;
008import com.echothree.model.data.payment.common.pk.PartyPaymentMethodDetailPK;
009import com.echothree.model.data.payment.common.pk.PartyPaymentMethodPK;
010import com.echothree.model.data.payment.common.pk.PaymentMethodPK;
011import com.echothree.model.jooq.server.KeyRegistry;
012import com.echothree.model.jooq.server.tables.party.Parties.PartiesPath;
013import com.echothree.model.jooq.server.tables.payment.PartyPaymentMethods.PartyPaymentMethodsPath;
014import com.echothree.model.jooq.server.tables.payment.PaymentMethods.PaymentMethodsPath;
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 PartyPaymentMethodDetails extends TableImpl<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodDetails> {
048
049    private static final long serialVersionUID = 1L;
050
051    /**
052     * The reference instance of <code>partypaymentmethoddetails</code>
053     */
054    public static final PartyPaymentMethodDetails PartyPaymentMethodDetails = new PartyPaymentMethodDetails();
055
056    /**
057     * The class holding records for this type
058     */
059    @Override
060    public Class<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodDetails> getRecordType() {
061        return com.echothree.model.jooq.server.records.payment.PartyPaymentMethodDetails.class;
062    }
063
064    /**
065     * The column
066     * <code>partypaymentmethoddetails.parpmdt_partypaymentmethoddetailid</code>.
067     */
068    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodDetails, PartyPaymentMethodDetailPK> PARTY_PAYMENT_METHOD_DETAIL = createField(DSL.name("parpmdt_partypaymentmethoddetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, PartyPaymentMethodDetailPK.class, id -> new com.echothree.model.data.payment.common.pk.PartyPaymentMethodDetailPK(id), primaryKey -> primaryKey.getEntityId()));
069
070    /**
071     * The column
072     * <code>partypaymentmethoddetails.parpmdt_parpm_partypaymentmethodid</code>.
073     */
074    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodDetails, PartyPaymentMethodPK> PARTY_PAYMENT_METHOD = createField(DSL.name("parpmdt_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()));
075
076    /**
077     * The column
078     * <code>partypaymentmethoddetails.parpmdt_partypaymentmethodname</code>.
079     */
080    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodDetails, String> PARTY_PAYMENT_METHOD_NAME = createField(DSL.name("parpmdt_partypaymentmethodname"), SQLDataType.VARCHAR(40).nullable(false), this, "");
081
082    /**
083     * The column <code>partypaymentmethoddetails.parpmdt_par_partyid</code>.
084     */
085    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodDetails, PartyPK> PARTY = createField(DSL.name("parpmdt_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()));
086
087    /**
088     * The column <code>partypaymentmethoddetails.parpmdt_description</code>.
089     */
090    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodDetails, String> DESCRIPTION = createField(DSL.name("parpmdt_description"), SQLDataType.VARCHAR(132), this, "");
091
092    /**
093     * The column
094     * <code>partypaymentmethoddetails.parpmdt_pm_paymentmethodid</code>.
095     */
096    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodDetails, PaymentMethodPK> PAYMENT_METHOD = createField(DSL.name("parpmdt_pm_paymentmethodid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, PaymentMethodPK.class, id -> new com.echothree.model.data.payment.common.pk.PaymentMethodPK(id), primaryKey -> primaryKey.getEntityId()));
097
098    /**
099     * The column
100     * <code>partypaymentmethoddetails.parpmdt_deletewhenunused</code>.
101     */
102    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodDetails, Boolean> DELETE_WHEN_UNUSED = createField(DSL.name("parpmdt_deletewhenunused"), SQLDataType.BIT.nullable(false), this, "");
103
104    /**
105     * The column <code>partypaymentmethoddetails.parpmdt_isdefault</code>.
106     */
107    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodDetails, Boolean> IS_DEFAULT = createField(DSL.name("parpmdt_isdefault"), SQLDataType.BIT.nullable(false), this, "");
108
109    /**
110     * The column <code>partypaymentmethoddetails.parpmdt_sortorder</code>.
111     */
112    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodDetails, Integer> SORT_ORDER = createField(DSL.name("parpmdt_sortorder"), SQLDataType.INTEGER.nullable(false), this, "");
113
114    /**
115     * The column <code>partypaymentmethoddetails.parpmdt_fromtime</code>.
116     */
117    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodDetails, Long> FROM_TIME = createField(DSL.name("parpmdt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
118
119    /**
120     * The column <code>partypaymentmethoddetails.parpmdt_thrutime</code>.
121     */
122    public final TableField<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodDetails, Long> THRU_TIME = createField(DSL.name("parpmdt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
123
124    private PartyPaymentMethodDetails(Name alias, Table<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodDetails> aliased) {
125        this(alias, aliased, (Field<?>[]) null, null);
126    }
127
128    private PartyPaymentMethodDetails(Name alias, Table<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodDetails> aliased, Field<?>[] parameters, Condition where) {
129        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
130    }
131
132    /**
133     * Create an aliased <code>partypaymentmethoddetails</code> table reference
134     */
135    public PartyPaymentMethodDetails(String alias) {
136        this(DSL.name(alias), PartyPaymentMethodDetails);
137    }
138
139    /**
140     * Create an aliased <code>partypaymentmethoddetails</code> table reference
141     */
142    public PartyPaymentMethodDetails(Name alias) {
143        this(alias, PartyPaymentMethodDetails);
144    }
145
146    /**
147     * Create a <code>partypaymentmethoddetails</code> table reference
148     */
149    public PartyPaymentMethodDetails() {
150        this(DSL.name("partypaymentmethoddetails"), null);
151    }
152
153    public <O extends Record> PartyPaymentMethodDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.payment.PartyPaymentMethodDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.payment.PartyPaymentMethodDetails> parentPath) {
154        super(path, childPath, parentPath, PartyPaymentMethodDetails);
155    }
156
157    /**
158     * A subtype implementing {@link Path} for simplified path-based joins.
159     */
160    public static class PartyPaymentMethodDetailsPath extends PartyPaymentMethodDetails implements Path<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodDetails> {
161
162        private static final long serialVersionUID = 1L;
163        public <O extends Record> PartyPaymentMethodDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.payment.PartyPaymentMethodDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.payment.PartyPaymentMethodDetails> parentPath) {
164            super(path, childPath, parentPath);
165        }
166        private PartyPaymentMethodDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodDetails> aliased) {
167            super(alias, aliased);
168        }
169
170        @Override
171        public PartyPaymentMethodDetailsPath as(String alias) {
172            return new PartyPaymentMethodDetailsPath(DSL.name(alias), this);
173        }
174
175        @Override
176        public PartyPaymentMethodDetailsPath as(Name alias) {
177            return new PartyPaymentMethodDetailsPath(alias, this);
178        }
179
180        @Override
181        public PartyPaymentMethodDetailsPath as(Table<?> alias) {
182            return new PartyPaymentMethodDetailsPath(alias.getQualifiedName(), this);
183        }
184    }
185
186    @Override
187    public UniqueKey<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodDetails> getPrimaryKey() {
188        return KeyRegistry.PARTY_PAYMENT_METHOD_DETAILS_PK;
189    }
190
191    @Override
192    public List<UniqueKey<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodDetails>> getUniqueKeys() {
193        return Arrays.asList(KeyRegistry.PARTY_PAYMENT_METHOD_DETAILS_PARTY_PAYMENT_METHOD_AND_THRU_TIME_UK, KeyRegistry.PARTY_PAYMENT_METHOD_DETAILS_PARTY_PAYMENT_METHOD_NAME_AND_THRU_TIME_UK);
194    }
195
196    @Override
197    public List<ForeignKey<com.echothree.model.jooq.server.records.payment.PartyPaymentMethodDetails, ?>> getReferences() {
198        return Arrays.asList(KeyRegistry.PARTY_PAYMENT_METHOD_DETAILS_PARTY_FK, KeyRegistry.PARTY_PAYMENT_METHOD_DETAILS_PARTY_PAYMENT_METHOD_FK, KeyRegistry.PARTY_PAYMENT_METHOD_DETAILS_PAYMENT_METHOD_FK);
199    }
200
201    private transient PartiesPath _parpmdt_par_partyid_fk;
202
203    /**
204     * Get the implicit join path to the <code>parties</code> table.
205     */
206    public PartiesPath parpmdt_par_partyid_fk() {
207        if (_parpmdt_par_partyid_fk == null)
208            _parpmdt_par_partyid_fk = new PartiesPath(this, KeyRegistry.PARTY_PAYMENT_METHOD_DETAILS_PARTY_FK, null);
209
210        return _parpmdt_par_partyid_fk;
211    }
212
213    private transient PartyPaymentMethodsPath _parpmdt_parpm_partypaymentmethodid_fk;
214
215    /**
216     * Get the implicit join path to the <code>partypaymentmethods</code> table.
217     */
218    public PartyPaymentMethodsPath parpmdt_parpm_partypaymentmethodid_fk() {
219        if (_parpmdt_parpm_partypaymentmethodid_fk == null)
220            _parpmdt_parpm_partypaymentmethodid_fk = new PartyPaymentMethodsPath(this, KeyRegistry.PARTY_PAYMENT_METHOD_DETAILS_PARTY_PAYMENT_METHOD_FK, null);
221
222        return _parpmdt_parpm_partypaymentmethodid_fk;
223    }
224
225    private transient PaymentMethodsPath _parpmdt_pm_paymentmethodid_fk;
226
227    /**
228     * Get the implicit join path to the <code>paymentmethods</code> table.
229     */
230    public PaymentMethodsPath parpmdt_pm_paymentmethodid_fk() {
231        if (_parpmdt_pm_paymentmethodid_fk == null)
232            _parpmdt_pm_paymentmethodid_fk = new PaymentMethodsPath(this, KeyRegistry.PARTY_PAYMENT_METHOD_DETAILS_PAYMENT_METHOD_FK, null);
233
234        return _parpmdt_pm_paymentmethodid_fk;
235    }
236
237    @Override
238    public PartyPaymentMethodDetails as(String alias) {
239        return new PartyPaymentMethodDetails(DSL.name(alias), this);
240    }
241
242    @Override
243    public PartyPaymentMethodDetails as(Name alias) {
244        return new PartyPaymentMethodDetails(alias, this);
245    }
246
247    @Override
248    public PartyPaymentMethodDetails as(Table<?> alias) {
249        return new PartyPaymentMethodDetails(alias.getQualifiedName(), this);
250    }
251
252    /**
253     * Rename this table
254     */
255    @Override
256    public PartyPaymentMethodDetails rename(String name) {
257        return new PartyPaymentMethodDetails(DSL.name(name), null);
258    }
259
260    /**
261     * Rename this table
262     */
263    @Override
264    public PartyPaymentMethodDetails rename(Name name) {
265        return new PartyPaymentMethodDetails(name, null);
266    }
267
268    /**
269     * Rename this table
270     */
271    @Override
272    public PartyPaymentMethodDetails rename(Table<?> name) {
273        return new PartyPaymentMethodDetails(name.getQualifiedName(), null);
274    }
275
276    /**
277     * Create an inline derived table from this table
278     */
279    @Override
280    public PartyPaymentMethodDetails where(Condition condition) {
281        return new PartyPaymentMethodDetails(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 PartyPaymentMethodDetails 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 PartyPaymentMethodDetails 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 PartyPaymentMethodDetails 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 PartyPaymentMethodDetails 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 PartyPaymentMethodDetails 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 PartyPaymentMethodDetails 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 PartyPaymentMethodDetails 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 PartyPaymentMethodDetails 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 PartyPaymentMethodDetails whereNotExists(TableLike<?> select) {
357        return where(DSL.notExists(select));
358    }
359}