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