001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.order;
005
006
007import com.echothree.model.data.contact.common.pk.PartyContactMechanismPK;
008import com.echothree.model.data.item.common.pk.ItemDeliveryTypePK;
009import com.echothree.model.data.order.common.pk.OrderPK;
010import com.echothree.model.data.order.common.pk.OrderShipmentGroupDetailPK;
011import com.echothree.model.data.order.common.pk.OrderShipmentGroupPK;
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.item.ItemDeliveryTypes.ItemDeliveryTypesPath;
016import com.echothree.model.jooq.server.tables.order.OrderShipmentGroups.OrderShipmentGroupsPath;
017import com.echothree.model.jooq.server.tables.order.Orders.OrdersPath;
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 OrderShipmentGroupDetails extends TableImpl<com.echothree.model.jooq.server.records.order.OrderShipmentGroupDetails> {
052
053    private static final long serialVersionUID = 1L;
054
055    /**
056     * The reference instance of <code>ordershipmentgroupdetails</code>
057     */
058    public static final OrderShipmentGroupDetails OrderShipmentGroupDetails = new OrderShipmentGroupDetails();
059
060    /**
061     * The class holding records for this type
062     */
063    @Override
064    public Class<com.echothree.model.jooq.server.records.order.OrderShipmentGroupDetails> getRecordType() {
065        return com.echothree.model.jooq.server.records.order.OrderShipmentGroupDetails.class;
066    }
067
068    /**
069     * The column
070     * <code>ordershipmentgroupdetails.ordshpgrpdt_ordershipmentgroupdetailid</code>.
071     */
072    public final TableField<com.echothree.model.jooq.server.records.order.OrderShipmentGroupDetails, OrderShipmentGroupDetailPK> ORDER_SHIPMENT_GROUP_DETAIL = createField(DSL.name("ordshpgrpdt_ordershipmentgroupdetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, OrderShipmentGroupDetailPK.class, id -> new com.echothree.model.data.order.common.pk.OrderShipmentGroupDetailPK(id), primaryKey -> primaryKey.getEntityId()));
073
074    /**
075     * The column
076     * <code>ordershipmentgroupdetails.ordshpgrpdt_ordshpgrp_ordershipmentgroupid</code>.
077     */
078    public final TableField<com.echothree.model.jooq.server.records.order.OrderShipmentGroupDetails, OrderShipmentGroupPK> ORDER_SHIPMENT_GROUP = createField(DSL.name("ordshpgrpdt_ordshpgrp_ordershipmentgroupid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, OrderShipmentGroupPK.class, id -> new com.echothree.model.data.order.common.pk.OrderShipmentGroupPK(id), primaryKey -> primaryKey.getEntityId()));
079
080    /**
081     * The column
082     * <code>ordershipmentgroupdetails.ordshpgrpdt_ord_orderid</code>.
083     */
084    public final TableField<com.echothree.model.jooq.server.records.order.OrderShipmentGroupDetails, OrderPK> ORDER = createField(DSL.name("ordshpgrpdt_ord_orderid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, OrderPK.class, id -> new com.echothree.model.data.order.common.pk.OrderPK(id), primaryKey -> primaryKey.getEntityId()));
085
086    /**
087     * The column
088     * <code>ordershipmentgroupdetails.ordshpgrpdt_ordershipmentgroupsequence</code>.
089     */
090    public final TableField<com.echothree.model.jooq.server.records.order.OrderShipmentGroupDetails, Integer> ORDER_SHIPMENT_GROUP_SEQUENCE = createField(DSL.name("ordshpgrpdt_ordershipmentgroupsequence"), SQLDataType.INTEGER.nullable(false), this, "");
091
092    /**
093     * The column
094     * <code>ordershipmentgroupdetails.ordshpgrpdt_idlvrtyp_itemdeliverytypeid</code>.
095     */
096    public final TableField<com.echothree.model.jooq.server.records.order.OrderShipmentGroupDetails, ItemDeliveryTypePK> ITEM_DELIVERY_TYPE = createField(DSL.name("ordshpgrpdt_idlvrtyp_itemdeliverytypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ItemDeliveryTypePK.class, id -> new com.echothree.model.data.item.common.pk.ItemDeliveryTypePK(id), primaryKey -> primaryKey.getEntityId()));
097
098    /**
099     * The column <code>ordershipmentgroupdetails.ordshpgrpdt_isdefault</code>.
100     */
101    public final TableField<com.echothree.model.jooq.server.records.order.OrderShipmentGroupDetails, Boolean> IS_DEFAULT = createField(DSL.name("ordshpgrpdt_isdefault"), SQLDataType.BIT.nullable(false), this, "");
102
103    /**
104     * The column
105     * <code>ordershipmentgroupdetails.ordshpgrpdt_pcm_partycontactmechanismid</code>.
106     */
107    public final TableField<com.echothree.model.jooq.server.records.order.OrderShipmentGroupDetails, PartyContactMechanismPK> PARTY_CONTACT_MECHANISM = createField(DSL.name("ordshpgrpdt_pcm_partycontactmechanismid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, PartyContactMechanismPK.class, id -> new com.echothree.model.data.contact.common.pk.PartyContactMechanismPK(id), primaryKey -> primaryKey.getEntityId()));
108
109    /**
110     * The column
111     * <code>ordershipmentgroupdetails.ordshpgrpdt_shm_shippingmethodid</code>.
112     */
113    public final TableField<com.echothree.model.jooq.server.records.order.OrderShipmentGroupDetails, ShippingMethodPK> SHIPPING_METHOD = createField(DSL.name("ordshpgrpdt_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()));
114
115    /**
116     * The column
117     * <code>ordershipmentgroupdetails.ordshpgrpdt_holduntilcomplete</code>.
118     */
119    public final TableField<com.echothree.model.jooq.server.records.order.OrderShipmentGroupDetails, Boolean> HOLD_UNTIL_COMPLETE = createField(DSL.name("ordshpgrpdt_holduntilcomplete"), SQLDataType.BIT, this, "");
120
121    /**
122     * The column <code>ordershipmentgroupdetails.ordshpgrpdt_fromtime</code>.
123     */
124    public final TableField<com.echothree.model.jooq.server.records.order.OrderShipmentGroupDetails, Long> FROM_TIME = createField(DSL.name("ordshpgrpdt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
125
126    /**
127     * The column <code>ordershipmentgroupdetails.ordshpgrpdt_thrutime</code>.
128     */
129    public final TableField<com.echothree.model.jooq.server.records.order.OrderShipmentGroupDetails, Long> THRU_TIME = createField(DSL.name("ordshpgrpdt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
130
131    private OrderShipmentGroupDetails(Name alias, Table<com.echothree.model.jooq.server.records.order.OrderShipmentGroupDetails> aliased) {
132        this(alias, aliased, (Field<?>[]) null, null);
133    }
134
135    private OrderShipmentGroupDetails(Name alias, Table<com.echothree.model.jooq.server.records.order.OrderShipmentGroupDetails> aliased, Field<?>[] parameters, Condition where) {
136        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
137    }
138
139    /**
140     * Create an aliased <code>ordershipmentgroupdetails</code> table reference
141     */
142    public OrderShipmentGroupDetails(String alias) {
143        this(DSL.name(alias), OrderShipmentGroupDetails);
144    }
145
146    /**
147     * Create an aliased <code>ordershipmentgroupdetails</code> table reference
148     */
149    public OrderShipmentGroupDetails(Name alias) {
150        this(alias, OrderShipmentGroupDetails);
151    }
152
153    /**
154     * Create a <code>ordershipmentgroupdetails</code> table reference
155     */
156    public OrderShipmentGroupDetails() {
157        this(DSL.name("ordershipmentgroupdetails"), null);
158    }
159
160    public <O extends Record> OrderShipmentGroupDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.order.OrderShipmentGroupDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.order.OrderShipmentGroupDetails> parentPath) {
161        super(path, childPath, parentPath, OrderShipmentGroupDetails);
162    }
163
164    /**
165     * A subtype implementing {@link Path} for simplified path-based joins.
166     */
167    public static class OrderShipmentGroupDetailsPath extends OrderShipmentGroupDetails implements Path<com.echothree.model.jooq.server.records.order.OrderShipmentGroupDetails> {
168
169        private static final long serialVersionUID = 1L;
170        public <O extends Record> OrderShipmentGroupDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.order.OrderShipmentGroupDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.order.OrderShipmentGroupDetails> parentPath) {
171            super(path, childPath, parentPath);
172        }
173        private OrderShipmentGroupDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.order.OrderShipmentGroupDetails> aliased) {
174            super(alias, aliased);
175        }
176
177        @Override
178        public OrderShipmentGroupDetailsPath as(String alias) {
179            return new OrderShipmentGroupDetailsPath(DSL.name(alias), this);
180        }
181
182        @Override
183        public OrderShipmentGroupDetailsPath as(Name alias) {
184            return new OrderShipmentGroupDetailsPath(alias, this);
185        }
186
187        @Override
188        public OrderShipmentGroupDetailsPath as(Table<?> alias) {
189            return new OrderShipmentGroupDetailsPath(alias.getQualifiedName(), this);
190        }
191    }
192
193    @Override
194    public UniqueKey<com.echothree.model.jooq.server.records.order.OrderShipmentGroupDetails> getPrimaryKey() {
195        return KeyRegistry.ORDER_SHIPMENT_GROUP_DETAILS_PK;
196    }
197
198    @Override
199    public List<UniqueKey<com.echothree.model.jooq.server.records.order.OrderShipmentGroupDetails>> getUniqueKeys() {
200        return Arrays.asList(KeyRegistry.ORDER_SHIPMENT_GROUP_DETAILS_ORDER_SHIPMENT_GROUP_AND_THRU_TIME_UK, KeyRegistry.ORDER_SHIPMENT_GROUP_DETAILS_ORDER_AND_ORDER_SHIPMENT_GROUP_SEQUENCE_AND_THRU_TIME_UK, KeyRegistry.ORDER_SHIPMENT_GROUP_DETAILS_ORDER_AND_ITEM_DELIVERY_TYPE_AND_IS_DEFAULT_AND_THRU_TIME_UK);
201    }
202
203    @Override
204    public List<ForeignKey<com.echothree.model.jooq.server.records.order.OrderShipmentGroupDetails, ?>> getReferences() {
205        return Arrays.asList(KeyRegistry.ORDER_SHIPMENT_GROUP_DETAILS_ITEM_DELIVERY_TYPE_FK, KeyRegistry.ORDER_SHIPMENT_GROUP_DETAILS_ORDER_FK, KeyRegistry.ORDER_SHIPMENT_GROUP_DETAILS_ORDER_SHIPMENT_GROUP_FK, KeyRegistry.ORDER_SHIPMENT_GROUP_DETAILS_PARTY_CONTACT_MECHANISM_FK, KeyRegistry.ORDER_SHIPMENT_GROUP_DETAILS_SHIPPING_METHOD_FK);
206    }
207
208    private transient ItemDeliveryTypesPath _ordshpgrpdt_idlvrtyp_itemdeliverytypeid_fk;
209
210    /**
211     * Get the implicit join path to the <code>itemdeliverytypes</code> table.
212     */
213    public ItemDeliveryTypesPath ordshpgrpdt_idlvrtyp_itemdeliverytypeid_fk() {
214        if (_ordshpgrpdt_idlvrtyp_itemdeliverytypeid_fk == null)
215            _ordshpgrpdt_idlvrtyp_itemdeliverytypeid_fk = new ItemDeliveryTypesPath(this, KeyRegistry.ORDER_SHIPMENT_GROUP_DETAILS_ITEM_DELIVERY_TYPE_FK, null);
216
217        return _ordshpgrpdt_idlvrtyp_itemdeliverytypeid_fk;
218    }
219
220    private transient OrdersPath _ordshpgrpdt_ord_orderid_fk;
221
222    /**
223     * Get the implicit join path to the <code>orders</code> table.
224     */
225    public OrdersPath ordshpgrpdt_ord_orderid_fk() {
226        if (_ordshpgrpdt_ord_orderid_fk == null)
227            _ordshpgrpdt_ord_orderid_fk = new OrdersPath(this, KeyRegistry.ORDER_SHIPMENT_GROUP_DETAILS_ORDER_FK, null);
228
229        return _ordshpgrpdt_ord_orderid_fk;
230    }
231
232    private transient OrderShipmentGroupsPath _ordshpgrpdt_ordshpgrp_ordershipmentgroupid_fk;
233
234    /**
235     * Get the implicit join path to the <code>ordershipmentgroups</code> table.
236     */
237    public OrderShipmentGroupsPath ordshpgrpdt_ordshpgrp_ordershipmentgroupid_fk() {
238        if (_ordshpgrpdt_ordshpgrp_ordershipmentgroupid_fk == null)
239            _ordshpgrpdt_ordshpgrp_ordershipmentgroupid_fk = new OrderShipmentGroupsPath(this, KeyRegistry.ORDER_SHIPMENT_GROUP_DETAILS_ORDER_SHIPMENT_GROUP_FK, null);
240
241        return _ordshpgrpdt_ordshpgrp_ordershipmentgroupid_fk;
242    }
243
244    private transient PartyContactMechanismsPath _ordshpgrpdt_pcm_partycontactmechanismid_fk;
245
246    /**
247     * Get the implicit join path to the <code>partycontactmechanisms</code>
248     * table.
249     */
250    public PartyContactMechanismsPath ordshpgrpdt_pcm_partycontactmechanismid_fk() {
251        if (_ordshpgrpdt_pcm_partycontactmechanismid_fk == null)
252            _ordshpgrpdt_pcm_partycontactmechanismid_fk = new PartyContactMechanismsPath(this, KeyRegistry.ORDER_SHIPMENT_GROUP_DETAILS_PARTY_CONTACT_MECHANISM_FK, null);
253
254        return _ordshpgrpdt_pcm_partycontactmechanismid_fk;
255    }
256
257    private transient ShippingMethodsPath _ordshpgrpdt_shm_shippingmethodid_fk;
258
259    /**
260     * Get the implicit join path to the <code>shippingmethods</code> table.
261     */
262    public ShippingMethodsPath ordshpgrpdt_shm_shippingmethodid_fk() {
263        if (_ordshpgrpdt_shm_shippingmethodid_fk == null)
264            _ordshpgrpdt_shm_shippingmethodid_fk = new ShippingMethodsPath(this, KeyRegistry.ORDER_SHIPMENT_GROUP_DETAILS_SHIPPING_METHOD_FK, null);
265
266        return _ordshpgrpdt_shm_shippingmethodid_fk;
267    }
268
269    @Override
270    public OrderShipmentGroupDetails as(String alias) {
271        return new OrderShipmentGroupDetails(DSL.name(alias), this);
272    }
273
274    @Override
275    public OrderShipmentGroupDetails as(Name alias) {
276        return new OrderShipmentGroupDetails(alias, this);
277    }
278
279    @Override
280    public OrderShipmentGroupDetails as(Table<?> alias) {
281        return new OrderShipmentGroupDetails(alias.getQualifiedName(), this);
282    }
283
284    /**
285     * Rename this table
286     */
287    @Override
288    public OrderShipmentGroupDetails rename(String name) {
289        return new OrderShipmentGroupDetails(DSL.name(name), null);
290    }
291
292    /**
293     * Rename this table
294     */
295    @Override
296    public OrderShipmentGroupDetails rename(Name name) {
297        return new OrderShipmentGroupDetails(name, null);
298    }
299
300    /**
301     * Rename this table
302     */
303    @Override
304    public OrderShipmentGroupDetails rename(Table<?> name) {
305        return new OrderShipmentGroupDetails(name.getQualifiedName(), null);
306    }
307
308    /**
309     * Create an inline derived table from this table
310     */
311    @Override
312    public OrderShipmentGroupDetails where(Condition condition) {
313        return new OrderShipmentGroupDetails(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
314    }
315
316    /**
317     * Create an inline derived table from this table
318     */
319    @Override
320    public OrderShipmentGroupDetails where(Collection<? extends Condition> conditions) {
321        return where(DSL.and(conditions));
322    }
323
324    /**
325     * Create an inline derived table from this table
326     */
327    @Override
328    public OrderShipmentGroupDetails where(Condition... conditions) {
329        return where(DSL.and(conditions));
330    }
331
332    /**
333     * Create an inline derived table from this table
334     */
335    @Override
336    public OrderShipmentGroupDetails where(Field<Boolean> condition) {
337        return where(DSL.condition(condition));
338    }
339
340    /**
341     * Create an inline derived table from this table
342     */
343    @Override
344    @PlainSQL
345    public OrderShipmentGroupDetails where(SQL condition) {
346        return where(DSL.condition(condition));
347    }
348
349    /**
350     * Create an inline derived table from this table
351     */
352    @Override
353    @PlainSQL
354    public OrderShipmentGroupDetails where(@Stringly.SQL String condition) {
355        return where(DSL.condition(condition));
356    }
357
358    /**
359     * Create an inline derived table from this table
360     */
361    @Override
362    @PlainSQL
363    public OrderShipmentGroupDetails where(@Stringly.SQL String condition, Object... binds) {
364        return where(DSL.condition(condition, binds));
365    }
366
367    /**
368     * Create an inline derived table from this table
369     */
370    @Override
371    @PlainSQL
372    public OrderShipmentGroupDetails where(@Stringly.SQL String condition, QueryPart... parts) {
373        return where(DSL.condition(condition, parts));
374    }
375
376    /**
377     * Create an inline derived table from this table
378     */
379    @Override
380    public OrderShipmentGroupDetails whereExists(TableLike<?> select) {
381        return where(DSL.exists(select));
382    }
383
384    /**
385     * Create an inline derived table from this table
386     */
387    @Override
388    public OrderShipmentGroupDetails whereNotExists(TableLike<?> select) {
389        return where(DSL.notExists(select));
390    }
391}