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