001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.inventory;
005
006
007import com.echothree.model.data.inventory.common.pk.InventoryTransactionDetailPK;
008import com.echothree.model.data.inventory.common.pk.InventoryTransactionPK;
009import com.echothree.model.data.inventory.common.pk.InventoryTransactionReasonPK;
010import com.echothree.model.data.inventory.common.pk.InventoryTransactionTypePK;
011import com.echothree.model.data.party.common.pk.PartyPK;
012import com.echothree.model.jooq.server.KeyRegistry;
013import com.echothree.model.jooq.server.tables.inventory.InventoryTransactionReasons.InventoryTransactionReasonsPath;
014import com.echothree.model.jooq.server.tables.inventory.InventoryTransactionTypes.InventoryTransactionTypesPath;
015import com.echothree.model.jooq.server.tables.inventory.InventoryTransactions.InventoryTransactionsPath;
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 InventoryTransactionDetails extends TableImpl<com.echothree.model.jooq.server.records.inventory.InventoryTransactionDetails> {
050
051    private static final long serialVersionUID = 1L;
052
053    /**
054     * The reference instance of <code>inventorytransactiondetails</code>
055     */
056    public static final InventoryTransactionDetails InventoryTransactionDetails = new InventoryTransactionDetails();
057
058    /**
059     * The class holding records for this type
060     */
061    @Override
062    public Class<com.echothree.model.jooq.server.records.inventory.InventoryTransactionDetails> getRecordType() {
063        return com.echothree.model.jooq.server.records.inventory.InventoryTransactionDetails.class;
064    }
065
066    /**
067     * The column
068     * <code>inventorytransactiondetails.invtrxdt_inventorytransactiondetailid</code>.
069     */
070    public final TableField<com.echothree.model.jooq.server.records.inventory.InventoryTransactionDetails, InventoryTransactionDetailPK> INVENTORY_TRANSACTION_DETAIL = createField(DSL.name("invtrxdt_inventorytransactiondetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, InventoryTransactionDetailPK.class, id -> new com.echothree.model.data.inventory.common.pk.InventoryTransactionDetailPK(id), primaryKey -> primaryKey.getEntityId()));
071
072    /**
073     * The column
074     * <code>inventorytransactiondetails.invtrxdt_invtrx_inventorytransactionid</code>.
075     */
076    public final TableField<com.echothree.model.jooq.server.records.inventory.InventoryTransactionDetails, InventoryTransactionPK> INVENTORY_TRANSACTION = createField(DSL.name("invtrxdt_invtrx_inventorytransactionid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, InventoryTransactionPK.class, id -> new com.echothree.model.data.inventory.common.pk.InventoryTransactionPK(id), primaryKey -> primaryKey.getEntityId()));
077
078    /**
079     * The column
080     * <code>inventorytransactiondetails.invtrxdt_invtrxtyp_inventorytransactiontypeid</code>.
081     */
082    public final TableField<com.echothree.model.jooq.server.records.inventory.InventoryTransactionDetails, InventoryTransactionTypePK> INVENTORY_TRANSACTION_TYPE = createField(DSL.name("invtrxdt_invtrxtyp_inventorytransactiontypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, InventoryTransactionTypePK.class, id -> new com.echothree.model.data.inventory.common.pk.InventoryTransactionTypePK(id), primaryKey -> primaryKey.getEntityId()));
083
084    /**
085     * The column
086     * <code>inventorytransactiondetails.invtrxdt_inventorytransactionname</code>.
087     */
088    public final TableField<com.echothree.model.jooq.server.records.inventory.InventoryTransactionDetails, String> INVENTORY_TRANSACTION_NAME = createField(DSL.name("invtrxdt_inventorytransactionname"), SQLDataType.VARCHAR(40).nullable(false), this, "");
089
090    /**
091     * The column
092     * <code>inventorytransactiondetails.invtrxdt_companypartyid</code>.
093     */
094    public final TableField<com.echothree.model.jooq.server.records.inventory.InventoryTransactionDetails, PartyPK> COMPANY_PARTY = createField(DSL.name("invtrxdt_companypartyid"), 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()));
095
096    /**
097     * The column
098     * <code>inventorytransactiondetails.invtrxdt_invtrxrsn_inventorytransactionreasonid</code>.
099     */
100    public final TableField<com.echothree.model.jooq.server.records.inventory.InventoryTransactionDetails, InventoryTransactionReasonPK> INVENTORY_TRANSACTION_REASON = createField(DSL.name("invtrxdt_invtrxrsn_inventorytransactionreasonid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, InventoryTransactionReasonPK.class, id -> new com.echothree.model.data.inventory.common.pk.InventoryTransactionReasonPK(id), primaryKey -> primaryKey.getEntityId()));
101
102    /**
103     * The column <code>inventorytransactiondetails.invtrxdt_reference</code>.
104     */
105    public final TableField<com.echothree.model.jooq.server.records.inventory.InventoryTransactionDetails, String> REFERENCE = createField(DSL.name("invtrxdt_reference"), SQLDataType.VARCHAR(40), this, "");
106
107    /**
108     * The column <code>inventorytransactiondetails.invtrxdt_description</code>.
109     */
110    public final TableField<com.echothree.model.jooq.server.records.inventory.InventoryTransactionDetails, String> DESCRIPTION = createField(DSL.name("invtrxdt_description"), SQLDataType.VARCHAR(132), this, "");
111
112    /**
113     * The column <code>inventorytransactiondetails.invtrxdt_fromtime</code>.
114     */
115    public final TableField<com.echothree.model.jooq.server.records.inventory.InventoryTransactionDetails, Long> FROM_TIME = createField(DSL.name("invtrxdt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
116
117    /**
118     * The column <code>inventorytransactiondetails.invtrxdt_thrutime</code>.
119     */
120    public final TableField<com.echothree.model.jooq.server.records.inventory.InventoryTransactionDetails, Long> THRU_TIME = createField(DSL.name("invtrxdt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
121
122    private InventoryTransactionDetails(Name alias, Table<com.echothree.model.jooq.server.records.inventory.InventoryTransactionDetails> aliased) {
123        this(alias, aliased, (Field<?>[]) null, null);
124    }
125
126    private InventoryTransactionDetails(Name alias, Table<com.echothree.model.jooq.server.records.inventory.InventoryTransactionDetails> aliased, Field<?>[] parameters, Condition where) {
127        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
128    }
129
130    /**
131     * Create an aliased <code>inventorytransactiondetails</code> table
132     * reference
133     */
134    public InventoryTransactionDetails(String alias) {
135        this(DSL.name(alias), InventoryTransactionDetails);
136    }
137
138    /**
139     * Create an aliased <code>inventorytransactiondetails</code> table
140     * reference
141     */
142    public InventoryTransactionDetails(Name alias) {
143        this(alias, InventoryTransactionDetails);
144    }
145
146    /**
147     * Create a <code>inventorytransactiondetails</code> table reference
148     */
149    public InventoryTransactionDetails() {
150        this(DSL.name("inventorytransactiondetails"), null);
151    }
152
153    public <O extends Record> InventoryTransactionDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.inventory.InventoryTransactionDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.inventory.InventoryTransactionDetails> parentPath) {
154        super(path, childPath, parentPath, InventoryTransactionDetails);
155    }
156
157    /**
158     * A subtype implementing {@link Path} for simplified path-based joins.
159     */
160    public static class InventoryTransactionDetailsPath extends InventoryTransactionDetails implements Path<com.echothree.model.jooq.server.records.inventory.InventoryTransactionDetails> {
161
162        private static final long serialVersionUID = 1L;
163        public <O extends Record> InventoryTransactionDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.inventory.InventoryTransactionDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.inventory.InventoryTransactionDetails> parentPath) {
164            super(path, childPath, parentPath);
165        }
166        private InventoryTransactionDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.inventory.InventoryTransactionDetails> aliased) {
167            super(alias, aliased);
168        }
169
170        @Override
171        public InventoryTransactionDetailsPath as(String alias) {
172            return new InventoryTransactionDetailsPath(DSL.name(alias), this);
173        }
174
175        @Override
176        public InventoryTransactionDetailsPath as(Name alias) {
177            return new InventoryTransactionDetailsPath(alias, this);
178        }
179
180        @Override
181        public InventoryTransactionDetailsPath as(Table<?> alias) {
182            return new InventoryTransactionDetailsPath(alias.getQualifiedName(), this);
183        }
184    }
185
186    @Override
187    public UniqueKey<com.echothree.model.jooq.server.records.inventory.InventoryTransactionDetails> getPrimaryKey() {
188        return KeyRegistry.INVENTORY_TRANSACTION_DETAILS_PK;
189    }
190
191    @Override
192    public List<UniqueKey<com.echothree.model.jooq.server.records.inventory.InventoryTransactionDetails>> getUniqueKeys() {
193        return Arrays.asList(KeyRegistry.INVENTORY_TRANSACTION_DETAILS_INVENTORY_TRANSACTION_AND_THRU_TIME_UK, KeyRegistry.INVENTORY_TRANSACTION_DETAILS_INVENTORY_TRANSACTION_TYPE_AND_INVENTORY_TRANSACTION_NAME_AND_THRU_TIME_UK);
194    }
195
196    @Override
197    public List<ForeignKey<com.echothree.model.jooq.server.records.inventory.InventoryTransactionDetails, ?>> getReferences() {
198        return Arrays.asList(KeyRegistry.INVENTORY_TRANSACTION_DETAILS_COMPANY_PARTY_FK, KeyRegistry.INVENTORY_TRANSACTION_DETAILS_INVENTORY_TRANSACTION_FK, KeyRegistry.INVENTORY_TRANSACTION_DETAILS_INVENTORY_TRANSACTION_REASON_FK, KeyRegistry.INVENTORY_TRANSACTION_DETAILS_INVENTORY_TRANSACTION_TYPE_FK);
199    }
200
201    private transient PartiesPath _invtrxdt_companypartyid_fk;
202
203    /**
204     * Get the implicit join path to the <code>parties</code> table.
205     */
206    public PartiesPath invtrxdt_companypartyid_fk() {
207        if (_invtrxdt_companypartyid_fk == null)
208            _invtrxdt_companypartyid_fk = new PartiesPath(this, KeyRegistry.INVENTORY_TRANSACTION_DETAILS_COMPANY_PARTY_FK, null);
209
210        return _invtrxdt_companypartyid_fk;
211    }
212
213    private transient InventoryTransactionsPath _invtrxdt_invtrx_inventorytransactionid_fk;
214
215    /**
216     * Get the implicit join path to the <code>inventorytransactions</code>
217     * table.
218     */
219    public InventoryTransactionsPath invtrxdt_invtrx_inventorytransactionid_fk() {
220        if (_invtrxdt_invtrx_inventorytransactionid_fk == null)
221            _invtrxdt_invtrx_inventorytransactionid_fk = new InventoryTransactionsPath(this, KeyRegistry.INVENTORY_TRANSACTION_DETAILS_INVENTORY_TRANSACTION_FK, null);
222
223        return _invtrxdt_invtrx_inventorytransactionid_fk;
224    }
225
226    private transient InventoryTransactionReasonsPath _invtrxdt_invtrxrsn_inventorytransactionreasonid_fk;
227
228    /**
229     * Get the implicit join path to the
230     * <code>inventorytransactionreasons</code> table.
231     */
232    public InventoryTransactionReasonsPath invtrxdt_invtrxrsn_inventorytransactionreasonid_fk() {
233        if (_invtrxdt_invtrxrsn_inventorytransactionreasonid_fk == null)
234            _invtrxdt_invtrxrsn_inventorytransactionreasonid_fk = new InventoryTransactionReasonsPath(this, KeyRegistry.INVENTORY_TRANSACTION_DETAILS_INVENTORY_TRANSACTION_REASON_FK, null);
235
236        return _invtrxdt_invtrxrsn_inventorytransactionreasonid_fk;
237    }
238
239    private transient InventoryTransactionTypesPath _invtrxdt_invtrxtyp_inventorytransactiontypeid_fk;
240
241    /**
242     * Get the implicit join path to the <code>inventorytransactiontypes</code>
243     * table.
244     */
245    public InventoryTransactionTypesPath invtrxdt_invtrxtyp_inventorytransactiontypeid_fk() {
246        if (_invtrxdt_invtrxtyp_inventorytransactiontypeid_fk == null)
247            _invtrxdt_invtrxtyp_inventorytransactiontypeid_fk = new InventoryTransactionTypesPath(this, KeyRegistry.INVENTORY_TRANSACTION_DETAILS_INVENTORY_TRANSACTION_TYPE_FK, null);
248
249        return _invtrxdt_invtrxtyp_inventorytransactiontypeid_fk;
250    }
251
252    @Override
253    public InventoryTransactionDetails as(String alias) {
254        return new InventoryTransactionDetails(DSL.name(alias), this);
255    }
256
257    @Override
258    public InventoryTransactionDetails as(Name alias) {
259        return new InventoryTransactionDetails(alias, this);
260    }
261
262    @Override
263    public InventoryTransactionDetails as(Table<?> alias) {
264        return new InventoryTransactionDetails(alias.getQualifiedName(), this);
265    }
266
267    /**
268     * Rename this table
269     */
270    @Override
271    public InventoryTransactionDetails rename(String name) {
272        return new InventoryTransactionDetails(DSL.name(name), null);
273    }
274
275    /**
276     * Rename this table
277     */
278    @Override
279    public InventoryTransactionDetails rename(Name name) {
280        return new InventoryTransactionDetails(name, null);
281    }
282
283    /**
284     * Rename this table
285     */
286    @Override
287    public InventoryTransactionDetails rename(Table<?> name) {
288        return new InventoryTransactionDetails(name.getQualifiedName(), null);
289    }
290
291    /**
292     * Create an inline derived table from this table
293     */
294    @Override
295    public InventoryTransactionDetails where(Condition condition) {
296        return new InventoryTransactionDetails(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
297    }
298
299    /**
300     * Create an inline derived table from this table
301     */
302    @Override
303    public InventoryTransactionDetails where(Collection<? extends Condition> conditions) {
304        return where(DSL.and(conditions));
305    }
306
307    /**
308     * Create an inline derived table from this table
309     */
310    @Override
311    public InventoryTransactionDetails where(Condition... conditions) {
312        return where(DSL.and(conditions));
313    }
314
315    /**
316     * Create an inline derived table from this table
317     */
318    @Override
319    public InventoryTransactionDetails where(Field<Boolean> condition) {
320        return where(DSL.condition(condition));
321    }
322
323    /**
324     * Create an inline derived table from this table
325     */
326    @Override
327    @PlainSQL
328    public InventoryTransactionDetails where(SQL condition) {
329        return where(DSL.condition(condition));
330    }
331
332    /**
333     * Create an inline derived table from this table
334     */
335    @Override
336    @PlainSQL
337    public InventoryTransactionDetails where(@Stringly.SQL String condition) {
338        return where(DSL.condition(condition));
339    }
340
341    /**
342     * Create an inline derived table from this table
343     */
344    @Override
345    @PlainSQL
346    public InventoryTransactionDetails where(@Stringly.SQL String condition, Object... binds) {
347        return where(DSL.condition(condition, binds));
348    }
349
350    /**
351     * Create an inline derived table from this table
352     */
353    @Override
354    @PlainSQL
355    public InventoryTransactionDetails where(@Stringly.SQL String condition, QueryPart... parts) {
356        return where(DSL.condition(condition, parts));
357    }
358
359    /**
360     * Create an inline derived table from this table
361     */
362    @Override
363    public InventoryTransactionDetails whereExists(TableLike<?> select) {
364        return where(DSL.exists(select));
365    }
366
367    /**
368     * Create an inline derived table from this table
369     */
370    @Override
371    public InventoryTransactionDetails whereNotExists(TableLike<?> select) {
372        return where(DSL.notExists(select));
373    }
374}