001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.payment;
005
006
007import com.echothree.model.data.payment.common.pk.PaymentMethodDetailPK;
008import com.echothree.model.data.payment.common.pk.PaymentMethodPK;
009import com.echothree.model.data.payment.common.pk.PaymentMethodTypePK;
010import com.echothree.model.data.payment.common.pk.PaymentProcessorPK;
011import com.echothree.model.data.selector.common.pk.SelectorPK;
012import com.echothree.model.jooq.server.KeyRegistry;
013import com.echothree.model.jooq.server.tables.payment.PaymentMethodTypes.PaymentMethodTypesPath;
014import com.echothree.model.jooq.server.tables.payment.PaymentMethods.PaymentMethodsPath;
015import com.echothree.model.jooq.server.tables.payment.PaymentProcessors.PaymentProcessorsPath;
016import com.echothree.model.jooq.server.tables.selector.Selectors.SelectorsPath;
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.InverseForeignKey;
027import org.jooq.Name;
028import org.jooq.Path;
029import org.jooq.PlainSQL;
030import org.jooq.QueryPart;
031import org.jooq.Record;
032import org.jooq.SQL;
033import org.jooq.Stringly;
034import org.jooq.Table;
035import org.jooq.TableField;
036import org.jooq.TableLike;
037import org.jooq.TableOptions;
038import org.jooq.UniqueKey;
039import org.jooq.impl.DSL;
040import org.jooq.impl.Internal;
041import org.jooq.impl.SQLDataType;
042import org.jooq.impl.TableImpl;
043
044
045/**
046 * This class is generated by jOOQ.
047 */
048@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
049public class PaymentMethodDetails extends TableImpl<com.echothree.model.jooq.server.records.payment.PaymentMethodDetails> {
050
051    private static final long serialVersionUID = 1L;
052
053    /**
054     * The reference instance of <code>paymentmethoddetails</code>
055     */
056    public static final PaymentMethodDetails PaymentMethodDetails = new PaymentMethodDetails();
057
058    /**
059     * The class holding records for this type
060     */
061    @Override
062    public Class<com.echothree.model.jooq.server.records.payment.PaymentMethodDetails> getRecordType() {
063        return com.echothree.model.jooq.server.records.payment.PaymentMethodDetails.class;
064    }
065
066    /**
067     * The column <code>paymentmethoddetails.pmdt_paymentmethoddetailid</code>.
068     */
069    public final TableField<com.echothree.model.jooq.server.records.payment.PaymentMethodDetails, PaymentMethodDetailPK> PAYMENT_METHOD_DETAIL = createField(DSL.name("pmdt_paymentmethoddetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, PaymentMethodDetailPK.class, id -> new com.echothree.model.data.payment.common.pk.PaymentMethodDetailPK(id), primaryKey -> primaryKey.getEntityId()));
070
071    /**
072     * The column <code>paymentmethoddetails.pmdt_pm_paymentmethodid</code>.
073     */
074    public final TableField<com.echothree.model.jooq.server.records.payment.PaymentMethodDetails, PaymentMethodPK> PAYMENT_METHOD = createField(DSL.name("pmdt_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()));
075
076    /**
077     * The column <code>paymentmethoddetails.pmdt_paymentmethodname</code>.
078     */
079    public final TableField<com.echothree.model.jooq.server.records.payment.PaymentMethodDetails, String> PAYMENT_METHOD_NAME = createField(DSL.name("pmdt_paymentmethodname"), SQLDataType.VARCHAR(40).nullable(false), this, "");
080
081    /**
082     * The column
083     * <code>paymentmethoddetails.pmdt_pmtyp_paymentmethodtypeid</code>.
084     */
085    public final TableField<com.echothree.model.jooq.server.records.payment.PaymentMethodDetails, PaymentMethodTypePK> PAYMENT_METHOD_TYPE = createField(DSL.name("pmdt_pmtyp_paymentmethodtypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, PaymentMethodTypePK.class, id -> new com.echothree.model.data.payment.common.pk.PaymentMethodTypePK(id), primaryKey -> primaryKey.getEntityId()));
086
087    /**
088     * The column
089     * <code>paymentmethoddetails.pmdt_pprc_paymentprocessorid</code>.
090     */
091    public final TableField<com.echothree.model.jooq.server.records.payment.PaymentMethodDetails, PaymentProcessorPK> PAYMENT_PROCESSOR = createField(DSL.name("pmdt_pprc_paymentprocessorid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, PaymentProcessorPK.class, id -> new com.echothree.model.data.payment.common.pk.PaymentProcessorPK(id), primaryKey -> primaryKey.getEntityId()));
092
093    /**
094     * The column <code>paymentmethoddetails.pmdt_itemselectorid</code>.
095     */
096    public final TableField<com.echothree.model.jooq.server.records.payment.PaymentMethodDetails, SelectorPK> ITEM_SELECTOR = createField(DSL.name("pmdt_itemselectorid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, SelectorPK.class, id -> new com.echothree.model.data.selector.common.pk.SelectorPK(id), primaryKey -> primaryKey.getEntityId()));
097
098    /**
099     * The column
100     * <code>paymentmethoddetails.pmdt_salesorderitemselectorid</code>.
101     */
102    public final TableField<com.echothree.model.jooq.server.records.payment.PaymentMethodDetails, SelectorPK> SALES_ORDER_ITEM_SELECTOR = createField(DSL.name("pmdt_salesorderitemselectorid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, SelectorPK.class, id -> new com.echothree.model.data.selector.common.pk.SelectorPK(id), primaryKey -> primaryKey.getEntityId()));
103
104    /**
105     * The column <code>paymentmethoddetails.pmdt_isdefault</code>.
106     */
107    public final TableField<com.echothree.model.jooq.server.records.payment.PaymentMethodDetails, Boolean> IS_DEFAULT = createField(DSL.name("pmdt_isdefault"), SQLDataType.BIT.nullable(false), this, "");
108
109    /**
110     * The column <code>paymentmethoddetails.pmdt_sortorder</code>.
111     */
112    public final TableField<com.echothree.model.jooq.server.records.payment.PaymentMethodDetails, Integer> SORT_ORDER = createField(DSL.name("pmdt_sortorder"), SQLDataType.INTEGER.nullable(false), this, "");
113
114    /**
115     * The column <code>paymentmethoddetails.pmdt_fromtime</code>.
116     */
117    public final TableField<com.echothree.model.jooq.server.records.payment.PaymentMethodDetails, Long> FROM_TIME = createField(DSL.name("pmdt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
118
119    /**
120     * The column <code>paymentmethoddetails.pmdt_thrutime</code>.
121     */
122    public final TableField<com.echothree.model.jooq.server.records.payment.PaymentMethodDetails, Long> THRU_TIME = createField(DSL.name("pmdt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
123
124    private PaymentMethodDetails(Name alias, Table<com.echothree.model.jooq.server.records.payment.PaymentMethodDetails> aliased) {
125        this(alias, aliased, (Field<?>[]) null, null);
126    }
127
128    private PaymentMethodDetails(Name alias, Table<com.echothree.model.jooq.server.records.payment.PaymentMethodDetails> aliased, Field<?>[] parameters, Condition where) {
129        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
130    }
131
132    /**
133     * Create an aliased <code>paymentmethoddetails</code> table reference
134     */
135    public PaymentMethodDetails(String alias) {
136        this(DSL.name(alias), PaymentMethodDetails);
137    }
138
139    /**
140     * Create an aliased <code>paymentmethoddetails</code> table reference
141     */
142    public PaymentMethodDetails(Name alias) {
143        this(alias, PaymentMethodDetails);
144    }
145
146    /**
147     * Create a <code>paymentmethoddetails</code> table reference
148     */
149    public PaymentMethodDetails() {
150        this(DSL.name("paymentmethoddetails"), null);
151    }
152
153    public <O extends Record> PaymentMethodDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.payment.PaymentMethodDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.payment.PaymentMethodDetails> parentPath) {
154        super(path, childPath, parentPath, PaymentMethodDetails);
155    }
156
157    /**
158     * A subtype implementing {@link Path} for simplified path-based joins.
159     */
160    public static class PaymentMethodDetailsPath extends PaymentMethodDetails implements Path<com.echothree.model.jooq.server.records.payment.PaymentMethodDetails> {
161
162        private static final long serialVersionUID = 1L;
163        public <O extends Record> PaymentMethodDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.payment.PaymentMethodDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.payment.PaymentMethodDetails> parentPath) {
164            super(path, childPath, parentPath);
165        }
166        private PaymentMethodDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.payment.PaymentMethodDetails> aliased) {
167            super(alias, aliased);
168        }
169
170        @Override
171        public PaymentMethodDetailsPath as(String alias) {
172            return new PaymentMethodDetailsPath(DSL.name(alias), this);
173        }
174
175        @Override
176        public PaymentMethodDetailsPath as(Name alias) {
177            return new PaymentMethodDetailsPath(alias, this);
178        }
179
180        @Override
181        public PaymentMethodDetailsPath as(Table<?> alias) {
182            return new PaymentMethodDetailsPath(alias.getQualifiedName(), this);
183        }
184    }
185
186    @Override
187    public UniqueKey<com.echothree.model.jooq.server.records.payment.PaymentMethodDetails> getPrimaryKey() {
188        return KeyRegistry.PAYMENT_METHOD_DETAILS_PK;
189    }
190
191    @Override
192    public List<UniqueKey<com.echothree.model.jooq.server.records.payment.PaymentMethodDetails>> getUniqueKeys() {
193        return Arrays.asList(KeyRegistry.PAYMENT_METHOD_DETAILS_PAYMENT_METHOD_AND_THRU_TIME_UK, KeyRegistry.PAYMENT_METHOD_DETAILS_PAYMENT_METHOD_NAME_AND_THRU_TIME_UK);
194    }
195
196    @Override
197    public List<ForeignKey<com.echothree.model.jooq.server.records.payment.PaymentMethodDetails, ?>> getReferences() {
198        return Arrays.asList(KeyRegistry.PAYMENT_METHOD_DETAILS_ITEM_SELECTOR_FK, KeyRegistry.PAYMENT_METHOD_DETAILS_PAYMENT_METHOD_FK, KeyRegistry.PAYMENT_METHOD_DETAILS_PAYMENT_METHOD_TYPE_FK, KeyRegistry.PAYMENT_METHOD_DETAILS_PAYMENT_PROCESSOR_FK, KeyRegistry.PAYMENT_METHOD_DETAILS_SALES_ORDER_ITEM_SELECTOR_FK);
199    }
200
201    private transient SelectorsPath _pmdt_itemselectorid_fk;
202
203    /**
204     * Get the implicit join path to the <code>selectors</code> table, via the
205     * <code>pmdt_itemselectorid_fk</code> key.
206     */
207    public SelectorsPath pmdt_itemselectorid_fk() {
208        if (_pmdt_itemselectorid_fk == null)
209            _pmdt_itemselectorid_fk = new SelectorsPath(this, KeyRegistry.PAYMENT_METHOD_DETAILS_ITEM_SELECTOR_FK, null);
210
211        return _pmdt_itemselectorid_fk;
212    }
213
214    private transient PaymentMethodsPath _pmdt_pm_paymentmethodid_fk;
215
216    /**
217     * Get the implicit join path to the <code>paymentmethods</code> table.
218     */
219    public PaymentMethodsPath pmdt_pm_paymentmethodid_fk() {
220        if (_pmdt_pm_paymentmethodid_fk == null)
221            _pmdt_pm_paymentmethodid_fk = new PaymentMethodsPath(this, KeyRegistry.PAYMENT_METHOD_DETAILS_PAYMENT_METHOD_FK, null);
222
223        return _pmdt_pm_paymentmethodid_fk;
224    }
225
226    private transient PaymentMethodTypesPath _pmdt_pmtyp_paymentmethodtypeid_fk;
227
228    /**
229     * Get the implicit join path to the <code>paymentmethodtypes</code> table.
230     */
231    public PaymentMethodTypesPath pmdt_pmtyp_paymentmethodtypeid_fk() {
232        if (_pmdt_pmtyp_paymentmethodtypeid_fk == null)
233            _pmdt_pmtyp_paymentmethodtypeid_fk = new PaymentMethodTypesPath(this, KeyRegistry.PAYMENT_METHOD_DETAILS_PAYMENT_METHOD_TYPE_FK, null);
234
235        return _pmdt_pmtyp_paymentmethodtypeid_fk;
236    }
237
238    private transient PaymentProcessorsPath _pmdt_pprc_paymentprocessorid_fk;
239
240    /**
241     * Get the implicit join path to the <code>paymentprocessors</code> table.
242     */
243    public PaymentProcessorsPath pmdt_pprc_paymentprocessorid_fk() {
244        if (_pmdt_pprc_paymentprocessorid_fk == null)
245            _pmdt_pprc_paymentprocessorid_fk = new PaymentProcessorsPath(this, KeyRegistry.PAYMENT_METHOD_DETAILS_PAYMENT_PROCESSOR_FK, null);
246
247        return _pmdt_pprc_paymentprocessorid_fk;
248    }
249
250    private transient SelectorsPath _pmdt_salesorderitemselectorid_fk;
251
252    /**
253     * Get the implicit join path to the <code>selectors</code> table, via the
254     * <code>pmdt_salesorderitemselectorid_fk</code> key.
255     */
256    public SelectorsPath pmdt_salesorderitemselectorid_fk() {
257        if (_pmdt_salesorderitemselectorid_fk == null)
258            _pmdt_salesorderitemselectorid_fk = new SelectorsPath(this, KeyRegistry.PAYMENT_METHOD_DETAILS_SALES_ORDER_ITEM_SELECTOR_FK, null);
259
260        return _pmdt_salesorderitemselectorid_fk;
261    }
262
263    @Override
264    public PaymentMethodDetails as(String alias) {
265        return new PaymentMethodDetails(DSL.name(alias), this);
266    }
267
268    @Override
269    public PaymentMethodDetails as(Name alias) {
270        return new PaymentMethodDetails(alias, this);
271    }
272
273    @Override
274    public PaymentMethodDetails as(Table<?> alias) {
275        return new PaymentMethodDetails(alias.getQualifiedName(), this);
276    }
277
278    /**
279     * Rename this table
280     */
281    @Override
282    public PaymentMethodDetails rename(String name) {
283        return new PaymentMethodDetails(DSL.name(name), null);
284    }
285
286    /**
287     * Rename this table
288     */
289    @Override
290    public PaymentMethodDetails rename(Name name) {
291        return new PaymentMethodDetails(name, null);
292    }
293
294    /**
295     * Rename this table
296     */
297    @Override
298    public PaymentMethodDetails rename(Table<?> name) {
299        return new PaymentMethodDetails(name.getQualifiedName(), null);
300    }
301
302    /**
303     * Create an inline derived table from this table
304     */
305    @Override
306    public PaymentMethodDetails where(Condition condition) {
307        return new PaymentMethodDetails(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
308    }
309
310    /**
311     * Create an inline derived table from this table
312     */
313    @Override
314    public PaymentMethodDetails where(Collection<? extends Condition> conditions) {
315        return where(DSL.and(conditions));
316    }
317
318    /**
319     * Create an inline derived table from this table
320     */
321    @Override
322    public PaymentMethodDetails where(Condition... conditions) {
323        return where(DSL.and(conditions));
324    }
325
326    /**
327     * Create an inline derived table from this table
328     */
329    @Override
330    public PaymentMethodDetails where(Field<Boolean> condition) {
331        return where(DSL.condition(condition));
332    }
333
334    /**
335     * Create an inline derived table from this table
336     */
337    @Override
338    @PlainSQL
339    public PaymentMethodDetails where(SQL condition) {
340        return where(DSL.condition(condition));
341    }
342
343    /**
344     * Create an inline derived table from this table
345     */
346    @Override
347    @PlainSQL
348    public PaymentMethodDetails where(@Stringly.SQL String condition) {
349        return where(DSL.condition(condition));
350    }
351
352    /**
353     * Create an inline derived table from this table
354     */
355    @Override
356    @PlainSQL
357    public PaymentMethodDetails where(@Stringly.SQL String condition, Object... binds) {
358        return where(DSL.condition(condition, binds));
359    }
360
361    /**
362     * Create an inline derived table from this table
363     */
364    @Override
365    @PlainSQL
366    public PaymentMethodDetails where(@Stringly.SQL String condition, QueryPart... parts) {
367        return where(DSL.condition(condition, parts));
368    }
369
370    /**
371     * Create an inline derived table from this table
372     */
373    @Override
374    public PaymentMethodDetails whereExists(TableLike<?> select) {
375        return where(DSL.exists(select));
376    }
377
378    /**
379     * Create an inline derived table from this table
380     */
381    @Override
382    public PaymentMethodDetails whereNotExists(TableLike<?> select) {
383        return where(DSL.notExists(select));
384    }
385}