001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.shipment;
005
006
007import com.echothree.model.data.inventory.common.pk.InventoryConditionPK;
008import com.echothree.model.data.item.common.pk.ItemPK;
009import com.echothree.model.data.shipment.common.pk.ShipmentLinePK;
010import com.echothree.model.data.shipment.common.pk.ShipmentPackageLineDetailPK;
011import com.echothree.model.data.shipment.common.pk.ShipmentPackageLinePK;
012import com.echothree.model.data.shipment.common.pk.ShipmentPackagePK;
013import com.echothree.model.data.uom.common.pk.UnitOfMeasureTypePK;
014import com.echothree.model.jooq.server.KeyRegistry;
015import com.echothree.model.jooq.server.tables.inventory.InventoryConditions.InventoryConditionsPath;
016import com.echothree.model.jooq.server.tables.item.Items.ItemsPath;
017import com.echothree.model.jooq.server.tables.shipment.ShipmentLines.ShipmentLinesPath;
018import com.echothree.model.jooq.server.tables.shipment.ShipmentPackageLines.ShipmentPackageLinesPath;
019import com.echothree.model.jooq.server.tables.shipment.ShipmentPackages.ShipmentPackagesPath;
020import com.echothree.model.jooq.server.tables.uom.UnitOfMeasureTypes.UnitOfMeasureTypesPath;
021
022import java.util.Arrays;
023import java.util.Collection;
024import java.util.List;
025
026import org.jooq.Condition;
027import org.jooq.Converter;
028import org.jooq.Field;
029import org.jooq.ForeignKey;
030import org.jooq.InverseForeignKey;
031import org.jooq.Name;
032import org.jooq.Path;
033import org.jooq.PlainSQL;
034import org.jooq.QueryPart;
035import org.jooq.Record;
036import org.jooq.SQL;
037import org.jooq.Stringly;
038import org.jooq.Table;
039import org.jooq.TableField;
040import org.jooq.TableLike;
041import org.jooq.TableOptions;
042import org.jooq.UniqueKey;
043import org.jooq.impl.DSL;
044import org.jooq.impl.Internal;
045import org.jooq.impl.SQLDataType;
046import org.jooq.impl.TableImpl;
047
048
049/**
050 * This class is generated by jOOQ.
051 */
052@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
053public class ShipmentPackageLineDetails extends TableImpl<com.echothree.model.jooq.server.records.shipment.ShipmentPackageLineDetails> {
054
055    private static final long serialVersionUID = 1L;
056
057    /**
058     * The reference instance of <code>shipmentpackagelinedetails</code>
059     */
060    public static final ShipmentPackageLineDetails ShipmentPackageLineDetails = new ShipmentPackageLineDetails();
061
062    /**
063     * The class holding records for this type
064     */
065    @Override
066    public Class<com.echothree.model.jooq.server.records.shipment.ShipmentPackageLineDetails> getRecordType() {
067        return com.echothree.model.jooq.server.records.shipment.ShipmentPackageLineDetails.class;
068    }
069
070    /**
071     * The column
072     * <code>shipmentpackagelinedetails.shppckgldt_shipmentpackagelinedetailid</code>.
073     */
074    public final TableField<com.echothree.model.jooq.server.records.shipment.ShipmentPackageLineDetails, ShipmentPackageLineDetailPK> SHIPMENT_PACKAGE_LINE_DETAIL = createField(DSL.name("shppckgldt_shipmentpackagelinedetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ShipmentPackageLineDetailPK.class, id -> new com.echothree.model.data.shipment.common.pk.ShipmentPackageLineDetailPK(id), primaryKey -> primaryKey.getEntityId()));
075
076    /**
077     * The column
078     * <code>shipmentpackagelinedetails.shppckgldt_shppckgl_shipmentpackagelineid</code>.
079     */
080    public final TableField<com.echothree.model.jooq.server.records.shipment.ShipmentPackageLineDetails, ShipmentPackageLinePK> SHIPMENT_PACKAGE_LINE = createField(DSL.name("shppckgldt_shppckgl_shipmentpackagelineid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ShipmentPackageLinePK.class, id -> new com.echothree.model.data.shipment.common.pk.ShipmentPackageLinePK(id), primaryKey -> primaryKey.getEntityId()));
081
082    /**
083     * The column
084     * <code>shipmentpackagelinedetails.shppckgldt_shppckg_shipmentpackageid</code>.
085     */
086    public final TableField<com.echothree.model.jooq.server.records.shipment.ShipmentPackageLineDetails, ShipmentPackagePK> SHIPMENT_PACKAGE = createField(DSL.name("shppckgldt_shppckg_shipmentpackageid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ShipmentPackagePK.class, id -> new com.echothree.model.data.shipment.common.pk.ShipmentPackagePK(id), primaryKey -> primaryKey.getEntityId()));
087
088    /**
089     * The column
090     * <code>shipmentpackagelinedetails.shppckgldt_shipmentpackagelinesequence</code>.
091     */
092    public final TableField<com.echothree.model.jooq.server.records.shipment.ShipmentPackageLineDetails, Integer> SHIPMENT_PACKAGE_LINE_SEQUENCE = createField(DSL.name("shppckgldt_shipmentpackagelinesequence"), SQLDataType.INTEGER.nullable(false), this, "");
093
094    /**
095     * The column
096     * <code>shipmentpackagelinedetails.shppckgldt_shpl_shipmentlineid</code>.
097     */
098    public final TableField<com.echothree.model.jooq.server.records.shipment.ShipmentPackageLineDetails, ShipmentLinePK> SHIPMENT_LINE = createField(DSL.name("shppckgldt_shpl_shipmentlineid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, ShipmentLinePK.class, id -> new com.echothree.model.data.shipment.common.pk.ShipmentLinePK(id), primaryKey -> primaryKey.getEntityId()));
099
100    /**
101     * The column <code>shipmentpackagelinedetails.shppckgldt_itm_itemid</code>.
102     */
103    public final TableField<com.echothree.model.jooq.server.records.shipment.ShipmentPackageLineDetails, ItemPK> ITEM = createField(DSL.name("shppckgldt_itm_itemid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ItemPK.class, id -> new com.echothree.model.data.item.common.pk.ItemPK(id), primaryKey -> primaryKey.getEntityId()));
104
105    /**
106     * The column
107     * <code>shipmentpackagelinedetails.shppckgldt_invcon_inventoryconditionid</code>.
108     */
109    public final TableField<com.echothree.model.jooq.server.records.shipment.ShipmentPackageLineDetails, InventoryConditionPK> INVENTORY_CONDITION = createField(DSL.name("shppckgldt_invcon_inventoryconditionid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, InventoryConditionPK.class, id -> new com.echothree.model.data.inventory.common.pk.InventoryConditionPK(id), primaryKey -> primaryKey.getEntityId()));
110
111    /**
112     * The column
113     * <code>shipmentpackagelinedetails.shppckgldt_uomt_unitofmeasuretypeid</code>.
114     */
115    public final TableField<com.echothree.model.jooq.server.records.shipment.ShipmentPackageLineDetails, UnitOfMeasureTypePK> UNIT_OF_MEASURE_TYPE = createField(DSL.name("shppckgldt_uomt_unitofmeasuretypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, UnitOfMeasureTypePK.class, id -> new com.echothree.model.data.uom.common.pk.UnitOfMeasureTypePK(id), primaryKey -> primaryKey.getEntityId()));
116
117    /**
118     * The column <code>shipmentpackagelinedetails.shppckgldt_quantity</code>.
119     */
120    public final TableField<com.echothree.model.jooq.server.records.shipment.ShipmentPackageLineDetails, Long> QUANTITY = createField(DSL.name("shppckgldt_quantity"), SQLDataType.BIGINT.nullable(false), this, "");
121
122    /**
123     * The column <code>shipmentpackagelinedetails.shppckgldt_fromtime</code>.
124     */
125    public final TableField<com.echothree.model.jooq.server.records.shipment.ShipmentPackageLineDetails, Long> FROM_TIME = createField(DSL.name("shppckgldt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
126
127    /**
128     * The column <code>shipmentpackagelinedetails.shppckgldt_thrutime</code>.
129     */
130    public final TableField<com.echothree.model.jooq.server.records.shipment.ShipmentPackageLineDetails, Long> THRU_TIME = createField(DSL.name("shppckgldt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
131
132    private ShipmentPackageLineDetails(Name alias, Table<com.echothree.model.jooq.server.records.shipment.ShipmentPackageLineDetails> aliased) {
133        this(alias, aliased, (Field<?>[]) null, null);
134    }
135
136    private ShipmentPackageLineDetails(Name alias, Table<com.echothree.model.jooq.server.records.shipment.ShipmentPackageLineDetails> aliased, Field<?>[] parameters, Condition where) {
137        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
138    }
139
140    /**
141     * Create an aliased <code>shipmentpackagelinedetails</code> table reference
142     */
143    public ShipmentPackageLineDetails(String alias) {
144        this(DSL.name(alias), ShipmentPackageLineDetails);
145    }
146
147    /**
148     * Create an aliased <code>shipmentpackagelinedetails</code> table reference
149     */
150    public ShipmentPackageLineDetails(Name alias) {
151        this(alias, ShipmentPackageLineDetails);
152    }
153
154    /**
155     * Create a <code>shipmentpackagelinedetails</code> table reference
156     */
157    public ShipmentPackageLineDetails() {
158        this(DSL.name("shipmentpackagelinedetails"), null);
159    }
160
161    public <O extends Record> ShipmentPackageLineDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.shipment.ShipmentPackageLineDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.shipment.ShipmentPackageLineDetails> parentPath) {
162        super(path, childPath, parentPath, ShipmentPackageLineDetails);
163    }
164
165    /**
166     * A subtype implementing {@link Path} for simplified path-based joins.
167     */
168    public static class ShipmentPackageLineDetailsPath extends ShipmentPackageLineDetails implements Path<com.echothree.model.jooq.server.records.shipment.ShipmentPackageLineDetails> {
169
170        private static final long serialVersionUID = 1L;
171        public <O extends Record> ShipmentPackageLineDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.shipment.ShipmentPackageLineDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.shipment.ShipmentPackageLineDetails> parentPath) {
172            super(path, childPath, parentPath);
173        }
174        private ShipmentPackageLineDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.shipment.ShipmentPackageLineDetails> aliased) {
175            super(alias, aliased);
176        }
177
178        @Override
179        public ShipmentPackageLineDetailsPath as(String alias) {
180            return new ShipmentPackageLineDetailsPath(DSL.name(alias), this);
181        }
182
183        @Override
184        public ShipmentPackageLineDetailsPath as(Name alias) {
185            return new ShipmentPackageLineDetailsPath(alias, this);
186        }
187
188        @Override
189        public ShipmentPackageLineDetailsPath as(Table<?> alias) {
190            return new ShipmentPackageLineDetailsPath(alias.getQualifiedName(), this);
191        }
192    }
193
194    @Override
195    public UniqueKey<com.echothree.model.jooq.server.records.shipment.ShipmentPackageLineDetails> getPrimaryKey() {
196        return KeyRegistry.SHIPMENT_PACKAGE_LINE_DETAILS_PK;
197    }
198
199    @Override
200    public List<UniqueKey<com.echothree.model.jooq.server.records.shipment.ShipmentPackageLineDetails>> getUniqueKeys() {
201        return Arrays.asList(KeyRegistry.SHIPMENT_PACKAGE_LINE_DETAILS_SHIPMENT_PACKAGE_LINE_AND_THRU_TIME_UK, KeyRegistry.SHIPMENT_PACKAGE_LINE_DETAILS_SHIPMENT_PACKAGE_AND_SHIPMENT_PACKAGE_LINE_SEQUENCE_AND_THRU_TIME_UK);
202    }
203
204    @Override
205    public List<ForeignKey<com.echothree.model.jooq.server.records.shipment.ShipmentPackageLineDetails, ?>> getReferences() {
206        return Arrays.asList(KeyRegistry.SHIPMENT_PACKAGE_LINE_DETAILS_INVENTORY_CONDITION_FK, KeyRegistry.SHIPMENT_PACKAGE_LINE_DETAILS_ITEM_FK, KeyRegistry.SHIPMENT_PACKAGE_LINE_DETAILS_SHIPMENT_LINE_FK, KeyRegistry.SHIPMENT_PACKAGE_LINE_DETAILS_SHIPMENT_PACKAGE_FK, KeyRegistry.SHIPMENT_PACKAGE_LINE_DETAILS_SHIPMENT_PACKAGE_LINE_FK, KeyRegistry.SHIPMENT_PACKAGE_LINE_DETAILS_UNIT_OF_MEASURE_TYPE_FK);
207    }
208
209    private transient InventoryConditionsPath _shppckgldt_invcon_inventoryconditionid_fk;
210
211    /**
212     * Get the implicit join path to the <code>inventoryconditions</code> table.
213     */
214    public InventoryConditionsPath shppckgldt_invcon_inventoryconditionid_fk() {
215        if (_shppckgldt_invcon_inventoryconditionid_fk == null)
216            _shppckgldt_invcon_inventoryconditionid_fk = new InventoryConditionsPath(this, KeyRegistry.SHIPMENT_PACKAGE_LINE_DETAILS_INVENTORY_CONDITION_FK, null);
217
218        return _shppckgldt_invcon_inventoryconditionid_fk;
219    }
220
221    private transient ItemsPath _shppckgldt_itm_itemid_fk;
222
223    /**
224     * Get the implicit join path to the <code>items</code> table.
225     */
226    public ItemsPath shppckgldt_itm_itemid_fk() {
227        if (_shppckgldt_itm_itemid_fk == null)
228            _shppckgldt_itm_itemid_fk = new ItemsPath(this, KeyRegistry.SHIPMENT_PACKAGE_LINE_DETAILS_ITEM_FK, null);
229
230        return _shppckgldt_itm_itemid_fk;
231    }
232
233    private transient ShipmentLinesPath _shppckgldt_shpl_shipmentlineid_fk;
234
235    /**
236     * Get the implicit join path to the <code>shipmentlines</code> table.
237     */
238    public ShipmentLinesPath shppckgldt_shpl_shipmentlineid_fk() {
239        if (_shppckgldt_shpl_shipmentlineid_fk == null)
240            _shppckgldt_shpl_shipmentlineid_fk = new ShipmentLinesPath(this, KeyRegistry.SHIPMENT_PACKAGE_LINE_DETAILS_SHIPMENT_LINE_FK, null);
241
242        return _shppckgldt_shpl_shipmentlineid_fk;
243    }
244
245    private transient ShipmentPackagesPath _shppckgldt_shppckg_shipmentpackageid_fk;
246
247    /**
248     * Get the implicit join path to the <code>shipmentpackages</code> table.
249     */
250    public ShipmentPackagesPath shppckgldt_shppckg_shipmentpackageid_fk() {
251        if (_shppckgldt_shppckg_shipmentpackageid_fk == null)
252            _shppckgldt_shppckg_shipmentpackageid_fk = new ShipmentPackagesPath(this, KeyRegistry.SHIPMENT_PACKAGE_LINE_DETAILS_SHIPMENT_PACKAGE_FK, null);
253
254        return _shppckgldt_shppckg_shipmentpackageid_fk;
255    }
256
257    private transient ShipmentPackageLinesPath _shppckgldt_shppckgl_shipmentpackagelineid_fk;
258
259    /**
260     * Get the implicit join path to the <code>shipmentpackagelines</code>
261     * table.
262     */
263    public ShipmentPackageLinesPath shppckgldt_shppckgl_shipmentpackagelineid_fk() {
264        if (_shppckgldt_shppckgl_shipmentpackagelineid_fk == null)
265            _shppckgldt_shppckgl_shipmentpackagelineid_fk = new ShipmentPackageLinesPath(this, KeyRegistry.SHIPMENT_PACKAGE_LINE_DETAILS_SHIPMENT_PACKAGE_LINE_FK, null);
266
267        return _shppckgldt_shppckgl_shipmentpackagelineid_fk;
268    }
269
270    private transient UnitOfMeasureTypesPath _shppckgldt_uomt_unitofmeasuretypeid_fk;
271
272    /**
273     * Get the implicit join path to the <code>unitofmeasuretypes</code> table.
274     */
275    public UnitOfMeasureTypesPath shppckgldt_uomt_unitofmeasuretypeid_fk() {
276        if (_shppckgldt_uomt_unitofmeasuretypeid_fk == null)
277            _shppckgldt_uomt_unitofmeasuretypeid_fk = new UnitOfMeasureTypesPath(this, KeyRegistry.SHIPMENT_PACKAGE_LINE_DETAILS_UNIT_OF_MEASURE_TYPE_FK, null);
278
279        return _shppckgldt_uomt_unitofmeasuretypeid_fk;
280    }
281
282    @Override
283    public ShipmentPackageLineDetails as(String alias) {
284        return new ShipmentPackageLineDetails(DSL.name(alias), this);
285    }
286
287    @Override
288    public ShipmentPackageLineDetails as(Name alias) {
289        return new ShipmentPackageLineDetails(alias, this);
290    }
291
292    @Override
293    public ShipmentPackageLineDetails as(Table<?> alias) {
294        return new ShipmentPackageLineDetails(alias.getQualifiedName(), this);
295    }
296
297    /**
298     * Rename this table
299     */
300    @Override
301    public ShipmentPackageLineDetails rename(String name) {
302        return new ShipmentPackageLineDetails(DSL.name(name), null);
303    }
304
305    /**
306     * Rename this table
307     */
308    @Override
309    public ShipmentPackageLineDetails rename(Name name) {
310        return new ShipmentPackageLineDetails(name, null);
311    }
312
313    /**
314     * Rename this table
315     */
316    @Override
317    public ShipmentPackageLineDetails rename(Table<?> name) {
318        return new ShipmentPackageLineDetails(name.getQualifiedName(), null);
319    }
320
321    /**
322     * Create an inline derived table from this table
323     */
324    @Override
325    public ShipmentPackageLineDetails where(Condition condition) {
326        return new ShipmentPackageLineDetails(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
327    }
328
329    /**
330     * Create an inline derived table from this table
331     */
332    @Override
333    public ShipmentPackageLineDetails where(Collection<? extends Condition> conditions) {
334        return where(DSL.and(conditions));
335    }
336
337    /**
338     * Create an inline derived table from this table
339     */
340    @Override
341    public ShipmentPackageLineDetails where(Condition... conditions) {
342        return where(DSL.and(conditions));
343    }
344
345    /**
346     * Create an inline derived table from this table
347     */
348    @Override
349    public ShipmentPackageLineDetails where(Field<Boolean> condition) {
350        return where(DSL.condition(condition));
351    }
352
353    /**
354     * Create an inline derived table from this table
355     */
356    @Override
357    @PlainSQL
358    public ShipmentPackageLineDetails where(SQL condition) {
359        return where(DSL.condition(condition));
360    }
361
362    /**
363     * Create an inline derived table from this table
364     */
365    @Override
366    @PlainSQL
367    public ShipmentPackageLineDetails where(@Stringly.SQL String condition) {
368        return where(DSL.condition(condition));
369    }
370
371    /**
372     * Create an inline derived table from this table
373     */
374    @Override
375    @PlainSQL
376    public ShipmentPackageLineDetails where(@Stringly.SQL String condition, Object... binds) {
377        return where(DSL.condition(condition, binds));
378    }
379
380    /**
381     * Create an inline derived table from this table
382     */
383    @Override
384    @PlainSQL
385    public ShipmentPackageLineDetails where(@Stringly.SQL String condition, QueryPart... parts) {
386        return where(DSL.condition(condition, parts));
387    }
388
389    /**
390     * Create an inline derived table from this table
391     */
392    @Override
393    public ShipmentPackageLineDetails whereExists(TableLike<?> select) {
394        return where(DSL.exists(select));
395    }
396
397    /**
398     * Create an inline derived table from this table
399     */
400    @Override
401    public ShipmentPackageLineDetails whereNotExists(TableLike<?> select) {
402        return where(DSL.notExists(select));
403    }
404}