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