001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.accounting;
005
006
007import com.echothree.model.data.accounting.common.pk.CurrencyPK;
008import com.echothree.model.data.accounting.common.pk.GlAccountCategoryPK;
009import com.echothree.model.data.accounting.common.pk.GlAccountClassPK;
010import com.echothree.model.data.accounting.common.pk.GlAccountDetailPK;
011import com.echothree.model.data.accounting.common.pk.GlAccountPK;
012import com.echothree.model.data.accounting.common.pk.GlAccountTypePK;
013import com.echothree.model.data.accounting.common.pk.GlResourceTypePK;
014import com.echothree.model.jooq.server.KeyRegistry;
015import com.echothree.model.jooq.server.tables.accounting.Currencies.CurrenciesPath;
016import com.echothree.model.jooq.server.tables.accounting.GlAccountCategories.GlAccountCategoriesPath;
017import com.echothree.model.jooq.server.tables.accounting.GlAccountClasses.GlAccountClassesPath;
018import com.echothree.model.jooq.server.tables.accounting.GlAccountTypes.GlAccountTypesPath;
019import com.echothree.model.jooq.server.tables.accounting.GlAccounts.GlAccountsPath;
020import com.echothree.model.jooq.server.tables.accounting.GlResourceTypes.GlResourceTypesPath;
021
022import java.util.Arrays;
023import java.util.Collection;
024import java.util.List;
025
026import org.jooq.Condition;
027import org.jooq.Converter;
028import org.jooq.Field;
029import org.jooq.ForeignKey;
030import org.jooq.InverseForeignKey;
031import org.jooq.Name;
032import org.jooq.Path;
033import org.jooq.PlainSQL;
034import org.jooq.QueryPart;
035import org.jooq.Record;
036import org.jooq.SQL;
037import org.jooq.Stringly;
038import org.jooq.Table;
039import org.jooq.TableField;
040import org.jooq.TableLike;
041import org.jooq.TableOptions;
042import org.jooq.UniqueKey;
043import org.jooq.impl.DSL;
044import org.jooq.impl.Internal;
045import org.jooq.impl.SQLDataType;
046import org.jooq.impl.TableImpl;
047
048
049/**
050 * This class is generated by jOOQ.
051 */
052@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
053public class GlAccountDetails extends TableImpl<com.echothree.model.jooq.server.records.accounting.GlAccountDetails> {
054
055    private static final long serialVersionUID = 1L;
056
057    /**
058     * The reference instance of <code>glaccountdetails</code>
059     */
060    public static final GlAccountDetails GlAccountDetails = new GlAccountDetails();
061
062    /**
063     * The class holding records for this type
064     */
065    @Override
066    public Class<com.echothree.model.jooq.server.records.accounting.GlAccountDetails> getRecordType() {
067        return com.echothree.model.jooq.server.records.accounting.GlAccountDetails.class;
068    }
069
070    /**
071     * The column <code>glaccountdetails.gladt_glaccountdetailid</code>.
072     */
073    public final TableField<com.echothree.model.jooq.server.records.accounting.GlAccountDetails, GlAccountDetailPK> GL_ACCOUNT_DETAIL = createField(DSL.name("gladt_glaccountdetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, GlAccountDetailPK.class, id -> new com.echothree.model.data.accounting.common.pk.GlAccountDetailPK(id), primaryKey -> primaryKey.getEntityId()));
074
075    /**
076     * The column <code>glaccountdetails.gladt_gla_glaccountid</code>.
077     */
078    public final TableField<com.echothree.model.jooq.server.records.accounting.GlAccountDetails, GlAccountPK> GL_ACCOUNT = createField(DSL.name("gladt_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()));
079
080    /**
081     * The column <code>glaccountdetails.gladt_glaccountname</code>.
082     */
083    public final TableField<com.echothree.model.jooq.server.records.accounting.GlAccountDetails, String> GL_ACCOUNT_NAME = createField(DSL.name("gladt_glaccountname"), SQLDataType.VARCHAR(40).nullable(false), this, "");
084
085    /**
086     * The column <code>glaccountdetails.gladt_parentglaccountid</code>.
087     */
088    public final TableField<com.echothree.model.jooq.server.records.accounting.GlAccountDetails, GlAccountPK> PARENT_GL_ACCOUNT = createField(DSL.name("gladt_parentglaccountid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, GlAccountPK.class, id -> new com.echothree.model.data.accounting.common.pk.GlAccountPK(id), primaryKey -> primaryKey.getEntityId()));
089
090    /**
091     * The column <code>glaccountdetails.gladt_glatyp_glaccounttypeid</code>.
092     */
093    public final TableField<com.echothree.model.jooq.server.records.accounting.GlAccountDetails, GlAccountTypePK> GL_ACCOUNT_TYPE = createField(DSL.name("gladt_glatyp_glaccounttypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, GlAccountTypePK.class, id -> new com.echothree.model.data.accounting.common.pk.GlAccountTypePK(id), primaryKey -> primaryKey.getEntityId()));
094
095    /**
096     * The column <code>glaccountdetails.gladt_glacls_glaccountclassid</code>.
097     */
098    public final TableField<com.echothree.model.jooq.server.records.accounting.GlAccountDetails, GlAccountClassPK> GL_ACCOUNT_CLASS = createField(DSL.name("gladt_glacls_glaccountclassid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, GlAccountClassPK.class, id -> new com.echothree.model.data.accounting.common.pk.GlAccountClassPK(id), primaryKey -> primaryKey.getEntityId()));
099
100    /**
101     * The column <code>glaccountdetails.gladt_glac_glaccountcategoryid</code>.
102     */
103    public final TableField<com.echothree.model.jooq.server.records.accounting.GlAccountDetails, GlAccountCategoryPK> GL_ACCOUNT_CATEGORY = createField(DSL.name("gladt_glac_glaccountcategoryid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, GlAccountCategoryPK.class, id -> new com.echothree.model.data.accounting.common.pk.GlAccountCategoryPK(id), primaryKey -> primaryKey.getEntityId()));
104
105    /**
106     * The column <code>glaccountdetails.gladt_glrtyp_glresourcetypeid</code>.
107     */
108    public final TableField<com.echothree.model.jooq.server.records.accounting.GlAccountDetails, GlResourceTypePK> GL_RESOURCE_TYPE = createField(DSL.name("gladt_glrtyp_glresourcetypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, GlResourceTypePK.class, id -> new com.echothree.model.data.accounting.common.pk.GlResourceTypePK(id), primaryKey -> primaryKey.getEntityId()));
109
110    /**
111     * The column <code>glaccountdetails.gladt_cur_currencyid</code>.
112     */
113    public final TableField<com.echothree.model.jooq.server.records.accounting.GlAccountDetails, CurrencyPK> CURRENCY = createField(DSL.name("gladt_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()));
114
115    /**
116     * The column <code>glaccountdetails.gladt_isdefault</code>.
117     */
118    public final TableField<com.echothree.model.jooq.server.records.accounting.GlAccountDetails, Boolean> IS_DEFAULT = createField(DSL.name("gladt_isdefault"), SQLDataType.BIT, this, "");
119
120    /**
121     * The column <code>glaccountdetails.gladt_fromtime</code>.
122     */
123    public final TableField<com.echothree.model.jooq.server.records.accounting.GlAccountDetails, Long> FROM_TIME = createField(DSL.name("gladt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
124
125    /**
126     * The column <code>glaccountdetails.gladt_thrutime</code>.
127     */
128    public final TableField<com.echothree.model.jooq.server.records.accounting.GlAccountDetails, Long> THRU_TIME = createField(DSL.name("gladt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
129
130    private GlAccountDetails(Name alias, Table<com.echothree.model.jooq.server.records.accounting.GlAccountDetails> aliased) {
131        this(alias, aliased, (Field<?>[]) null, null);
132    }
133
134    private GlAccountDetails(Name alias, Table<com.echothree.model.jooq.server.records.accounting.GlAccountDetails> aliased, Field<?>[] parameters, Condition where) {
135        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
136    }
137
138    /**
139     * Create an aliased <code>glaccountdetails</code> table reference
140     */
141    public GlAccountDetails(String alias) {
142        this(DSL.name(alias), GlAccountDetails);
143    }
144
145    /**
146     * Create an aliased <code>glaccountdetails</code> table reference
147     */
148    public GlAccountDetails(Name alias) {
149        this(alias, GlAccountDetails);
150    }
151
152    /**
153     * Create a <code>glaccountdetails</code> table reference
154     */
155    public GlAccountDetails() {
156        this(DSL.name("glaccountdetails"), null);
157    }
158
159    public <O extends Record> GlAccountDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.accounting.GlAccountDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.accounting.GlAccountDetails> parentPath) {
160        super(path, childPath, parentPath, GlAccountDetails);
161    }
162
163    /**
164     * A subtype implementing {@link Path} for simplified path-based joins.
165     */
166    public static class GlAccountDetailsPath extends GlAccountDetails implements Path<com.echothree.model.jooq.server.records.accounting.GlAccountDetails> {
167
168        private static final long serialVersionUID = 1L;
169        public <O extends Record> GlAccountDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.accounting.GlAccountDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.accounting.GlAccountDetails> parentPath) {
170            super(path, childPath, parentPath);
171        }
172        private GlAccountDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.accounting.GlAccountDetails> aliased) {
173            super(alias, aliased);
174        }
175
176        @Override
177        public GlAccountDetailsPath as(String alias) {
178            return new GlAccountDetailsPath(DSL.name(alias), this);
179        }
180
181        @Override
182        public GlAccountDetailsPath as(Name alias) {
183            return new GlAccountDetailsPath(alias, this);
184        }
185
186        @Override
187        public GlAccountDetailsPath as(Table<?> alias) {
188            return new GlAccountDetailsPath(alias.getQualifiedName(), this);
189        }
190    }
191
192    @Override
193    public UniqueKey<com.echothree.model.jooq.server.records.accounting.GlAccountDetails> getPrimaryKey() {
194        return KeyRegistry.GL_ACCOUNT_DETAILS_PK;
195    }
196
197    @Override
198    public List<UniqueKey<com.echothree.model.jooq.server.records.accounting.GlAccountDetails>> getUniqueKeys() {
199        return Arrays.asList(KeyRegistry.GL_ACCOUNT_DETAILS_GL_ACCOUNT_AND_THRU_TIME_UK, KeyRegistry.GL_ACCOUNT_DETAILS_GL_ACCOUNT_NAME_AND_THRU_TIME_UK);
200    }
201
202    @Override
203    public List<ForeignKey<com.echothree.model.jooq.server.records.accounting.GlAccountDetails, ?>> getReferences() {
204        return Arrays.asList(KeyRegistry.GL_ACCOUNT_DETAILS_CURRENCY_FK, KeyRegistry.GL_ACCOUNT_DETAILS_GL_ACCOUNT_FK, KeyRegistry.GL_ACCOUNT_DETAILS_GL_ACCOUNT_CATEGORY_FK, KeyRegistry.GL_ACCOUNT_DETAILS_GL_ACCOUNT_CLASS_FK, KeyRegistry.GL_ACCOUNT_DETAILS_GL_ACCOUNT_TYPE_FK, KeyRegistry.GL_ACCOUNT_DETAILS_GL_RESOURCE_TYPE_FK, KeyRegistry.GL_ACCOUNT_DETAILS_PARENT_GL_ACCOUNT_FK);
205    }
206
207    private transient CurrenciesPath _gladt_cur_currencyid_fk;
208
209    /**
210     * Get the implicit join path to the <code>currencies</code> table.
211     */
212    public CurrenciesPath gladt_cur_currencyid_fk() {
213        if (_gladt_cur_currencyid_fk == null)
214            _gladt_cur_currencyid_fk = new CurrenciesPath(this, KeyRegistry.GL_ACCOUNT_DETAILS_CURRENCY_FK, null);
215
216        return _gladt_cur_currencyid_fk;
217    }
218
219    private transient GlAccountsPath _gladt_gla_glaccountid_fk;
220
221    /**
222     * Get the implicit join path to the <code>glaccounts</code> table, via the
223     * <code>gladt_gla_glaccountid_fk</code> key.
224     */
225    public GlAccountsPath gladt_gla_glaccountid_fk() {
226        if (_gladt_gla_glaccountid_fk == null)
227            _gladt_gla_glaccountid_fk = new GlAccountsPath(this, KeyRegistry.GL_ACCOUNT_DETAILS_GL_ACCOUNT_FK, null);
228
229        return _gladt_gla_glaccountid_fk;
230    }
231
232    private transient GlAccountCategoriesPath _gladt_glac_glaccountcategoryid_fk;
233
234    /**
235     * Get the implicit join path to the <code>glaccountcategories</code> table.
236     */
237    public GlAccountCategoriesPath gladt_glac_glaccountcategoryid_fk() {
238        if (_gladt_glac_glaccountcategoryid_fk == null)
239            _gladt_glac_glaccountcategoryid_fk = new GlAccountCategoriesPath(this, KeyRegistry.GL_ACCOUNT_DETAILS_GL_ACCOUNT_CATEGORY_FK, null);
240
241        return _gladt_glac_glaccountcategoryid_fk;
242    }
243
244    private transient GlAccountClassesPath _gladt_glacls_glaccountclassid_fk;
245
246    /**
247     * Get the implicit join path to the <code>glaccountclasses</code> table.
248     */
249    public GlAccountClassesPath gladt_glacls_glaccountclassid_fk() {
250        if (_gladt_glacls_glaccountclassid_fk == null)
251            _gladt_glacls_glaccountclassid_fk = new GlAccountClassesPath(this, KeyRegistry.GL_ACCOUNT_DETAILS_GL_ACCOUNT_CLASS_FK, null);
252
253        return _gladt_glacls_glaccountclassid_fk;
254    }
255
256    private transient GlAccountTypesPath _gladt_glatyp_glaccounttypeid_fk;
257
258    /**
259     * Get the implicit join path to the <code>glaccounttypes</code> table.
260     */
261    public GlAccountTypesPath gladt_glatyp_glaccounttypeid_fk() {
262        if (_gladt_glatyp_glaccounttypeid_fk == null)
263            _gladt_glatyp_glaccounttypeid_fk = new GlAccountTypesPath(this, KeyRegistry.GL_ACCOUNT_DETAILS_GL_ACCOUNT_TYPE_FK, null);
264
265        return _gladt_glatyp_glaccounttypeid_fk;
266    }
267
268    private transient GlResourceTypesPath _gladt_glrtyp_glresourcetypeid_fk;
269
270    /**
271     * Get the implicit join path to the <code>glresourcetypes</code> table.
272     */
273    public GlResourceTypesPath gladt_glrtyp_glresourcetypeid_fk() {
274        if (_gladt_glrtyp_glresourcetypeid_fk == null)
275            _gladt_glrtyp_glresourcetypeid_fk = new GlResourceTypesPath(this, KeyRegistry.GL_ACCOUNT_DETAILS_GL_RESOURCE_TYPE_FK, null);
276
277        return _gladt_glrtyp_glresourcetypeid_fk;
278    }
279
280    private transient GlAccountsPath _gladt_parentglaccountid_fk;
281
282    /**
283     * Get the implicit join path to the <code>glaccounts</code> table, via the
284     * <code>gladt_parentglaccountid_fk</code> key.
285     */
286    public GlAccountsPath gladt_parentglaccountid_fk() {
287        if (_gladt_parentglaccountid_fk == null)
288            _gladt_parentglaccountid_fk = new GlAccountsPath(this, KeyRegistry.GL_ACCOUNT_DETAILS_PARENT_GL_ACCOUNT_FK, null);
289
290        return _gladt_parentglaccountid_fk;
291    }
292
293    @Override
294    public GlAccountDetails as(String alias) {
295        return new GlAccountDetails(DSL.name(alias), this);
296    }
297
298    @Override
299    public GlAccountDetails as(Name alias) {
300        return new GlAccountDetails(alias, this);
301    }
302
303    @Override
304    public GlAccountDetails as(Table<?> alias) {
305        return new GlAccountDetails(alias.getQualifiedName(), this);
306    }
307
308    /**
309     * Rename this table
310     */
311    @Override
312    public GlAccountDetails rename(String name) {
313        return new GlAccountDetails(DSL.name(name), null);
314    }
315
316    /**
317     * Rename this table
318     */
319    @Override
320    public GlAccountDetails rename(Name name) {
321        return new GlAccountDetails(name, null);
322    }
323
324    /**
325     * Rename this table
326     */
327    @Override
328    public GlAccountDetails rename(Table<?> name) {
329        return new GlAccountDetails(name.getQualifiedName(), null);
330    }
331
332    /**
333     * Create an inline derived table from this table
334     */
335    @Override
336    public GlAccountDetails where(Condition condition) {
337        return new GlAccountDetails(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
338    }
339
340    /**
341     * Create an inline derived table from this table
342     */
343    @Override
344    public GlAccountDetails where(Collection<? extends Condition> conditions) {
345        return where(DSL.and(conditions));
346    }
347
348    /**
349     * Create an inline derived table from this table
350     */
351    @Override
352    public GlAccountDetails where(Condition... conditions) {
353        return where(DSL.and(conditions));
354    }
355
356    /**
357     * Create an inline derived table from this table
358     */
359    @Override
360    public GlAccountDetails where(Field<Boolean> condition) {
361        return where(DSL.condition(condition));
362    }
363
364    /**
365     * Create an inline derived table from this table
366     */
367    @Override
368    @PlainSQL
369    public GlAccountDetails where(SQL condition) {
370        return where(DSL.condition(condition));
371    }
372
373    /**
374     * Create an inline derived table from this table
375     */
376    @Override
377    @PlainSQL
378    public GlAccountDetails where(@Stringly.SQL String condition) {
379        return where(DSL.condition(condition));
380    }
381
382    /**
383     * Create an inline derived table from this table
384     */
385    @Override
386    @PlainSQL
387    public GlAccountDetails where(@Stringly.SQL String condition, Object... binds) {
388        return where(DSL.condition(condition, binds));
389    }
390
391    /**
392     * Create an inline derived table from this table
393     */
394    @Override
395    @PlainSQL
396    public GlAccountDetails where(@Stringly.SQL String condition, QueryPart... parts) {
397        return where(DSL.condition(condition, parts));
398    }
399
400    /**
401     * Create an inline derived table from this table
402     */
403    @Override
404    public GlAccountDetails whereExists(TableLike<?> select) {
405        return where(DSL.exists(select));
406    }
407
408    /**
409     * Create an inline derived table from this table
410     */
411    @Override
412    public GlAccountDetails whereNotExists(TableLike<?> select) {
413        return where(DSL.notExists(select));
414    }
415}