001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.financial;
005
006
007import com.echothree.model.data.accounting.common.pk.CurrencyPK;
008import com.echothree.model.data.accounting.common.pk.GlAccountPK;
009import com.echothree.model.data.financial.common.pk.FinancialAccountDetailPK;
010import com.echothree.model.data.financial.common.pk.FinancialAccountPK;
011import com.echothree.model.data.financial.common.pk.FinancialAccountTypePK;
012import com.echothree.model.jooq.server.KeyRegistry;
013import com.echothree.model.jooq.server.tables.accounting.Currencies.CurrenciesPath;
014import com.echothree.model.jooq.server.tables.accounting.GlAccounts.GlAccountsPath;
015import com.echothree.model.jooq.server.tables.financial.FinancialAccountTypes.FinancialAccountTypesPath;
016import com.echothree.model.jooq.server.tables.financial.FinancialAccounts.FinancialAccountsPath;
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 FinancialAccountDetails extends TableImpl<com.echothree.model.jooq.server.records.financial.FinancialAccountDetails> {
050
051    private static final long serialVersionUID = 1L;
052
053    /**
054     * The reference instance of <code>financialaccountdetails</code>
055     */
056    public static final FinancialAccountDetails FinancialAccountDetails = new FinancialAccountDetails();
057
058    /**
059     * The class holding records for this type
060     */
061    @Override
062    public Class<com.echothree.model.jooq.server.records.financial.FinancialAccountDetails> getRecordType() {
063        return com.echothree.model.jooq.server.records.financial.FinancialAccountDetails.class;
064    }
065
066    /**
067     * The column
068     * <code>financialaccountdetails.finadt_financialaccountdetailid</code>.
069     */
070    public final TableField<com.echothree.model.jooq.server.records.financial.FinancialAccountDetails, FinancialAccountDetailPK> FINANCIAL_ACCOUNT_DETAIL = createField(DSL.name("finadt_financialaccountdetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, FinancialAccountDetailPK.class, id -> new com.echothree.model.data.financial.common.pk.FinancialAccountDetailPK(id), primaryKey -> primaryKey.getEntityId()));
071
072    /**
073     * The column
074     * <code>financialaccountdetails.finadt_fina_financialaccountid</code>.
075     */
076    public final TableField<com.echothree.model.jooq.server.records.financial.FinancialAccountDetails, FinancialAccountPK> FINANCIAL_ACCOUNT = createField(DSL.name("finadt_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()));
077
078    /**
079     * The column
080     * <code>financialaccountdetails.finadt_fnatyp_financialaccounttypeid</code>.
081     */
082    public final TableField<com.echothree.model.jooq.server.records.financial.FinancialAccountDetails, FinancialAccountTypePK> FINANCIAL_ACCOUNT_TYPE = createField(DSL.name("finadt_fnatyp_financialaccounttypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, FinancialAccountTypePK.class, id -> new com.echothree.model.data.financial.common.pk.FinancialAccountTypePK(id), primaryKey -> primaryKey.getEntityId()));
083
084    /**
085     * The column
086     * <code>financialaccountdetails.finadt_financialaccountname</code>.
087     */
088    public final TableField<com.echothree.model.jooq.server.records.financial.FinancialAccountDetails, String> FINANCIAL_ACCOUNT_NAME = createField(DSL.name("finadt_financialaccountname"), SQLDataType.VARCHAR(40).nullable(false), this, "");
089
090    /**
091     * The column <code>financialaccountdetails.finadt_cur_currencyid</code>.
092     */
093    public final TableField<com.echothree.model.jooq.server.records.financial.FinancialAccountDetails, CurrencyPK> CURRENCY = createField(DSL.name("finadt_cur_currencyid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, CurrencyPK.class, id -> new com.echothree.model.data.accounting.common.pk.CurrencyPK(id), primaryKey -> primaryKey.getEntityId()));
094
095    /**
096     * The column <code>financialaccountdetails.finadt_gla_glaccountid</code>.
097     */
098    public final TableField<com.echothree.model.jooq.server.records.financial.FinancialAccountDetails, GlAccountPK> GL_ACCOUNT = createField(DSL.name("finadt_gla_glaccountid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, GlAccountPK.class, id -> new com.echothree.model.data.accounting.common.pk.GlAccountPK(id), primaryKey -> primaryKey.getEntityId()));
099
100    /**
101     * The column <code>financialaccountdetails.finadt_reference</code>.
102     */
103    public final TableField<com.echothree.model.jooq.server.records.financial.FinancialAccountDetails, String> REFERENCE = createField(DSL.name("finadt_reference"), SQLDataType.VARCHAR(40), this, "");
104
105    /**
106     * The column <code>financialaccountdetails.finadt_description</code>.
107     */
108    public final TableField<com.echothree.model.jooq.server.records.financial.FinancialAccountDetails, String> DESCRIPTION = createField(DSL.name("finadt_description"), SQLDataType.VARCHAR(132), this, "");
109
110    /**
111     * The column <code>financialaccountdetails.finadt_fromtime</code>.
112     */
113    public final TableField<com.echothree.model.jooq.server.records.financial.FinancialAccountDetails, Long> FROM_TIME = createField(DSL.name("finadt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
114
115    /**
116     * The column <code>financialaccountdetails.finadt_thrutime</code>.
117     */
118    public final TableField<com.echothree.model.jooq.server.records.financial.FinancialAccountDetails, Long> THRU_TIME = createField(DSL.name("finadt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
119
120    private FinancialAccountDetails(Name alias, Table<com.echothree.model.jooq.server.records.financial.FinancialAccountDetails> aliased) {
121        this(alias, aliased, (Field<?>[]) null, null);
122    }
123
124    private FinancialAccountDetails(Name alias, Table<com.echothree.model.jooq.server.records.financial.FinancialAccountDetails> aliased, Field<?>[] parameters, Condition where) {
125        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
126    }
127
128    /**
129     * Create an aliased <code>financialaccountdetails</code> table reference
130     */
131    public FinancialAccountDetails(String alias) {
132        this(DSL.name(alias), FinancialAccountDetails);
133    }
134
135    /**
136     * Create an aliased <code>financialaccountdetails</code> table reference
137     */
138    public FinancialAccountDetails(Name alias) {
139        this(alias, FinancialAccountDetails);
140    }
141
142    /**
143     * Create a <code>financialaccountdetails</code> table reference
144     */
145    public FinancialAccountDetails() {
146        this(DSL.name("financialaccountdetails"), null);
147    }
148
149    public <O extends Record> FinancialAccountDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.financial.FinancialAccountDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.financial.FinancialAccountDetails> parentPath) {
150        super(path, childPath, parentPath, FinancialAccountDetails);
151    }
152
153    /**
154     * A subtype implementing {@link Path} for simplified path-based joins.
155     */
156    public static class FinancialAccountDetailsPath extends FinancialAccountDetails implements Path<com.echothree.model.jooq.server.records.financial.FinancialAccountDetails> {
157
158        private static final long serialVersionUID = 1L;
159        public <O extends Record> FinancialAccountDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.financial.FinancialAccountDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.financial.FinancialAccountDetails> parentPath) {
160            super(path, childPath, parentPath);
161        }
162        private FinancialAccountDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.financial.FinancialAccountDetails> aliased) {
163            super(alias, aliased);
164        }
165
166        @Override
167        public FinancialAccountDetailsPath as(String alias) {
168            return new FinancialAccountDetailsPath(DSL.name(alias), this);
169        }
170
171        @Override
172        public FinancialAccountDetailsPath as(Name alias) {
173            return new FinancialAccountDetailsPath(alias, this);
174        }
175
176        @Override
177        public FinancialAccountDetailsPath as(Table<?> alias) {
178            return new FinancialAccountDetailsPath(alias.getQualifiedName(), this);
179        }
180    }
181
182    @Override
183    public UniqueKey<com.echothree.model.jooq.server.records.financial.FinancialAccountDetails> getPrimaryKey() {
184        return KeyRegistry.FINANCIAL_ACCOUNT_DETAILS_PK;
185    }
186
187    @Override
188    public List<UniqueKey<com.echothree.model.jooq.server.records.financial.FinancialAccountDetails>> getUniqueKeys() {
189        return Arrays.asList(KeyRegistry.FINANCIAL_ACCOUNT_DETAILS_FINANCIAL_ACCOUNT_AND_THRU_TIME_UK, KeyRegistry.FINANCIAL_ACCOUNT_DETAILS_FINANCIAL_ACCOUNT_TYPE_AND_FINANCIAL_ACCOUNT_NAME_AND_THRU_TIME_UK);
190    }
191
192    @Override
193    public List<ForeignKey<com.echothree.model.jooq.server.records.financial.FinancialAccountDetails, ?>> getReferences() {
194        return Arrays.asList(KeyRegistry.FINANCIAL_ACCOUNT_DETAILS_CURRENCY_FK, KeyRegistry.FINANCIAL_ACCOUNT_DETAILS_FINANCIAL_ACCOUNT_FK, KeyRegistry.FINANCIAL_ACCOUNT_DETAILS_FINANCIAL_ACCOUNT_TYPE_FK, KeyRegistry.FINANCIAL_ACCOUNT_DETAILS_GL_ACCOUNT_FK);
195    }
196
197    private transient CurrenciesPath _finadt_cur_currencyid_fk;
198
199    /**
200     * Get the implicit join path to the <code>currencies</code> table.
201     */
202    public CurrenciesPath finadt_cur_currencyid_fk() {
203        if (_finadt_cur_currencyid_fk == null)
204            _finadt_cur_currencyid_fk = new CurrenciesPath(this, KeyRegistry.FINANCIAL_ACCOUNT_DETAILS_CURRENCY_FK, null);
205
206        return _finadt_cur_currencyid_fk;
207    }
208
209    private transient FinancialAccountsPath _finadt_fina_financialaccountid_fk;
210
211    /**
212     * Get the implicit join path to the <code>financialaccounts</code> table.
213     */
214    public FinancialAccountsPath finadt_fina_financialaccountid_fk() {
215        if (_finadt_fina_financialaccountid_fk == null)
216            _finadt_fina_financialaccountid_fk = new FinancialAccountsPath(this, KeyRegistry.FINANCIAL_ACCOUNT_DETAILS_FINANCIAL_ACCOUNT_FK, null);
217
218        return _finadt_fina_financialaccountid_fk;
219    }
220
221    private transient FinancialAccountTypesPath _finadt_fnatyp_financialaccounttypeid_fk;
222
223    /**
224     * Get the implicit join path to the <code>financialaccounttypes</code>
225     * table.
226     */
227    public FinancialAccountTypesPath finadt_fnatyp_financialaccounttypeid_fk() {
228        if (_finadt_fnatyp_financialaccounttypeid_fk == null)
229            _finadt_fnatyp_financialaccounttypeid_fk = new FinancialAccountTypesPath(this, KeyRegistry.FINANCIAL_ACCOUNT_DETAILS_FINANCIAL_ACCOUNT_TYPE_FK, null);
230
231        return _finadt_fnatyp_financialaccounttypeid_fk;
232    }
233
234    private transient GlAccountsPath _finadt_gla_glaccountid_fk;
235
236    /**
237     * Get the implicit join path to the <code>glaccounts</code> table.
238     */
239    public GlAccountsPath finadt_gla_glaccountid_fk() {
240        if (_finadt_gla_glaccountid_fk == null)
241            _finadt_gla_glaccountid_fk = new GlAccountsPath(this, KeyRegistry.FINANCIAL_ACCOUNT_DETAILS_GL_ACCOUNT_FK, null);
242
243        return _finadt_gla_glaccountid_fk;
244    }
245
246    @Override
247    public FinancialAccountDetails as(String alias) {
248        return new FinancialAccountDetails(DSL.name(alias), this);
249    }
250
251    @Override
252    public FinancialAccountDetails as(Name alias) {
253        return new FinancialAccountDetails(alias, this);
254    }
255
256    @Override
257    public FinancialAccountDetails as(Table<?> alias) {
258        return new FinancialAccountDetails(alias.getQualifiedName(), this);
259    }
260
261    /**
262     * Rename this table
263     */
264    @Override
265    public FinancialAccountDetails rename(String name) {
266        return new FinancialAccountDetails(DSL.name(name), null);
267    }
268
269    /**
270     * Rename this table
271     */
272    @Override
273    public FinancialAccountDetails rename(Name name) {
274        return new FinancialAccountDetails(name, null);
275    }
276
277    /**
278     * Rename this table
279     */
280    @Override
281    public FinancialAccountDetails rename(Table<?> name) {
282        return new FinancialAccountDetails(name.getQualifiedName(), null);
283    }
284
285    /**
286     * Create an inline derived table from this table
287     */
288    @Override
289    public FinancialAccountDetails where(Condition condition) {
290        return new FinancialAccountDetails(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
291    }
292
293    /**
294     * Create an inline derived table from this table
295     */
296    @Override
297    public FinancialAccountDetails where(Collection<? extends Condition> conditions) {
298        return where(DSL.and(conditions));
299    }
300
301    /**
302     * Create an inline derived table from this table
303     */
304    @Override
305    public FinancialAccountDetails where(Condition... conditions) {
306        return where(DSL.and(conditions));
307    }
308
309    /**
310     * Create an inline derived table from this table
311     */
312    @Override
313    public FinancialAccountDetails where(Field<Boolean> 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 FinancialAccountDetails where(SQL 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 FinancialAccountDetails where(@Stringly.SQL String condition) {
332        return where(DSL.condition(condition));
333    }
334
335    /**
336     * Create an inline derived table from this table
337     */
338    @Override
339    @PlainSQL
340    public FinancialAccountDetails where(@Stringly.SQL String condition, Object... binds) {
341        return where(DSL.condition(condition, binds));
342    }
343
344    /**
345     * Create an inline derived table from this table
346     */
347    @Override
348    @PlainSQL
349    public FinancialAccountDetails where(@Stringly.SQL String condition, QueryPart... parts) {
350        return where(DSL.condition(condition, parts));
351    }
352
353    /**
354     * Create an inline derived table from this table
355     */
356    @Override
357    public FinancialAccountDetails whereExists(TableLike<?> select) {
358        return where(DSL.exists(select));
359    }
360
361    /**
362     * Create an inline derived table from this table
363     */
364    @Override
365    public FinancialAccountDetails whereNotExists(TableLike<?> select) {
366        return where(DSL.notExists(select));
367    }
368}