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