001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.shipment;
005
006
007import com.echothree.model.data.contact.common.pk.PartyContactMechanismPK;
008import com.echothree.model.data.party.common.pk.PartyPK;
009import com.echothree.model.data.shipment.common.pk.ShipmentDetailPK;
010import com.echothree.model.data.shipment.common.pk.ShipmentPK;
011import com.echothree.model.data.shipment.common.pk.ShipmentTypePK;
012import com.echothree.model.data.shipping.common.pk.ShippingMethodPK;
013import com.echothree.model.jooq.server.KeyRegistry;
014import com.echothree.model.jooq.server.tables.contact.PartyContactMechanisms.PartyContactMechanismsPath;
015import com.echothree.model.jooq.server.tables.party.Parties.PartiesPath;
016import com.echothree.model.jooq.server.tables.shipment.ShipmentTypes.ShipmentTypesPath;
017import com.echothree.model.jooq.server.tables.shipment.Shipments.ShipmentsPath;
018import com.echothree.model.jooq.server.tables.shipping.ShippingMethods.ShippingMethodsPath;
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 ShipmentDetails extends TableImpl<com.echothree.model.jooq.server.records.shipment.ShipmentDetails> {
052
053    private static final long serialVersionUID = 1L;
054
055    /**
056     * The reference instance of <code>shipmentdetails</code>
057     */
058    public static final ShipmentDetails ShipmentDetails = new ShipmentDetails();
059
060    /**
061     * The class holding records for this type
062     */
063    @Override
064    public Class<com.echothree.model.jooq.server.records.shipment.ShipmentDetails> getRecordType() {
065        return com.echothree.model.jooq.server.records.shipment.ShipmentDetails.class;
066    }
067
068    /**
069     * The column <code>shipmentdetails.shpdt_shipmentdetailid</code>.
070     */
071    public final TableField<com.echothree.model.jooq.server.records.shipment.ShipmentDetails, ShipmentDetailPK> SHIPMENT_DETAIL = createField(DSL.name("shpdt_shipmentdetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ShipmentDetailPK.class, id -> new com.echothree.model.data.shipment.common.pk.ShipmentDetailPK(id), primaryKey -> primaryKey.getEntityId()));
072
073    /**
074     * The column <code>shipmentdetails.shpdt_shp_shipmentid</code>.
075     */
076    public final TableField<com.echothree.model.jooq.server.records.shipment.ShipmentDetails, ShipmentPK> SHIPMENT = createField(DSL.name("shpdt_shp_shipmentid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ShipmentPK.class, id -> new com.echothree.model.data.shipment.common.pk.ShipmentPK(id), primaryKey -> primaryKey.getEntityId()));
077
078    /**
079     * The column <code>shipmentdetails.shpdt_shptyp_shipmenttypeid</code>.
080     */
081    public final TableField<com.echothree.model.jooq.server.records.shipment.ShipmentDetails, ShipmentTypePK> SHIPMENT_TYPE = createField(DSL.name("shpdt_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()));
082
083    /**
084     * The column <code>shipmentdetails.shpdt_shipmentname</code>.
085     */
086    public final TableField<com.echothree.model.jooq.server.records.shipment.ShipmentDetails, String> SHIPMENT_NAME = createField(DSL.name("shpdt_shipmentname"), SQLDataType.VARCHAR(40).nullable(false), this, "");
087
088    /**
089     * The column <code>shipmentdetails.shpdt_originpartyid</code>.
090     */
091    public final TableField<com.echothree.model.jooq.server.records.shipment.ShipmentDetails, PartyPK> ORIGIN_PARTY = createField(DSL.name("shpdt_originpartyid"), 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()));
092
093    /**
094     * The column <code>shipmentdetails.shpdt_originwarehousepartyid</code>.
095     */
096    public final TableField<com.echothree.model.jooq.server.records.shipment.ShipmentDetails, PartyPK> ORIGIN_WAREHOUSE_PARTY = createField(DSL.name("shpdt_originwarehousepartyid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, PartyPK.class, id -> new com.echothree.model.data.party.common.pk.PartyPK(id), primaryKey -> primaryKey.getEntityId()));
097
098    /**
099     * The column
100     * <code>shipmentdetails.shpdt_originpartycontactmechanismid</code>.
101     */
102    public final TableField<com.echothree.model.jooq.server.records.shipment.ShipmentDetails, PartyContactMechanismPK> ORIGIN_PARTY_CONTACT_MECHANISM = createField(DSL.name("shpdt_originpartycontactmechanismid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, PartyContactMechanismPK.class, id -> new com.echothree.model.data.contact.common.pk.PartyContactMechanismPK(id), primaryKey -> primaryKey.getEntityId()));
103
104    /**
105     * The column <code>shipmentdetails.shpdt_destinationpartyid</code>.
106     */
107    public final TableField<com.echothree.model.jooq.server.records.shipment.ShipmentDetails, PartyPK> DESTINATION_PARTY = createField(DSL.name("shpdt_destinationpartyid"), 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()));
108
109    /**
110     * The column
111     * <code>shipmentdetails.shpdt_destinationwarehousepartyid</code>.
112     */
113    public final TableField<com.echothree.model.jooq.server.records.shipment.ShipmentDetails, PartyPK> DESTINATION_WAREHOUSE_PARTY = createField(DSL.name("shpdt_destinationwarehousepartyid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, PartyPK.class, id -> new com.echothree.model.data.party.common.pk.PartyPK(id), primaryKey -> primaryKey.getEntityId()));
114
115    /**
116     * The column
117     * <code>shipmentdetails.shpdt_destinationpartycontactmechanismid</code>.
118     */
119    public final TableField<com.echothree.model.jooq.server.records.shipment.ShipmentDetails, PartyContactMechanismPK> DESTINATION_PARTY_CONTACT_MECHANISM = createField(DSL.name("shpdt_destinationpartycontactmechanismid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, PartyContactMechanismPK.class, id -> new com.echothree.model.data.contact.common.pk.PartyContactMechanismPK(id), primaryKey -> primaryKey.getEntityId()));
120
121    /**
122     * The column <code>shipmentdetails.shpdt_shm_shippingmethodid</code>.
123     */
124    public final TableField<com.echothree.model.jooq.server.records.shipment.ShipmentDetails, ShippingMethodPK> SHIPPING_METHOD = createField(DSL.name("shpdt_shm_shippingmethodid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, ShippingMethodPK.class, id -> new com.echothree.model.data.shipping.common.pk.ShippingMethodPK(id), primaryKey -> primaryKey.getEntityId()));
125
126    /**
127     * The column <code>shipmentdetails.shpdt_fromtime</code>.
128     */
129    public final TableField<com.echothree.model.jooq.server.records.shipment.ShipmentDetails, Long> FROM_TIME = createField(DSL.name("shpdt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
130
131    /**
132     * The column <code>shipmentdetails.shpdt_thrutime</code>.
133     */
134    public final TableField<com.echothree.model.jooq.server.records.shipment.ShipmentDetails, Long> THRU_TIME = createField(DSL.name("shpdt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
135
136    private ShipmentDetails(Name alias, Table<com.echothree.model.jooq.server.records.shipment.ShipmentDetails> aliased) {
137        this(alias, aliased, (Field<?>[]) null, null);
138    }
139
140    private ShipmentDetails(Name alias, Table<com.echothree.model.jooq.server.records.shipment.ShipmentDetails> aliased, Field<?>[] parameters, Condition where) {
141        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
142    }
143
144    /**
145     * Create an aliased <code>shipmentdetails</code> table reference
146     */
147    public ShipmentDetails(String alias) {
148        this(DSL.name(alias), ShipmentDetails);
149    }
150
151    /**
152     * Create an aliased <code>shipmentdetails</code> table reference
153     */
154    public ShipmentDetails(Name alias) {
155        this(alias, ShipmentDetails);
156    }
157
158    /**
159     * Create a <code>shipmentdetails</code> table reference
160     */
161    public ShipmentDetails() {
162        this(DSL.name("shipmentdetails"), null);
163    }
164
165    public <O extends Record> ShipmentDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.shipment.ShipmentDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.shipment.ShipmentDetails> parentPath) {
166        super(path, childPath, parentPath, ShipmentDetails);
167    }
168
169    /**
170     * A subtype implementing {@link Path} for simplified path-based joins.
171     */
172    public static class ShipmentDetailsPath extends ShipmentDetails implements Path<com.echothree.model.jooq.server.records.shipment.ShipmentDetails> {
173
174        private static final long serialVersionUID = 1L;
175        public <O extends Record> ShipmentDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.shipment.ShipmentDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.shipment.ShipmentDetails> parentPath) {
176            super(path, childPath, parentPath);
177        }
178        private ShipmentDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.shipment.ShipmentDetails> aliased) {
179            super(alias, aliased);
180        }
181
182        @Override
183        public ShipmentDetailsPath as(String alias) {
184            return new ShipmentDetailsPath(DSL.name(alias), this);
185        }
186
187        @Override
188        public ShipmentDetailsPath as(Name alias) {
189            return new ShipmentDetailsPath(alias, this);
190        }
191
192        @Override
193        public ShipmentDetailsPath as(Table<?> alias) {
194            return new ShipmentDetailsPath(alias.getQualifiedName(), this);
195        }
196    }
197
198    @Override
199    public UniqueKey<com.echothree.model.jooq.server.records.shipment.ShipmentDetails> getPrimaryKey() {
200        return KeyRegistry.SHIPMENT_DETAILS_PK;
201    }
202
203    @Override
204    public List<UniqueKey<com.echothree.model.jooq.server.records.shipment.ShipmentDetails>> getUniqueKeys() {
205        return Arrays.asList(KeyRegistry.SHIPMENT_DETAILS_SHIPMENT_AND_THRU_TIME_UK, KeyRegistry.SHIPMENT_DETAILS_SHIPMENT_TYPE_AND_SHIPMENT_NAME_AND_THRU_TIME_UK);
206    }
207
208    @Override
209    public List<ForeignKey<com.echothree.model.jooq.server.records.shipment.ShipmentDetails, ?>> getReferences() {
210        return Arrays.asList(KeyRegistry.SHIPMENT_DETAILS_DESTINATION_PARTY_CONTACT_MECHANISM_FK, KeyRegistry.SHIPMENT_DETAILS_DESTINATION_PARTY_FK, KeyRegistry.SHIPMENT_DETAILS_DESTINATION_WAREHOUSE_PARTY_FK, KeyRegistry.SHIPMENT_DETAILS_ORIGIN_PARTY_CONTACT_MECHANISM_FK, KeyRegistry.SHIPMENT_DETAILS_ORIGIN_PARTY_FK, KeyRegistry.SHIPMENT_DETAILS_ORIGIN_WAREHOUSE_PARTY_FK, KeyRegistry.SHIPMENT_DETAILS_SHIPPING_METHOD_FK, KeyRegistry.SHIPMENT_DETAILS_SHIPMENT_FK, KeyRegistry.SHIPMENT_DETAILS_SHIPMENT_TYPE_FK);
211    }
212
213    private transient PartyContactMechanismsPath _shpdt_destinationpartycontactmechanismid_fk;
214
215    /**
216     * Get the implicit join path to the <code>partycontactmechanisms</code>
217     * table, via the <code>shpdt_destinationpartycontactmechanismid_fk</code>
218     * key.
219     */
220    public PartyContactMechanismsPath shpdt_destinationpartycontactmechanismid_fk() {
221        if (_shpdt_destinationpartycontactmechanismid_fk == null)
222            _shpdt_destinationpartycontactmechanismid_fk = new PartyContactMechanismsPath(this, KeyRegistry.SHIPMENT_DETAILS_DESTINATION_PARTY_CONTACT_MECHANISM_FK, null);
223
224        return _shpdt_destinationpartycontactmechanismid_fk;
225    }
226
227    private transient PartiesPath _shpdt_destinationpartyid_fk;
228
229    /**
230     * Get the implicit join path to the <code>parties</code> table, via the
231     * <code>shpdt_destinationpartyid_fk</code> key.
232     */
233    public PartiesPath shpdt_destinationpartyid_fk() {
234        if (_shpdt_destinationpartyid_fk == null)
235            _shpdt_destinationpartyid_fk = new PartiesPath(this, KeyRegistry.SHIPMENT_DETAILS_DESTINATION_PARTY_FK, null);
236
237        return _shpdt_destinationpartyid_fk;
238    }
239
240    private transient PartiesPath _shpdt_destinationwarehousepartyid_fk;
241
242    /**
243     * Get the implicit join path to the <code>parties</code> table, via the
244     * <code>shpdt_destinationwarehousepartyid_fk</code> key.
245     */
246    public PartiesPath shpdt_destinationwarehousepartyid_fk() {
247        if (_shpdt_destinationwarehousepartyid_fk == null)
248            _shpdt_destinationwarehousepartyid_fk = new PartiesPath(this, KeyRegistry.SHIPMENT_DETAILS_DESTINATION_WAREHOUSE_PARTY_FK, null);
249
250        return _shpdt_destinationwarehousepartyid_fk;
251    }
252
253    private transient PartyContactMechanismsPath _shpdt_originpartycontactmechanismid_fk;
254
255    /**
256     * Get the implicit join path to the <code>partycontactmechanisms</code>
257     * table, via the <code>shpdt_originpartycontactmechanismid_fk</code> key.
258     */
259    public PartyContactMechanismsPath shpdt_originpartycontactmechanismid_fk() {
260        if (_shpdt_originpartycontactmechanismid_fk == null)
261            _shpdt_originpartycontactmechanismid_fk = new PartyContactMechanismsPath(this, KeyRegistry.SHIPMENT_DETAILS_ORIGIN_PARTY_CONTACT_MECHANISM_FK, null);
262
263        return _shpdt_originpartycontactmechanismid_fk;
264    }
265
266    private transient PartiesPath _shpdt_originpartyid_fk;
267
268    /**
269     * Get the implicit join path to the <code>parties</code> table, via the
270     * <code>shpdt_originpartyid_fk</code> key.
271     */
272    public PartiesPath shpdt_originpartyid_fk() {
273        if (_shpdt_originpartyid_fk == null)
274            _shpdt_originpartyid_fk = new PartiesPath(this, KeyRegistry.SHIPMENT_DETAILS_ORIGIN_PARTY_FK, null);
275
276        return _shpdt_originpartyid_fk;
277    }
278
279    private transient PartiesPath _shpdt_originwarehousepartyid_fk;
280
281    /**
282     * Get the implicit join path to the <code>parties</code> table, via the
283     * <code>shpdt_originwarehousepartyid_fk</code> key.
284     */
285    public PartiesPath shpdt_originwarehousepartyid_fk() {
286        if (_shpdt_originwarehousepartyid_fk == null)
287            _shpdt_originwarehousepartyid_fk = new PartiesPath(this, KeyRegistry.SHIPMENT_DETAILS_ORIGIN_WAREHOUSE_PARTY_FK, null);
288
289        return _shpdt_originwarehousepartyid_fk;
290    }
291
292    private transient ShippingMethodsPath _shpdt_shm_shippingmethodid_fk;
293
294    /**
295     * Get the implicit join path to the <code>shippingmethods</code> table.
296     */
297    public ShippingMethodsPath shpdt_shm_shippingmethodid_fk() {
298        if (_shpdt_shm_shippingmethodid_fk == null)
299            _shpdt_shm_shippingmethodid_fk = new ShippingMethodsPath(this, KeyRegistry.SHIPMENT_DETAILS_SHIPPING_METHOD_FK, null);
300
301        return _shpdt_shm_shippingmethodid_fk;
302    }
303
304    private transient ShipmentsPath _shpdt_shp_shipmentid_fk;
305
306    /**
307     * Get the implicit join path to the <code>shipments</code> table.
308     */
309    public ShipmentsPath shpdt_shp_shipmentid_fk() {
310        if (_shpdt_shp_shipmentid_fk == null)
311            _shpdt_shp_shipmentid_fk = new ShipmentsPath(this, KeyRegistry.SHIPMENT_DETAILS_SHIPMENT_FK, null);
312
313        return _shpdt_shp_shipmentid_fk;
314    }
315
316    private transient ShipmentTypesPath _shpdt_shptyp_shipmenttypeid_fk;
317
318    /**
319     * Get the implicit join path to the <code>shipmenttypes</code> table.
320     */
321    public ShipmentTypesPath shpdt_shptyp_shipmenttypeid_fk() {
322        if (_shpdt_shptyp_shipmenttypeid_fk == null)
323            _shpdt_shptyp_shipmenttypeid_fk = new ShipmentTypesPath(this, KeyRegistry.SHIPMENT_DETAILS_SHIPMENT_TYPE_FK, null);
324
325        return _shpdt_shptyp_shipmenttypeid_fk;
326    }
327
328    @Override
329    public ShipmentDetails as(String alias) {
330        return new ShipmentDetails(DSL.name(alias), this);
331    }
332
333    @Override
334    public ShipmentDetails as(Name alias) {
335        return new ShipmentDetails(alias, this);
336    }
337
338    @Override
339    public ShipmentDetails as(Table<?> alias) {
340        return new ShipmentDetails(alias.getQualifiedName(), this);
341    }
342
343    /**
344     * Rename this table
345     */
346    @Override
347    public ShipmentDetails rename(String name) {
348        return new ShipmentDetails(DSL.name(name), null);
349    }
350
351    /**
352     * Rename this table
353     */
354    @Override
355    public ShipmentDetails rename(Name name) {
356        return new ShipmentDetails(name, null);
357    }
358
359    /**
360     * Rename this table
361     */
362    @Override
363    public ShipmentDetails rename(Table<?> name) {
364        return new ShipmentDetails(name.getQualifiedName(), null);
365    }
366
367    /**
368     * Create an inline derived table from this table
369     */
370    @Override
371    public ShipmentDetails where(Condition condition) {
372        return new ShipmentDetails(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
373    }
374
375    /**
376     * Create an inline derived table from this table
377     */
378    @Override
379    public ShipmentDetails where(Collection<? extends Condition> conditions) {
380        return where(DSL.and(conditions));
381    }
382
383    /**
384     * Create an inline derived table from this table
385     */
386    @Override
387    public ShipmentDetails where(Condition... conditions) {
388        return where(DSL.and(conditions));
389    }
390
391    /**
392     * Create an inline derived table from this table
393     */
394    @Override
395    public ShipmentDetails where(Field<Boolean> condition) {
396        return where(DSL.condition(condition));
397    }
398
399    /**
400     * Create an inline derived table from this table
401     */
402    @Override
403    @PlainSQL
404    public ShipmentDetails where(SQL condition) {
405        return where(DSL.condition(condition));
406    }
407
408    /**
409     * Create an inline derived table from this table
410     */
411    @Override
412    @PlainSQL
413    public ShipmentDetails where(@Stringly.SQL String condition) {
414        return where(DSL.condition(condition));
415    }
416
417    /**
418     * Create an inline derived table from this table
419     */
420    @Override
421    @PlainSQL
422    public ShipmentDetails where(@Stringly.SQL String condition, Object... binds) {
423        return where(DSL.condition(condition, binds));
424    }
425
426    /**
427     * Create an inline derived table from this table
428     */
429    @Override
430    @PlainSQL
431    public ShipmentDetails where(@Stringly.SQL String condition, QueryPart... parts) {
432        return where(DSL.condition(condition, parts));
433    }
434
435    /**
436     * Create an inline derived table from this table
437     */
438    @Override
439    public ShipmentDetails whereExists(TableLike<?> select) {
440        return where(DSL.exists(select));
441    }
442
443    /**
444     * Create an inline derived table from this table
445     */
446    @Override
447    public ShipmentDetails whereNotExists(TableLike<?> select) {
448        return where(DSL.notExists(select));
449    }
450}