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.TransactionGlAccountCategoryDescriptionPK;
008import com.echothree.model.data.accounting.common.pk.TransactionGlAccountCategoryPK;
009import com.echothree.model.data.party.common.pk.LanguagePK;
010import com.echothree.model.jooq.server.KeyRegistry;
011import com.echothree.model.jooq.server.tables.accounting.TransactionGlAccountCategories.TransactionGlAccountCategoriesPath;
012import com.echothree.model.jooq.server.tables.party.Languages.LanguagesPath;
013
014import java.util.Arrays;
015import java.util.Collection;
016import java.util.List;
017
018import org.jooq.Condition;
019import org.jooq.Converter;
020import org.jooq.Field;
021import org.jooq.ForeignKey;
022import org.jooq.Name;
023import org.jooq.PlainSQL;
024import org.jooq.QueryPart;
025import org.jooq.SQL;
026import org.jooq.Stringly;
027import org.jooq.Table;
028import org.jooq.TableField;
029import org.jooq.TableLike;
030import org.jooq.TableOptions;
031import org.jooq.UniqueKey;
032import org.jooq.impl.DSL;
033import org.jooq.impl.Internal;
034import org.jooq.impl.SQLDataType;
035import org.jooq.impl.TableImpl;
036
037
038/**
039 * This class is generated by jOOQ.
040 */
041@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
042public class TransactionGlAccountCategoryDescriptions extends TableImpl<com.echothree.model.jooq.server.records.accounting.TransactionGlAccountCategoryDescriptions> {
043
044    private static final long serialVersionUID = 1L;
045
046    /**
047     * The reference instance of
048     * <code>transactionglaccountcategorydescriptions</code>
049     */
050    public static final TransactionGlAccountCategoryDescriptions TransactionGlAccountCategoryDescriptions = new TransactionGlAccountCategoryDescriptions();
051
052    /**
053     * The class holding records for this type
054     */
055    @Override
056    public Class<com.echothree.model.jooq.server.records.accounting.TransactionGlAccountCategoryDescriptions> getRecordType() {
057        return com.echothree.model.jooq.server.records.accounting.TransactionGlAccountCategoryDescriptions.class;
058    }
059
060    /**
061     * The column
062     * <code>transactionglaccountcategorydescriptions.trxglacd_transactionglaccountcategorydescriptionid</code>.
063     */
064    public final TableField<com.echothree.model.jooq.server.records.accounting.TransactionGlAccountCategoryDescriptions, TransactionGlAccountCategoryDescriptionPK> TRANSACTION_GL_ACCOUNT_CATEGORY_DESCRIPTION = createField(DSL.name("trxglacd_transactionglaccountcategorydescriptionid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, TransactionGlAccountCategoryDescriptionPK.class, id -> new com.echothree.model.data.accounting.common.pk.TransactionGlAccountCategoryDescriptionPK(id), primaryKey -> primaryKey.getEntityId()));
065
066    /**
067     * The column
068     * <code>transactionglaccountcategorydescriptions.trxglacd_trxglac_transactionglaccountcategoryid</code>.
069     */
070    public final TableField<com.echothree.model.jooq.server.records.accounting.TransactionGlAccountCategoryDescriptions, TransactionGlAccountCategoryPK> TRANSACTION_GL_ACCOUNT_CATEGORY = createField(DSL.name("trxglacd_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()));
071
072    /**
073     * The column
074     * <code>transactionglaccountcategorydescriptions.trxglacd_lang_languageid</code>.
075     */
076    public final TableField<com.echothree.model.jooq.server.records.accounting.TransactionGlAccountCategoryDescriptions, LanguagePK> LANGUAGE = createField(DSL.name("trxglacd_lang_languageid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, LanguagePK.class, id -> new com.echothree.model.data.party.common.pk.LanguagePK(id), primaryKey -> primaryKey.getEntityId()));
077
078    /**
079     * The column
080     * <code>transactionglaccountcategorydescriptions.trxglacd_description</code>.
081     */
082    public final TableField<com.echothree.model.jooq.server.records.accounting.TransactionGlAccountCategoryDescriptions, String> DESCRIPTION = createField(DSL.name("trxglacd_description"), SQLDataType.VARCHAR(132).nullable(false), this, "");
083
084    /**
085     * The column
086     * <code>transactionglaccountcategorydescriptions.trxglacd_fromtime</code>.
087     */
088    public final TableField<com.echothree.model.jooq.server.records.accounting.TransactionGlAccountCategoryDescriptions, Long> FROM_TIME = createField(DSL.name("trxglacd_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
089
090    /**
091     * The column
092     * <code>transactionglaccountcategorydescriptions.trxglacd_thrutime</code>.
093     */
094    public final TableField<com.echothree.model.jooq.server.records.accounting.TransactionGlAccountCategoryDescriptions, Long> THRU_TIME = createField(DSL.name("trxglacd_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
095
096    private TransactionGlAccountCategoryDescriptions(Name alias, Table<com.echothree.model.jooq.server.records.accounting.TransactionGlAccountCategoryDescriptions> aliased) {
097        this(alias, aliased, (Field<?>[]) null, null);
098    }
099
100    private TransactionGlAccountCategoryDescriptions(Name alias, Table<com.echothree.model.jooq.server.records.accounting.TransactionGlAccountCategoryDescriptions> aliased, Field<?>[] parameters, Condition where) {
101        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
102    }
103
104    /**
105     * Create an aliased <code>transactionglaccountcategorydescriptions</code>
106     * table reference
107     */
108    public TransactionGlAccountCategoryDescriptions(String alias) {
109        this(DSL.name(alias), TransactionGlAccountCategoryDescriptions);
110    }
111
112    /**
113     * Create an aliased <code>transactionglaccountcategorydescriptions</code>
114     * table reference
115     */
116    public TransactionGlAccountCategoryDescriptions(Name alias) {
117        this(alias, TransactionGlAccountCategoryDescriptions);
118    }
119
120    /**
121     * Create a <code>transactionglaccountcategorydescriptions</code> table
122     * reference
123     */
124    public TransactionGlAccountCategoryDescriptions() {
125        this(DSL.name("transactionglaccountcategorydescriptions"), null);
126    }
127
128    @Override
129    public UniqueKey<com.echothree.model.jooq.server.records.accounting.TransactionGlAccountCategoryDescriptions> getPrimaryKey() {
130        return KeyRegistry.TRANSACTION_GL_ACCOUNT_CATEGORY_DESCRIPTIONS_PK;
131    }
132
133    @Override
134    public List<UniqueKey<com.echothree.model.jooq.server.records.accounting.TransactionGlAccountCategoryDescriptions>> getUniqueKeys() {
135        return Arrays.asList(KeyRegistry.TRANSACTION_GL_ACCOUNT_CATEGORY_DESCRIPTIONS_TRANSACTION_GL_ACCOUNT_CATEGORY_AND_LANGUAGE_AND_THRU_TIME_UK);
136    }
137
138    @Override
139    public List<ForeignKey<com.echothree.model.jooq.server.records.accounting.TransactionGlAccountCategoryDescriptions, ?>> getReferences() {
140        return Arrays.asList(KeyRegistry.TRANSACTION_GL_ACCOUNT_CATEGORY_DESCRIPTIONS_LANGUAGE_FK, KeyRegistry.TRANSACTION_GL_ACCOUNT_CATEGORY_DESCRIPTIONS_TRANSACTION_GL_ACCOUNT_CATEGORY_FK);
141    }
142
143    private transient LanguagesPath _trxglacd_lang_languageid_fk;
144
145    /**
146     * Get the implicit join path to the <code>languages</code> table.
147     */
148    public LanguagesPath trxglacd_lang_languageid_fk() {
149        if (_trxglacd_lang_languageid_fk == null)
150            _trxglacd_lang_languageid_fk = new LanguagesPath(this, KeyRegistry.TRANSACTION_GL_ACCOUNT_CATEGORY_DESCRIPTIONS_LANGUAGE_FK, null);
151
152        return _trxglacd_lang_languageid_fk;
153    }
154
155    private transient TransactionGlAccountCategoriesPath _trxglacd_trxglac_transactionglaccountcategoryid_fk;
156
157    /**
158     * Get the implicit join path to the
159     * <code>transactionglaccountcategories</code> table.
160     */
161    public TransactionGlAccountCategoriesPath trxglacd_trxglac_transactionglaccountcategoryid_fk() {
162        if (_trxglacd_trxglac_transactionglaccountcategoryid_fk == null)
163            _trxglacd_trxglac_transactionglaccountcategoryid_fk = new TransactionGlAccountCategoriesPath(this, KeyRegistry.TRANSACTION_GL_ACCOUNT_CATEGORY_DESCRIPTIONS_TRANSACTION_GL_ACCOUNT_CATEGORY_FK, null);
164
165        return _trxglacd_trxglac_transactionglaccountcategoryid_fk;
166    }
167
168    @Override
169    public TransactionGlAccountCategoryDescriptions as(String alias) {
170        return new TransactionGlAccountCategoryDescriptions(DSL.name(alias), this);
171    }
172
173    @Override
174    public TransactionGlAccountCategoryDescriptions as(Name alias) {
175        return new TransactionGlAccountCategoryDescriptions(alias, this);
176    }
177
178    @Override
179    public TransactionGlAccountCategoryDescriptions as(Table<?> alias) {
180        return new TransactionGlAccountCategoryDescriptions(alias.getQualifiedName(), this);
181    }
182
183    /**
184     * Rename this table
185     */
186    @Override
187    public TransactionGlAccountCategoryDescriptions rename(String name) {
188        return new TransactionGlAccountCategoryDescriptions(DSL.name(name), null);
189    }
190
191    /**
192     * Rename this table
193     */
194    @Override
195    public TransactionGlAccountCategoryDescriptions rename(Name name) {
196        return new TransactionGlAccountCategoryDescriptions(name, null);
197    }
198
199    /**
200     * Rename this table
201     */
202    @Override
203    public TransactionGlAccountCategoryDescriptions rename(Table<?> name) {
204        return new TransactionGlAccountCategoryDescriptions(name.getQualifiedName(), null);
205    }
206
207    /**
208     * Create an inline derived table from this table
209     */
210    @Override
211    public TransactionGlAccountCategoryDescriptions where(Condition condition) {
212        return new TransactionGlAccountCategoryDescriptions(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
213    }
214
215    /**
216     * Create an inline derived table from this table
217     */
218    @Override
219    public TransactionGlAccountCategoryDescriptions where(Collection<? extends Condition> conditions) {
220        return where(DSL.and(conditions));
221    }
222
223    /**
224     * Create an inline derived table from this table
225     */
226    @Override
227    public TransactionGlAccountCategoryDescriptions where(Condition... conditions) {
228        return where(DSL.and(conditions));
229    }
230
231    /**
232     * Create an inline derived table from this table
233     */
234    @Override
235    public TransactionGlAccountCategoryDescriptions where(Field<Boolean> condition) {
236        return where(DSL.condition(condition));
237    }
238
239    /**
240     * Create an inline derived table from this table
241     */
242    @Override
243    @PlainSQL
244    public TransactionGlAccountCategoryDescriptions where(SQL condition) {
245        return where(DSL.condition(condition));
246    }
247
248    /**
249     * Create an inline derived table from this table
250     */
251    @Override
252    @PlainSQL
253    public TransactionGlAccountCategoryDescriptions where(@Stringly.SQL String condition) {
254        return where(DSL.condition(condition));
255    }
256
257    /**
258     * Create an inline derived table from this table
259     */
260    @Override
261    @PlainSQL
262    public TransactionGlAccountCategoryDescriptions where(@Stringly.SQL String condition, Object... binds) {
263        return where(DSL.condition(condition, binds));
264    }
265
266    /**
267     * Create an inline derived table from this table
268     */
269    @Override
270    @PlainSQL
271    public TransactionGlAccountCategoryDescriptions where(@Stringly.SQL String condition, QueryPart... parts) {
272        return where(DSL.condition(condition, parts));
273    }
274
275    /**
276     * Create an inline derived table from this table
277     */
278    @Override
279    public TransactionGlAccountCategoryDescriptions whereExists(TableLike<?> select) {
280        return where(DSL.exists(select));
281    }
282
283    /**
284     * Create an inline derived table from this table
285     */
286    @Override
287    public TransactionGlAccountCategoryDescriptions whereNotExists(TableLike<?> select) {
288        return where(DSL.notExists(select));
289    }
290}