001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.item;
005
006
007import com.echothree.model.data.accounting.common.pk.ItemAccountingCategoryPK;
008import com.echothree.model.data.cancellationpolicy.common.pk.CancellationPolicyPK;
009import com.echothree.model.data.item.common.pk.ItemCategoryPK;
010import com.echothree.model.data.item.common.pk.ItemDeliveryTypePK;
011import com.echothree.model.data.item.common.pk.ItemDetailPK;
012import com.echothree.model.data.item.common.pk.ItemInventoryTypePK;
013import com.echothree.model.data.item.common.pk.ItemPK;
014import com.echothree.model.data.item.common.pk.ItemPriceTypePK;
015import com.echothree.model.data.item.common.pk.ItemTypePK;
016import com.echothree.model.data.item.common.pk.ItemUseTypePK;
017import com.echothree.model.data.party.common.pk.PartyPK;
018import com.echothree.model.data.returnpolicy.common.pk.ReturnPolicyPK;
019import com.echothree.model.data.sequence.common.pk.SequencePK;
020import com.echothree.model.data.style.common.pk.StylePathPK;
021import com.echothree.model.data.uom.common.pk.UnitOfMeasureKindPK;
022import com.echothree.model.data.vendor.common.pk.ItemPurchasingCategoryPK;
023import com.echothree.model.jooq.server.KeyRegistry;
024import com.echothree.model.jooq.server.tables.accounting.ItemAccountingCategories.ItemAccountingCategoriesPath;
025import com.echothree.model.jooq.server.tables.cancellationpolicy.CancellationPolicies.CancellationPoliciesPath;
026import com.echothree.model.jooq.server.tables.item.ItemCategories.ItemCategoriesPath;
027import com.echothree.model.jooq.server.tables.item.ItemDeliveryTypes.ItemDeliveryTypesPath;
028import com.echothree.model.jooq.server.tables.item.ItemInventoryTypes.ItemInventoryTypesPath;
029import com.echothree.model.jooq.server.tables.item.ItemPriceTypes.ItemPriceTypesPath;
030import com.echothree.model.jooq.server.tables.item.ItemTypes.ItemTypesPath;
031import com.echothree.model.jooq.server.tables.item.ItemUseTypes.ItemUseTypesPath;
032import com.echothree.model.jooq.server.tables.item.Items.ItemsPath;
033import com.echothree.model.jooq.server.tables.party.Parties.PartiesPath;
034import com.echothree.model.jooq.server.tables.returnpolicy.ReturnPolicies.ReturnPoliciesPath;
035import com.echothree.model.jooq.server.tables.sequence.Sequences.SequencesPath;
036import com.echothree.model.jooq.server.tables.style.StylePaths.StylePathsPath;
037import com.echothree.model.jooq.server.tables.uom.UnitOfMeasureKinds.UnitOfMeasureKindsPath;
038import com.echothree.model.jooq.server.tables.vendor.ItemPurchasingCategories.ItemPurchasingCategoriesPath;
039
040import java.util.Arrays;
041import java.util.Collection;
042import java.util.List;
043
044import org.jooq.Condition;
045import org.jooq.Converter;
046import org.jooq.Field;
047import org.jooq.ForeignKey;
048import org.jooq.InverseForeignKey;
049import org.jooq.Name;
050import org.jooq.Path;
051import org.jooq.PlainSQL;
052import org.jooq.QueryPart;
053import org.jooq.Record;
054import org.jooq.SQL;
055import org.jooq.Stringly;
056import org.jooq.Table;
057import org.jooq.TableField;
058import org.jooq.TableLike;
059import org.jooq.TableOptions;
060import org.jooq.UniqueKey;
061import org.jooq.impl.DSL;
062import org.jooq.impl.Internal;
063import org.jooq.impl.SQLDataType;
064import org.jooq.impl.TableImpl;
065
066
067/**
068 * This class is generated by jOOQ.
069 */
070@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
071public class ItemDetails extends TableImpl<com.echothree.model.jooq.server.records.item.ItemDetails> {
072
073    private static final long serialVersionUID = 1L;
074
075    /**
076     * The reference instance of <code>itemdetails</code>
077     */
078    public static final ItemDetails ItemDetails = new ItemDetails();
079
080    /**
081     * The class holding records for this type
082     */
083    @Override
084    public Class<com.echothree.model.jooq.server.records.item.ItemDetails> getRecordType() {
085        return com.echothree.model.jooq.server.records.item.ItemDetails.class;
086    }
087
088    /**
089     * The column <code>itemdetails.itmdt_itemdetailid</code>.
090     */
091    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, ItemDetailPK> ITEM_DETAIL = createField(DSL.name("itmdt_itemdetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ItemDetailPK.class, id -> new com.echothree.model.data.item.common.pk.ItemDetailPK(id), primaryKey -> primaryKey.getEntityId()));
092
093    /**
094     * The column <code>itemdetails.itmdt_itm_itemid</code>.
095     */
096    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, ItemPK> ITEM = createField(DSL.name("itmdt_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()));
097
098    /**
099     * The column <code>itemdetails.itmdt_itemname</code>.
100     */
101    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, String> ITEM_NAME = createField(DSL.name("itmdt_itemname"), SQLDataType.VARCHAR(40).nullable(false), this, "");
102
103    /**
104     * The column <code>itemdetails.itmdt_ityp_itemtypeid</code>.
105     */
106    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, ItemTypePK> ITEM_TYPE = createField(DSL.name("itmdt_ityp_itemtypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ItemTypePK.class, id -> new com.echothree.model.data.item.common.pk.ItemTypePK(id), primaryKey -> primaryKey.getEntityId()));
107
108    /**
109     * The column <code>itemdetails.itmdt_iutyp_itemusetypeid</code>.
110     */
111    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, ItemUseTypePK> ITEM_USE_TYPE = createField(DSL.name("itmdt_iutyp_itemusetypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ItemUseTypePK.class, id -> new com.echothree.model.data.item.common.pk.ItemUseTypePK(id), primaryKey -> primaryKey.getEntityId()));
112
113    /**
114     * The column <code>itemdetails.itmdt_ic_itemcategoryid</code>.
115     */
116    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, ItemCategoryPK> ITEM_CATEGORY = createField(DSL.name("itmdt_ic_itemcategoryid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ItemCategoryPK.class, id -> new com.echothree.model.data.item.common.pk.ItemCategoryPK(id), primaryKey -> primaryKey.getEntityId()));
117
118    /**
119     * The column
120     * <code>itemdetails.itmdt_iactgc_itemaccountingcategoryid</code>.
121     */
122    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, ItemAccountingCategoryPK> ITEM_ACCOUNTING_CATEGORY = createField(DSL.name("itmdt_iactgc_itemaccountingcategoryid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, ItemAccountingCategoryPK.class, id -> new com.echothree.model.data.accounting.common.pk.ItemAccountingCategoryPK(id), primaryKey -> primaryKey.getEntityId()));
123
124    /**
125     * The column
126     * <code>itemdetails.itmdt_iprchc_itempurchasingcategoryid</code>.
127     */
128    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, ItemPurchasingCategoryPK> ITEM_PURCHASING_CATEGORY = createField(DSL.name("itmdt_iprchc_itempurchasingcategoryid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, ItemPurchasingCategoryPK.class, id -> new com.echothree.model.data.vendor.common.pk.ItemPurchasingCategoryPK(id), primaryKey -> primaryKey.getEntityId()));
129
130    /**
131     * The column <code>itemdetails.itmdt_companypartyid</code>.
132     */
133    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, PartyPK> COMPANY_PARTY = createField(DSL.name("itmdt_companypartyid"), 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()));
134
135    /**
136     * The column <code>itemdetails.itmdt_idlvrtyp_itemdeliverytypeid</code>.
137     */
138    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, ItemDeliveryTypePK> ITEM_DELIVERY_TYPE = createField(DSL.name("itmdt_idlvrtyp_itemdeliverytypeid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, ItemDeliveryTypePK.class, id -> new com.echothree.model.data.item.common.pk.ItemDeliveryTypePK(id), primaryKey -> primaryKey.getEntityId()));
139
140    /**
141     * The column <code>itemdetails.itmdt_iinvtyp_iteminventorytypeid</code>.
142     */
143    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, ItemInventoryTypePK> ITEM_INVENTORY_TYPE = createField(DSL.name("itmdt_iinvtyp_iteminventorytypeid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, ItemInventoryTypePK.class, id -> new com.echothree.model.data.item.common.pk.ItemInventoryTypePK(id), primaryKey -> primaryKey.getEntityId()));
144
145    /**
146     * The column <code>itemdetails.itmdt_inventoryserialized</code>.
147     */
148    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, Boolean> INVENTORY_SERIALIZED = createField(DSL.name("itmdt_inventoryserialized"), SQLDataType.BIT, this, "");
149
150    /**
151     * The column <code>itemdetails.itmdt_serialnumbersequenceid</code>.
152     */
153    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, SequencePK> SERIAL_NUMBER_SEQUENCE = createField(DSL.name("itmdt_serialnumbersequenceid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, SequencePK.class, id -> new com.echothree.model.data.sequence.common.pk.SequencePK(id), primaryKey -> primaryKey.getEntityId()));
154
155    /**
156     * The column <code>itemdetails.itmdt_shippingchargeexempt</code>.
157     */
158    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, Boolean> SHIPPING_CHARGE_EXEMPT = createField(DSL.name("itmdt_shippingchargeexempt"), SQLDataType.BIT.nullable(false), this, "");
159
160    /**
161     * The column <code>itemdetails.itmdt_shippingstarttime</code>.
162     */
163    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, Long> SHIPPING_START_TIME = createField(DSL.name("itmdt_shippingstarttime"), SQLDataType.BIGINT.nullable(false), this, "");
164
165    /**
166     * The column <code>itemdetails.itmdt_shippingendtime</code>.
167     */
168    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, Long> SHIPPING_END_TIME = createField(DSL.name("itmdt_shippingendtime"), SQLDataType.BIGINT, this, "");
169
170    /**
171     * The column <code>itemdetails.itmdt_salesorderstarttime</code>.
172     */
173    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, Long> SALES_ORDER_START_TIME = createField(DSL.name("itmdt_salesorderstarttime"), SQLDataType.BIGINT.nullable(false), this, "");
174
175    /**
176     * The column <code>itemdetails.itmdt_salesorderendtime</code>.
177     */
178    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, Long> SALES_ORDER_END_TIME = createField(DSL.name("itmdt_salesorderendtime"), SQLDataType.BIGINT, this, "");
179
180    /**
181     * The column <code>itemdetails.itmdt_purchaseorderstarttime</code>.
182     */
183    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, Long> PURCHASE_ORDER_START_TIME = createField(DSL.name("itmdt_purchaseorderstarttime"), SQLDataType.BIGINT, this, "");
184
185    /**
186     * The column <code>itemdetails.itmdt_purchaseorderendtime</code>.
187     */
188    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, Long> PURCHASE_ORDER_END_TIME = createField(DSL.name("itmdt_purchaseorderendtime"), SQLDataType.BIGINT, this, "");
189
190    /**
191     * The column <code>itemdetails.itmdt_allowclubdiscounts</code>.
192     */
193    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, Boolean> ALLOW_CLUB_DISCOUNTS = createField(DSL.name("itmdt_allowclubdiscounts"), SQLDataType.BIT.nullable(false), this, "");
194
195    /**
196     * The column <code>itemdetails.itmdt_allowcoupondiscounts</code>.
197     */
198    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, Boolean> ALLOW_COUPON_DISCOUNTS = createField(DSL.name("itmdt_allowcoupondiscounts"), SQLDataType.BIT.nullable(false), this, "");
199
200    /**
201     * The column <code>itemdetails.itmdt_allowassociatepayments</code>.
202     */
203    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, Boolean> ALLOW_ASSOCIATE_PAYMENTS = createField(DSL.name("itmdt_allowassociatepayments"), SQLDataType.BIT.nullable(false), this, "");
204
205    /**
206     * The column <code>itemdetails.itmdt_uomk_unitofmeasurekindid</code>.
207     */
208    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, UnitOfMeasureKindPK> UNIT_OF_MEASURE_KIND = createField(DSL.name("itmdt_uomk_unitofmeasurekindid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, UnitOfMeasureKindPK.class, id -> new com.echothree.model.data.uom.common.pk.UnitOfMeasureKindPK(id), primaryKey -> primaryKey.getEntityId()));
209
210    /**
211     * The column <code>itemdetails.itmdt_ipt_itempricetypeid</code>.
212     */
213    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, ItemPriceTypePK> ITEM_PRICE_TYPE = createField(DSL.name("itmdt_ipt_itempricetypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ItemPriceTypePK.class, id -> new com.echothree.model.data.item.common.pk.ItemPriceTypePK(id), primaryKey -> primaryKey.getEntityId()));
214
215    /**
216     * The column <code>itemdetails.itmdt_cnclplcy_cancellationpolicyid</code>.
217     */
218    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, CancellationPolicyPK> CANCELLATION_POLICY = createField(DSL.name("itmdt_cnclplcy_cancellationpolicyid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, CancellationPolicyPK.class, id -> new com.echothree.model.data.cancellationpolicy.common.pk.CancellationPolicyPK(id), primaryKey -> primaryKey.getEntityId()));
219
220    /**
221     * The column <code>itemdetails.itmdt_rtnplcy_returnpolicyid</code>.
222     */
223    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, ReturnPolicyPK> RETURN_POLICY = createField(DSL.name("itmdt_rtnplcy_returnpolicyid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, ReturnPolicyPK.class, id -> new com.echothree.model.data.returnpolicy.common.pk.ReturnPolicyPK(id), primaryKey -> primaryKey.getEntityId()));
224
225    /**
226     * The column <code>itemdetails.itmdt_stylpth_stylepathid</code>.
227     */
228    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, StylePathPK> STYLE_PATH = createField(DSL.name("itmdt_stylpth_stylepathid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, StylePathPK.class, id -> new com.echothree.model.data.style.common.pk.StylePathPK(id), primaryKey -> primaryKey.getEntityId()));
229
230    /**
231     * The column <code>itemdetails.itmdt_fromtime</code>.
232     */
233    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, Long> FROM_TIME = createField(DSL.name("itmdt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
234
235    /**
236     * The column <code>itemdetails.itmdt_thrutime</code>.
237     */
238    public final TableField<com.echothree.model.jooq.server.records.item.ItemDetails, Long> THRU_TIME = createField(DSL.name("itmdt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
239
240    private ItemDetails(Name alias, Table<com.echothree.model.jooq.server.records.item.ItemDetails> aliased) {
241        this(alias, aliased, (Field<?>[]) null, null);
242    }
243
244    private ItemDetails(Name alias, Table<com.echothree.model.jooq.server.records.item.ItemDetails> aliased, Field<?>[] parameters, Condition where) {
245        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
246    }
247
248    /**
249     * Create an aliased <code>itemdetails</code> table reference
250     */
251    public ItemDetails(String alias) {
252        this(DSL.name(alias), ItemDetails);
253    }
254
255    /**
256     * Create an aliased <code>itemdetails</code> table reference
257     */
258    public ItemDetails(Name alias) {
259        this(alias, ItemDetails);
260    }
261
262    /**
263     * Create a <code>itemdetails</code> table reference
264     */
265    public ItemDetails() {
266        this(DSL.name("itemdetails"), null);
267    }
268
269    public <O extends Record> ItemDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.item.ItemDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.item.ItemDetails> parentPath) {
270        super(path, childPath, parentPath, ItemDetails);
271    }
272
273    /**
274     * A subtype implementing {@link Path} for simplified path-based joins.
275     */
276    public static class ItemDetailsPath extends ItemDetails implements Path<com.echothree.model.jooq.server.records.item.ItemDetails> {
277
278        private static final long serialVersionUID = 1L;
279        public <O extends Record> ItemDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.item.ItemDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.item.ItemDetails> parentPath) {
280            super(path, childPath, parentPath);
281        }
282        private ItemDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.item.ItemDetails> aliased) {
283            super(alias, aliased);
284        }
285
286        @Override
287        public ItemDetailsPath as(String alias) {
288            return new ItemDetailsPath(DSL.name(alias), this);
289        }
290
291        @Override
292        public ItemDetailsPath as(Name alias) {
293            return new ItemDetailsPath(alias, this);
294        }
295
296        @Override
297        public ItemDetailsPath as(Table<?> alias) {
298            return new ItemDetailsPath(alias.getQualifiedName(), this);
299        }
300    }
301
302    @Override
303    public UniqueKey<com.echothree.model.jooq.server.records.item.ItemDetails> getPrimaryKey() {
304        return KeyRegistry.ITEM_DETAILS_PK;
305    }
306
307    @Override
308    public List<UniqueKey<com.echothree.model.jooq.server.records.item.ItemDetails>> getUniqueKeys() {
309        return Arrays.asList(KeyRegistry.ITEM_DETAILS_ITEM_AND_THRU_TIME_UK, KeyRegistry.ITEM_DETAILS_THRU_TIME_AND_ITEM_NAME_UK);
310    }
311
312    @Override
313    public List<ForeignKey<com.echothree.model.jooq.server.records.item.ItemDetails, ?>> getReferences() {
314        return Arrays.asList(KeyRegistry.ITEM_DETAILS_CANCELLATION_POLICY_FK, KeyRegistry.ITEM_DETAILS_COMPANY_PARTY_FK, KeyRegistry.ITEM_DETAILS_ITEM_ACCOUNTING_CATEGORY_FK, KeyRegistry.ITEM_DETAILS_ITEM_CATEGORY_FK, KeyRegistry.ITEM_DETAILS_ITEM_DELIVERY_TYPE_FK, KeyRegistry.ITEM_DETAILS_ITEM_INVENTORY_TYPE_FK, KeyRegistry.ITEM_DETAILS_ITEM_PURCHASING_CATEGORY_FK, KeyRegistry.ITEM_DETAILS_ITEM_PRICE_TYPE_FK, KeyRegistry.ITEM_DETAILS_ITEM_FK, KeyRegistry.ITEM_DETAILS_ITEM_TYPE_FK, KeyRegistry.ITEM_DETAILS_ITEM_USE_TYPE_FK, KeyRegistry.ITEM_DETAILS_RETURN_POLICY_FK, KeyRegistry.ITEM_DETAILS_SERIAL_NUMBER_SEQUENCE_FK, KeyRegistry.ITEM_DETAILS_STYLE_PATH_FK, KeyRegistry.ITEM_DETAILS_UNIT_OF_MEASURE_KIND_FK);
315    }
316
317    private transient CancellationPoliciesPath _itmdt_cnclplcy_cancellationpolicyid_fk;
318
319    /**
320     * Get the implicit join path to the <code>cancellationpolicies</code>
321     * table.
322     */
323    public CancellationPoliciesPath itmdt_cnclplcy_cancellationpolicyid_fk() {
324        if (_itmdt_cnclplcy_cancellationpolicyid_fk == null)
325            _itmdt_cnclplcy_cancellationpolicyid_fk = new CancellationPoliciesPath(this, KeyRegistry.ITEM_DETAILS_CANCELLATION_POLICY_FK, null);
326
327        return _itmdt_cnclplcy_cancellationpolicyid_fk;
328    }
329
330    private transient PartiesPath _itmdt_companypartyid_fk;
331
332    /**
333     * Get the implicit join path to the <code>parties</code> table.
334     */
335    public PartiesPath itmdt_companypartyid_fk() {
336        if (_itmdt_companypartyid_fk == null)
337            _itmdt_companypartyid_fk = new PartiesPath(this, KeyRegistry.ITEM_DETAILS_COMPANY_PARTY_FK, null);
338
339        return _itmdt_companypartyid_fk;
340    }
341
342    private transient ItemAccountingCategoriesPath _itmdt_iactgc_itemaccountingcategoryid_fk;
343
344    /**
345     * Get the implicit join path to the <code>itemaccountingcategories</code>
346     * table.
347     */
348    public ItemAccountingCategoriesPath itmdt_iactgc_itemaccountingcategoryid_fk() {
349        if (_itmdt_iactgc_itemaccountingcategoryid_fk == null)
350            _itmdt_iactgc_itemaccountingcategoryid_fk = new ItemAccountingCategoriesPath(this, KeyRegistry.ITEM_DETAILS_ITEM_ACCOUNTING_CATEGORY_FK, null);
351
352        return _itmdt_iactgc_itemaccountingcategoryid_fk;
353    }
354
355    private transient ItemCategoriesPath _itmdt_ic_itemcategoryid_fk;
356
357    /**
358     * Get the implicit join path to the <code>itemcategories</code> table.
359     */
360    public ItemCategoriesPath itmdt_ic_itemcategoryid_fk() {
361        if (_itmdt_ic_itemcategoryid_fk == null)
362            _itmdt_ic_itemcategoryid_fk = new ItemCategoriesPath(this, KeyRegistry.ITEM_DETAILS_ITEM_CATEGORY_FK, null);
363
364        return _itmdt_ic_itemcategoryid_fk;
365    }
366
367    private transient ItemDeliveryTypesPath _itmdt_idlvrtyp_itemdeliverytypeid_fk;
368
369    /**
370     * Get the implicit join path to the <code>itemdeliverytypes</code> table.
371     */
372    public ItemDeliveryTypesPath itmdt_idlvrtyp_itemdeliverytypeid_fk() {
373        if (_itmdt_idlvrtyp_itemdeliverytypeid_fk == null)
374            _itmdt_idlvrtyp_itemdeliverytypeid_fk = new ItemDeliveryTypesPath(this, KeyRegistry.ITEM_DETAILS_ITEM_DELIVERY_TYPE_FK, null);
375
376        return _itmdt_idlvrtyp_itemdeliverytypeid_fk;
377    }
378
379    private transient ItemInventoryTypesPath _itmdt_iinvtyp_iteminventorytypeid_fk;
380
381    /**
382     * Get the implicit join path to the <code>iteminventorytypes</code> table.
383     */
384    public ItemInventoryTypesPath itmdt_iinvtyp_iteminventorytypeid_fk() {
385        if (_itmdt_iinvtyp_iteminventorytypeid_fk == null)
386            _itmdt_iinvtyp_iteminventorytypeid_fk = new ItemInventoryTypesPath(this, KeyRegistry.ITEM_DETAILS_ITEM_INVENTORY_TYPE_FK, null);
387
388        return _itmdt_iinvtyp_iteminventorytypeid_fk;
389    }
390
391    private transient ItemPurchasingCategoriesPath _itmdt_iprchc_itempurchasingcategoryid_fk;
392
393    /**
394     * Get the implicit join path to the <code>itempurchasingcategories</code>
395     * table.
396     */
397    public ItemPurchasingCategoriesPath itmdt_iprchc_itempurchasingcategoryid_fk() {
398        if (_itmdt_iprchc_itempurchasingcategoryid_fk == null)
399            _itmdt_iprchc_itempurchasingcategoryid_fk = new ItemPurchasingCategoriesPath(this, KeyRegistry.ITEM_DETAILS_ITEM_PURCHASING_CATEGORY_FK, null);
400
401        return _itmdt_iprchc_itempurchasingcategoryid_fk;
402    }
403
404    private transient ItemPriceTypesPath _itmdt_ipt_itempricetypeid_fk;
405
406    /**
407     * Get the implicit join path to the <code>itempricetypes</code> table.
408     */
409    public ItemPriceTypesPath itmdt_ipt_itempricetypeid_fk() {
410        if (_itmdt_ipt_itempricetypeid_fk == null)
411            _itmdt_ipt_itempricetypeid_fk = new ItemPriceTypesPath(this, KeyRegistry.ITEM_DETAILS_ITEM_PRICE_TYPE_FK, null);
412
413        return _itmdt_ipt_itempricetypeid_fk;
414    }
415
416    private transient ItemsPath _itmdt_itm_itemid_fk;
417
418    /**
419     * Get the implicit join path to the <code>items</code> table.
420     */
421    public ItemsPath itmdt_itm_itemid_fk() {
422        if (_itmdt_itm_itemid_fk == null)
423            _itmdt_itm_itemid_fk = new ItemsPath(this, KeyRegistry.ITEM_DETAILS_ITEM_FK, null);
424
425        return _itmdt_itm_itemid_fk;
426    }
427
428    private transient ItemTypesPath _itmdt_ityp_itemtypeid_fk;
429
430    /**
431     * Get the implicit join path to the <code>itemtypes</code> table.
432     */
433    public ItemTypesPath itmdt_ityp_itemtypeid_fk() {
434        if (_itmdt_ityp_itemtypeid_fk == null)
435            _itmdt_ityp_itemtypeid_fk = new ItemTypesPath(this, KeyRegistry.ITEM_DETAILS_ITEM_TYPE_FK, null);
436
437        return _itmdt_ityp_itemtypeid_fk;
438    }
439
440    private transient ItemUseTypesPath _itmdt_iutyp_itemusetypeid_fk;
441
442    /**
443     * Get the implicit join path to the <code>itemusetypes</code> table.
444     */
445    public ItemUseTypesPath itmdt_iutyp_itemusetypeid_fk() {
446        if (_itmdt_iutyp_itemusetypeid_fk == null)
447            _itmdt_iutyp_itemusetypeid_fk = new ItemUseTypesPath(this, KeyRegistry.ITEM_DETAILS_ITEM_USE_TYPE_FK, null);
448
449        return _itmdt_iutyp_itemusetypeid_fk;
450    }
451
452    private transient ReturnPoliciesPath _itmdt_rtnplcy_returnpolicyid_fk;
453
454    /**
455     * Get the implicit join path to the <code>returnpolicies</code> table.
456     */
457    public ReturnPoliciesPath itmdt_rtnplcy_returnpolicyid_fk() {
458        if (_itmdt_rtnplcy_returnpolicyid_fk == null)
459            _itmdt_rtnplcy_returnpolicyid_fk = new ReturnPoliciesPath(this, KeyRegistry.ITEM_DETAILS_RETURN_POLICY_FK, null);
460
461        return _itmdt_rtnplcy_returnpolicyid_fk;
462    }
463
464    private transient SequencesPath _itmdt_serialnumbersequenceid_fk;
465
466    /**
467     * Get the implicit join path to the <code>sequences</code> table.
468     */
469    public SequencesPath itmdt_serialnumbersequenceid_fk() {
470        if (_itmdt_serialnumbersequenceid_fk == null)
471            _itmdt_serialnumbersequenceid_fk = new SequencesPath(this, KeyRegistry.ITEM_DETAILS_SERIAL_NUMBER_SEQUENCE_FK, null);
472
473        return _itmdt_serialnumbersequenceid_fk;
474    }
475
476    private transient StylePathsPath _itmdt_stylpth_stylepathid_fk;
477
478    /**
479     * Get the implicit join path to the <code>stylepaths</code> table.
480     */
481    public StylePathsPath itmdt_stylpth_stylepathid_fk() {
482        if (_itmdt_stylpth_stylepathid_fk == null)
483            _itmdt_stylpth_stylepathid_fk = new StylePathsPath(this, KeyRegistry.ITEM_DETAILS_STYLE_PATH_FK, null);
484
485        return _itmdt_stylpth_stylepathid_fk;
486    }
487
488    private transient UnitOfMeasureKindsPath _itmdt_uomk_unitofmeasurekindid_fk;
489
490    /**
491     * Get the implicit join path to the <code>unitofmeasurekinds</code> table.
492     */
493    public UnitOfMeasureKindsPath itmdt_uomk_unitofmeasurekindid_fk() {
494        if (_itmdt_uomk_unitofmeasurekindid_fk == null)
495            _itmdt_uomk_unitofmeasurekindid_fk = new UnitOfMeasureKindsPath(this, KeyRegistry.ITEM_DETAILS_UNIT_OF_MEASURE_KIND_FK, null);
496
497        return _itmdt_uomk_unitofmeasurekindid_fk;
498    }
499
500    @Override
501    public ItemDetails as(String alias) {
502        return new ItemDetails(DSL.name(alias), this);
503    }
504
505    @Override
506    public ItemDetails as(Name alias) {
507        return new ItemDetails(alias, this);
508    }
509
510    @Override
511    public ItemDetails as(Table<?> alias) {
512        return new ItemDetails(alias.getQualifiedName(), this);
513    }
514
515    /**
516     * Rename this table
517     */
518    @Override
519    public ItemDetails rename(String name) {
520        return new ItemDetails(DSL.name(name), null);
521    }
522
523    /**
524     * Rename this table
525     */
526    @Override
527    public ItemDetails rename(Name name) {
528        return new ItemDetails(name, null);
529    }
530
531    /**
532     * Rename this table
533     */
534    @Override
535    public ItemDetails rename(Table<?> name) {
536        return new ItemDetails(name.getQualifiedName(), null);
537    }
538
539    /**
540     * Create an inline derived table from this table
541     */
542    @Override
543    public ItemDetails where(Condition condition) {
544        return new ItemDetails(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
545    }
546
547    /**
548     * Create an inline derived table from this table
549     */
550    @Override
551    public ItemDetails where(Collection<? extends Condition> conditions) {
552        return where(DSL.and(conditions));
553    }
554
555    /**
556     * Create an inline derived table from this table
557     */
558    @Override
559    public ItemDetails where(Condition... conditions) {
560        return where(DSL.and(conditions));
561    }
562
563    /**
564     * Create an inline derived table from this table
565     */
566    @Override
567    public ItemDetails where(Field<Boolean> condition) {
568        return where(DSL.condition(condition));
569    }
570
571    /**
572     * Create an inline derived table from this table
573     */
574    @Override
575    @PlainSQL
576    public ItemDetails where(SQL condition) {
577        return where(DSL.condition(condition));
578    }
579
580    /**
581     * Create an inline derived table from this table
582     */
583    @Override
584    @PlainSQL
585    public ItemDetails where(@Stringly.SQL String condition) {
586        return where(DSL.condition(condition));
587    }
588
589    /**
590     * Create an inline derived table from this table
591     */
592    @Override
593    @PlainSQL
594    public ItemDetails where(@Stringly.SQL String condition, Object... binds) {
595        return where(DSL.condition(condition, binds));
596    }
597
598    /**
599     * Create an inline derived table from this table
600     */
601    @Override
602    @PlainSQL
603    public ItemDetails where(@Stringly.SQL String condition, QueryPart... parts) {
604        return where(DSL.condition(condition, parts));
605    }
606
607    /**
608     * Create an inline derived table from this table
609     */
610    @Override
611    public ItemDetails whereExists(TableLike<?> select) {
612        return where(DSL.exists(select));
613    }
614
615    /**
616     * Create an inline derived table from this table
617     */
618    @Override
619    public ItemDetails whereNotExists(TableLike<?> select) {
620        return where(DSL.notExists(select));
621    }
622}