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