001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.item;
005
006
007import com.echothree.model.data.geo.common.pk.GeoCodePK;
008import com.echothree.model.data.item.common.pk.HarmonizedTariffScheduleCodePK;
009import com.echothree.model.data.item.common.pk.HarmonizedTariffScheduleCodeUseTypePK;
010import com.echothree.model.data.item.common.pk.ItemHarmonizedTariffScheduleCodeDetailPK;
011import com.echothree.model.data.item.common.pk.ItemHarmonizedTariffScheduleCodePK;
012import com.echothree.model.data.item.common.pk.ItemPK;
013import com.echothree.model.jooq.server.KeyRegistry;
014import com.echothree.model.jooq.server.tables.geo.GeoCodes.GeoCodesPath;
015import com.echothree.model.jooq.server.tables.item.HarmonizedTariffScheduleCodeUseTypes.HarmonizedTariffScheduleCodeUseTypesPath;
016import com.echothree.model.jooq.server.tables.item.HarmonizedTariffScheduleCodes.HarmonizedTariffScheduleCodesPath;
017import com.echothree.model.jooq.server.tables.item.ItemHarmonizedTariffScheduleCodes.ItemHarmonizedTariffScheduleCodesPath;
018import com.echothree.model.jooq.server.tables.item.Items.ItemsPath;
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 ItemHarmonizedTariffScheduleCodeDetails extends TableImpl<com.echothree.model.jooq.server.records.item.ItemHarmonizedTariffScheduleCodeDetails> {
052
053    private static final long serialVersionUID = 1L;
054
055    /**
056     * The reference instance of
057     * <code>itemharmonizedtariffschedulecodedetails</code>
058     */
059    public static final ItemHarmonizedTariffScheduleCodeDetails ItemHarmonizedTariffScheduleCodeDetails = new ItemHarmonizedTariffScheduleCodeDetails();
060
061    /**
062     * The class holding records for this type
063     */
064    @Override
065    public Class<com.echothree.model.jooq.server.records.item.ItemHarmonizedTariffScheduleCodeDetails> getRecordType() {
066        return com.echothree.model.jooq.server.records.item.ItemHarmonizedTariffScheduleCodeDetails.class;
067    }
068
069    /**
070     * The column
071     * <code>itemharmonizedtariffschedulecodedetails.itmhztscdt_itemharmonizedtariffschedulecodedetailid</code>.
072     */
073    public final TableField<com.echothree.model.jooq.server.records.item.ItemHarmonizedTariffScheduleCodeDetails, ItemHarmonizedTariffScheduleCodeDetailPK> ITEM_HARMONIZED_TARIFF_SCHEDULE_CODE_DETAIL = createField(DSL.name("itmhztscdt_itemharmonizedtariffschedulecodedetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ItemHarmonizedTariffScheduleCodeDetailPK.class, id -> new com.echothree.model.data.item.common.pk.ItemHarmonizedTariffScheduleCodeDetailPK(id), primaryKey -> primaryKey.getEntityId()));
074
075    /**
076     * The column
077     * <code>itemharmonizedtariffschedulecodedetails.itmhztscdt_itmhztsc_itemharmonizedtariffschedulecodeid</code>.
078     */
079    public final TableField<com.echothree.model.jooq.server.records.item.ItemHarmonizedTariffScheduleCodeDetails, ItemHarmonizedTariffScheduleCodePK> ITEM_HARMONIZED_TARIFF_SCHEDULE_CODE = createField(DSL.name("itmhztscdt_itmhztsc_itemharmonizedtariffschedulecodeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ItemHarmonizedTariffScheduleCodePK.class, id -> new com.echothree.model.data.item.common.pk.ItemHarmonizedTariffScheduleCodePK(id), primaryKey -> primaryKey.getEntityId()));
080
081    /**
082     * The column
083     * <code>itemharmonizedtariffschedulecodedetails.itmhztscdt_itm_itemid</code>.
084     */
085    public final TableField<com.echothree.model.jooq.server.records.item.ItemHarmonizedTariffScheduleCodeDetails, ItemPK> ITEM = createField(DSL.name("itmhztscdt_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()));
086
087    /**
088     * The column
089     * <code>itemharmonizedtariffschedulecodedetails.itmhztscdt_countrygeocodeid</code>.
090     */
091    public final TableField<com.echothree.model.jooq.server.records.item.ItemHarmonizedTariffScheduleCodeDetails, GeoCodePK> COUNTRY_GEO_CODE = createField(DSL.name("itmhztscdt_countrygeocodeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, GeoCodePK.class, id -> new com.echothree.model.data.geo.common.pk.GeoCodePK(id), primaryKey -> primaryKey.getEntityId()));
092
093    /**
094     * The column
095     * <code>itemharmonizedtariffschedulecodedetails.itmhztscdt_hztscutyp_harmonizedtariffschedulecodeusetypeid</code>.
096     */
097    public final TableField<com.echothree.model.jooq.server.records.item.ItemHarmonizedTariffScheduleCodeDetails, HarmonizedTariffScheduleCodeUseTypePK> HARMONIZED_TARIFF_SCHEDULE_CODE_USE_TYPE = createField(DSL.name("itmhztscdt_hztscutyp_harmonizedtariffschedulecodeusetypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, HarmonizedTariffScheduleCodeUseTypePK.class, id -> new com.echothree.model.data.item.common.pk.HarmonizedTariffScheduleCodeUseTypePK(id), primaryKey -> primaryKey.getEntityId()));
098
099    /**
100     * The column
101     * <code>itemharmonizedtariffschedulecodedetails.itmhztscdt_hztsc_harmonizedtariffschedulecodeid</code>.
102     */
103    public final TableField<com.echothree.model.jooq.server.records.item.ItemHarmonizedTariffScheduleCodeDetails, HarmonizedTariffScheduleCodePK> HARMONIZED_TARIFF_SCHEDULE_CODE = createField(DSL.name("itmhztscdt_hztsc_harmonizedtariffschedulecodeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, HarmonizedTariffScheduleCodePK.class, id -> new com.echothree.model.data.item.common.pk.HarmonizedTariffScheduleCodePK(id), primaryKey -> primaryKey.getEntityId()));
104
105    /**
106     * The column
107     * <code>itemharmonizedtariffschedulecodedetails.itmhztscdt_fromtime</code>.
108     */
109    public final TableField<com.echothree.model.jooq.server.records.item.ItemHarmonizedTariffScheduleCodeDetails, Long> FROM_TIME = createField(DSL.name("itmhztscdt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
110
111    /**
112     * The column
113     * <code>itemharmonizedtariffschedulecodedetails.itmhztscdt_thrutime</code>.
114     */
115    public final TableField<com.echothree.model.jooq.server.records.item.ItemHarmonizedTariffScheduleCodeDetails, Long> THRU_TIME = createField(DSL.name("itmhztscdt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
116
117    private ItemHarmonizedTariffScheduleCodeDetails(Name alias, Table<com.echothree.model.jooq.server.records.item.ItemHarmonizedTariffScheduleCodeDetails> aliased) {
118        this(alias, aliased, (Field<?>[]) null, null);
119    }
120
121    private ItemHarmonizedTariffScheduleCodeDetails(Name alias, Table<com.echothree.model.jooq.server.records.item.ItemHarmonizedTariffScheduleCodeDetails> aliased, Field<?>[] parameters, Condition where) {
122        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
123    }
124
125    /**
126     * Create an aliased <code>itemharmonizedtariffschedulecodedetails</code>
127     * table reference
128     */
129    public ItemHarmonizedTariffScheduleCodeDetails(String alias) {
130        this(DSL.name(alias), ItemHarmonizedTariffScheduleCodeDetails);
131    }
132
133    /**
134     * Create an aliased <code>itemharmonizedtariffschedulecodedetails</code>
135     * table reference
136     */
137    public ItemHarmonizedTariffScheduleCodeDetails(Name alias) {
138        this(alias, ItemHarmonizedTariffScheduleCodeDetails);
139    }
140
141    /**
142     * Create a <code>itemharmonizedtariffschedulecodedetails</code> table
143     * reference
144     */
145    public ItemHarmonizedTariffScheduleCodeDetails() {
146        this(DSL.name("itemharmonizedtariffschedulecodedetails"), null);
147    }
148
149    public <O extends Record> ItemHarmonizedTariffScheduleCodeDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.item.ItemHarmonizedTariffScheduleCodeDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.item.ItemHarmonizedTariffScheduleCodeDetails> parentPath) {
150        super(path, childPath, parentPath, ItemHarmonizedTariffScheduleCodeDetails);
151    }
152
153    /**
154     * A subtype implementing {@link Path} for simplified path-based joins.
155     */
156    public static class ItemHarmonizedTariffScheduleCodeDetailsPath extends ItemHarmonizedTariffScheduleCodeDetails implements Path<com.echothree.model.jooq.server.records.item.ItemHarmonizedTariffScheduleCodeDetails> {
157
158        private static final long serialVersionUID = 1L;
159        public <O extends Record> ItemHarmonizedTariffScheduleCodeDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.item.ItemHarmonizedTariffScheduleCodeDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.item.ItemHarmonizedTariffScheduleCodeDetails> parentPath) {
160            super(path, childPath, parentPath);
161        }
162        private ItemHarmonizedTariffScheduleCodeDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.item.ItemHarmonizedTariffScheduleCodeDetails> aliased) {
163            super(alias, aliased);
164        }
165
166        @Override
167        public ItemHarmonizedTariffScheduleCodeDetailsPath as(String alias) {
168            return new ItemHarmonizedTariffScheduleCodeDetailsPath(DSL.name(alias), this);
169        }
170
171        @Override
172        public ItemHarmonizedTariffScheduleCodeDetailsPath as(Name alias) {
173            return new ItemHarmonizedTariffScheduleCodeDetailsPath(alias, this);
174        }
175
176        @Override
177        public ItemHarmonizedTariffScheduleCodeDetailsPath as(Table<?> alias) {
178            return new ItemHarmonizedTariffScheduleCodeDetailsPath(alias.getQualifiedName(), this);
179        }
180    }
181
182    @Override
183    public UniqueKey<com.echothree.model.jooq.server.records.item.ItemHarmonizedTariffScheduleCodeDetails> getPrimaryKey() {
184        return KeyRegistry.ITEM_HARMONIZED_TARIFF_SCHEDULE_CODE_DETAILS_PK;
185    }
186
187    @Override
188    public List<UniqueKey<com.echothree.model.jooq.server.records.item.ItemHarmonizedTariffScheduleCodeDetails>> getUniqueKeys() {
189        return Arrays.asList(KeyRegistry.ITEM_HARMONIZED_TARIFF_SCHEDULE_CODE_DETAILS_ITEM_HARMONIZED_TARIFF_SCHEDULE_CODE_AND_THRU_TIME_UK, KeyRegistry.ITEM_HARMONIZED_TARIFF_SCHEDULE_CODE_DETAILS_ITEM_AND_COUNTRY_GEO_CODE_AND_HARMONIZED_TARIFF_SCHEDULE_CODE_USE_TYPE_AND_THRU_TIME_UK);
190    }
191
192    @Override
193    public List<ForeignKey<com.echothree.model.jooq.server.records.item.ItemHarmonizedTariffScheduleCodeDetails, ?>> getReferences() {
194        return Arrays.asList(KeyRegistry.ITEM_HARMONIZED_TARIFF_SCHEDULE_CODE_DETAILS_COUNTRY_GEO_CODE_FK, KeyRegistry.ITEM_HARMONIZED_TARIFF_SCHEDULE_CODE_DETAILS_HARMONIZED_TARIFF_SCHEDULE_CODE_FK, KeyRegistry.ITEM_HARMONIZED_TARIFF_SCHEDULE_CODE_DETAILS_HARMONIZED_TARIFF_SCHEDULE_CODE_USE_TYPE_FK, KeyRegistry.ITEM_HARMONIZED_TARIFF_SCHEDULE_CODE_DETAILS_ITEM_FK, KeyRegistry.ITEM_HARMONIZED_TARIFF_SCHEDULE_CODE_DETAILS_ITEM_HARMONIZED_TARIFF_SCHEDULE_CODE_FK);
195    }
196
197    private transient GeoCodesPath _itmhztscdt_countrygeocodeid_fk;
198
199    /**
200     * Get the implicit join path to the <code>geocodes</code> table.
201     */
202    public GeoCodesPath itmhztscdt_countrygeocodeid_fk() {
203        if (_itmhztscdt_countrygeocodeid_fk == null)
204            _itmhztscdt_countrygeocodeid_fk = new GeoCodesPath(this, KeyRegistry.ITEM_HARMONIZED_TARIFF_SCHEDULE_CODE_DETAILS_COUNTRY_GEO_CODE_FK, null);
205
206        return _itmhztscdt_countrygeocodeid_fk;
207    }
208
209    private transient HarmonizedTariffScheduleCodesPath _itmhztscdt_hztsc_harmonizedtariffschedulecodeid_fk;
210
211    /**
212     * Get the implicit join path to the
213     * <code>harmonizedtariffschedulecodes</code> table.
214     */
215    public HarmonizedTariffScheduleCodesPath itmhztscdt_hztsc_harmonizedtariffschedulecodeid_fk() {
216        if (_itmhztscdt_hztsc_harmonizedtariffschedulecodeid_fk == null)
217            _itmhztscdt_hztsc_harmonizedtariffschedulecodeid_fk = new HarmonizedTariffScheduleCodesPath(this, KeyRegistry.ITEM_HARMONIZED_TARIFF_SCHEDULE_CODE_DETAILS_HARMONIZED_TARIFF_SCHEDULE_CODE_FK, null);
218
219        return _itmhztscdt_hztsc_harmonizedtariffschedulecodeid_fk;
220    }
221
222    private transient HarmonizedTariffScheduleCodeUseTypesPath _itmhztscdt_hztscutyp_harmonizedtariffschedulecodeusetypeid_fk;
223
224    /**
225     * Get the implicit join path to the
226     * <code>harmonizedtariffschedulecodeusetypes</code> table.
227     */
228    public HarmonizedTariffScheduleCodeUseTypesPath itmhztscdt_hztscutyp_harmonizedtariffschedulecodeusetypeid_fk() {
229        if (_itmhztscdt_hztscutyp_harmonizedtariffschedulecodeusetypeid_fk == null)
230            _itmhztscdt_hztscutyp_harmonizedtariffschedulecodeusetypeid_fk = new HarmonizedTariffScheduleCodeUseTypesPath(this, KeyRegistry.ITEM_HARMONIZED_TARIFF_SCHEDULE_CODE_DETAILS_HARMONIZED_TARIFF_SCHEDULE_CODE_USE_TYPE_FK, null);
231
232        return _itmhztscdt_hztscutyp_harmonizedtariffschedulecodeusetypeid_fk;
233    }
234
235    private transient ItemsPath _itmhztscdt_itm_itemid_fk;
236
237    /**
238     * Get the implicit join path to the <code>items</code> table.
239     */
240    public ItemsPath itmhztscdt_itm_itemid_fk() {
241        if (_itmhztscdt_itm_itemid_fk == null)
242            _itmhztscdt_itm_itemid_fk = new ItemsPath(this, KeyRegistry.ITEM_HARMONIZED_TARIFF_SCHEDULE_CODE_DETAILS_ITEM_FK, null);
243
244        return _itmhztscdt_itm_itemid_fk;
245    }
246
247    private transient ItemHarmonizedTariffScheduleCodesPath _itmhztscdt_itmhztsc_itemharmonizedtariffschedulecodeid_fk;
248
249    /**
250     * Get the implicit join path to the
251     * <code>itemharmonizedtariffschedulecodes</code> table.
252     */
253    public ItemHarmonizedTariffScheduleCodesPath itmhztscdt_itmhztsc_itemharmonizedtariffschedulecodeid_fk() {
254        if (_itmhztscdt_itmhztsc_itemharmonizedtariffschedulecodeid_fk == null)
255            _itmhztscdt_itmhztsc_itemharmonizedtariffschedulecodeid_fk = new ItemHarmonizedTariffScheduleCodesPath(this, KeyRegistry.ITEM_HARMONIZED_TARIFF_SCHEDULE_CODE_DETAILS_ITEM_HARMONIZED_TARIFF_SCHEDULE_CODE_FK, null);
256
257        return _itmhztscdt_itmhztsc_itemharmonizedtariffschedulecodeid_fk;
258    }
259
260    @Override
261    public ItemHarmonizedTariffScheduleCodeDetails as(String alias) {
262        return new ItemHarmonizedTariffScheduleCodeDetails(DSL.name(alias), this);
263    }
264
265    @Override
266    public ItemHarmonizedTariffScheduleCodeDetails as(Name alias) {
267        return new ItemHarmonizedTariffScheduleCodeDetails(alias, this);
268    }
269
270    @Override
271    public ItemHarmonizedTariffScheduleCodeDetails as(Table<?> alias) {
272        return new ItemHarmonizedTariffScheduleCodeDetails(alias.getQualifiedName(), this);
273    }
274
275    /**
276     * Rename this table
277     */
278    @Override
279    public ItemHarmonizedTariffScheduleCodeDetails rename(String name) {
280        return new ItemHarmonizedTariffScheduleCodeDetails(DSL.name(name), null);
281    }
282
283    /**
284     * Rename this table
285     */
286    @Override
287    public ItemHarmonizedTariffScheduleCodeDetails rename(Name name) {
288        return new ItemHarmonizedTariffScheduleCodeDetails(name, null);
289    }
290
291    /**
292     * Rename this table
293     */
294    @Override
295    public ItemHarmonizedTariffScheduleCodeDetails rename(Table<?> name) {
296        return new ItemHarmonizedTariffScheduleCodeDetails(name.getQualifiedName(), null);
297    }
298
299    /**
300     * Create an inline derived table from this table
301     */
302    @Override
303    public ItemHarmonizedTariffScheduleCodeDetails where(Condition condition) {
304        return new ItemHarmonizedTariffScheduleCodeDetails(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
305    }
306
307    /**
308     * Create an inline derived table from this table
309     */
310    @Override
311    public ItemHarmonizedTariffScheduleCodeDetails where(Collection<? extends Condition> conditions) {
312        return where(DSL.and(conditions));
313    }
314
315    /**
316     * Create an inline derived table from this table
317     */
318    @Override
319    public ItemHarmonizedTariffScheduleCodeDetails where(Condition... conditions) {
320        return where(DSL.and(conditions));
321    }
322
323    /**
324     * Create an inline derived table from this table
325     */
326    @Override
327    public ItemHarmonizedTariffScheduleCodeDetails where(Field<Boolean> condition) {
328        return where(DSL.condition(condition));
329    }
330
331    /**
332     * Create an inline derived table from this table
333     */
334    @Override
335    @PlainSQL
336    public ItemHarmonizedTariffScheduleCodeDetails where(SQL 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 ItemHarmonizedTariffScheduleCodeDetails where(@Stringly.SQL String 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 ItemHarmonizedTariffScheduleCodeDetails where(@Stringly.SQL String condition, Object... binds) {
355        return where(DSL.condition(condition, binds));
356    }
357
358    /**
359     * Create an inline derived table from this table
360     */
361    @Override
362    @PlainSQL
363    public ItemHarmonizedTariffScheduleCodeDetails where(@Stringly.SQL String condition, QueryPart... parts) {
364        return where(DSL.condition(condition, parts));
365    }
366
367    /**
368     * Create an inline derived table from this table
369     */
370    @Override
371    public ItemHarmonizedTariffScheduleCodeDetails whereExists(TableLike<?> select) {
372        return where(DSL.exists(select));
373    }
374
375    /**
376     * Create an inline derived table from this table
377     */
378    @Override
379    public ItemHarmonizedTariffScheduleCodeDetails whereNotExists(TableLike<?> select) {
380        return where(DSL.notExists(select));
381    }
382}