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