001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.tax;
005
006
007import com.echothree.model.data.geo.common.pk.GeoCodePK;
008import com.echothree.model.data.item.common.pk.ItemPK;
009import com.echothree.model.data.tax.common.pk.ItemTaxClassificationDetailPK;
010import com.echothree.model.data.tax.common.pk.ItemTaxClassificationPK;
011import com.echothree.model.data.tax.common.pk.TaxClassificationPK;
012import com.echothree.model.jooq.server.KeyRegistry;
013import com.echothree.model.jooq.server.tables.geo.GeoCodes.GeoCodesPath;
014import com.echothree.model.jooq.server.tables.item.Items.ItemsPath;
015import com.echothree.model.jooq.server.tables.tax.ItemTaxClassifications.ItemTaxClassificationsPath;
016import com.echothree.model.jooq.server.tables.tax.TaxClassifications.TaxClassificationsPath;
017
018import java.util.Arrays;
019import java.util.Collection;
020import java.util.List;
021
022import org.jooq.Condition;
023import org.jooq.Converter;
024import org.jooq.Field;
025import org.jooq.ForeignKey;
026import org.jooq.InverseForeignKey;
027import org.jooq.Name;
028import org.jooq.Path;
029import org.jooq.PlainSQL;
030import org.jooq.QueryPart;
031import org.jooq.Record;
032import org.jooq.SQL;
033import org.jooq.Stringly;
034import org.jooq.Table;
035import org.jooq.TableField;
036import org.jooq.TableLike;
037import org.jooq.TableOptions;
038import org.jooq.UniqueKey;
039import org.jooq.impl.DSL;
040import org.jooq.impl.Internal;
041import org.jooq.impl.SQLDataType;
042import org.jooq.impl.TableImpl;
043
044
045/**
046 * This class is generated by jOOQ.
047 */
048@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
049public class ItemTaxClassificationDetails extends TableImpl<com.echothree.model.jooq.server.records.tax.ItemTaxClassificationDetails> {
050
051    private static final long serialVersionUID = 1L;
052
053    /**
054     * The reference instance of <code>itemtaxclassificationdetails</code>
055     */
056    public static final ItemTaxClassificationDetails ItemTaxClassificationDetails = new ItemTaxClassificationDetails();
057
058    /**
059     * The class holding records for this type
060     */
061    @Override
062    public Class<com.echothree.model.jooq.server.records.tax.ItemTaxClassificationDetails> getRecordType() {
063        return com.echothree.model.jooq.server.records.tax.ItemTaxClassificationDetails.class;
064    }
065
066    /**
067     * The column
068     * <code>itemtaxclassificationdetails.itmtxclsfndt_itemtaxclassificationdetailid</code>.
069     */
070    public final TableField<com.echothree.model.jooq.server.records.tax.ItemTaxClassificationDetails, ItemTaxClassificationDetailPK> ITEM_TAX_CLASSIFICATION_DETAIL = createField(DSL.name("itmtxclsfndt_itemtaxclassificationdetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ItemTaxClassificationDetailPK.class, id -> new com.echothree.model.data.tax.common.pk.ItemTaxClassificationDetailPK(id), primaryKey -> primaryKey.getEntityId()));
071
072    /**
073     * The column
074     * <code>itemtaxclassificationdetails.itmtxclsfndt_itmtxclsfn_itemtaxclassificationid</code>.
075     */
076    public final TableField<com.echothree.model.jooq.server.records.tax.ItemTaxClassificationDetails, ItemTaxClassificationPK> ITEM_TAX_CLASSIFICATION = createField(DSL.name("itmtxclsfndt_itmtxclsfn_itemtaxclassificationid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ItemTaxClassificationPK.class, id -> new com.echothree.model.data.tax.common.pk.ItemTaxClassificationPK(id), primaryKey -> primaryKey.getEntityId()));
077
078    /**
079     * The column
080     * <code>itemtaxclassificationdetails.itmtxclsfndt_itm_itemid</code>.
081     */
082    public final TableField<com.echothree.model.jooq.server.records.tax.ItemTaxClassificationDetails, ItemPK> ITEM = createField(DSL.name("itmtxclsfndt_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()));
083
084    /**
085     * The column
086     * <code>itemtaxclassificationdetails.itmtxclsfndt_countrygeocodeid</code>.
087     */
088    public final TableField<com.echothree.model.jooq.server.records.tax.ItemTaxClassificationDetails, GeoCodePK> COUNTRY_GEO_CODE = createField(DSL.name("itmtxclsfndt_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()));
089
090    /**
091     * The column
092     * <code>itemtaxclassificationdetails.itmtxclsfndt_txclsfn_taxclassificationid</code>.
093     */
094    public final TableField<com.echothree.model.jooq.server.records.tax.ItemTaxClassificationDetails, TaxClassificationPK> TAX_CLASSIFICATION = createField(DSL.name("itmtxclsfndt_txclsfn_taxclassificationid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, TaxClassificationPK.class, id -> new com.echothree.model.data.tax.common.pk.TaxClassificationPK(id), primaryKey -> primaryKey.getEntityId()));
095
096    /**
097     * The column
098     * <code>itemtaxclassificationdetails.itmtxclsfndt_fromtime</code>.
099     */
100    public final TableField<com.echothree.model.jooq.server.records.tax.ItemTaxClassificationDetails, Long> FROM_TIME = createField(DSL.name("itmtxclsfndt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
101
102    /**
103     * The column
104     * <code>itemtaxclassificationdetails.itmtxclsfndt_thrutime</code>.
105     */
106    public final TableField<com.echothree.model.jooq.server.records.tax.ItemTaxClassificationDetails, Long> THRU_TIME = createField(DSL.name("itmtxclsfndt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
107
108    private ItemTaxClassificationDetails(Name alias, Table<com.echothree.model.jooq.server.records.tax.ItemTaxClassificationDetails> aliased) {
109        this(alias, aliased, (Field<?>[]) null, null);
110    }
111
112    private ItemTaxClassificationDetails(Name alias, Table<com.echothree.model.jooq.server.records.tax.ItemTaxClassificationDetails> aliased, Field<?>[] parameters, Condition where) {
113        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
114    }
115
116    /**
117     * Create an aliased <code>itemtaxclassificationdetails</code> table
118     * reference
119     */
120    public ItemTaxClassificationDetails(String alias) {
121        this(DSL.name(alias), ItemTaxClassificationDetails);
122    }
123
124    /**
125     * Create an aliased <code>itemtaxclassificationdetails</code> table
126     * reference
127     */
128    public ItemTaxClassificationDetails(Name alias) {
129        this(alias, ItemTaxClassificationDetails);
130    }
131
132    /**
133     * Create a <code>itemtaxclassificationdetails</code> table reference
134     */
135    public ItemTaxClassificationDetails() {
136        this(DSL.name("itemtaxclassificationdetails"), null);
137    }
138
139    public <O extends Record> ItemTaxClassificationDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.tax.ItemTaxClassificationDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.tax.ItemTaxClassificationDetails> parentPath) {
140        super(path, childPath, parentPath, ItemTaxClassificationDetails);
141    }
142
143    /**
144     * A subtype implementing {@link Path} for simplified path-based joins.
145     */
146    public static class ItemTaxClassificationDetailsPath extends ItemTaxClassificationDetails implements Path<com.echothree.model.jooq.server.records.tax.ItemTaxClassificationDetails> {
147
148        private static final long serialVersionUID = 1L;
149        public <O extends Record> ItemTaxClassificationDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.tax.ItemTaxClassificationDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.tax.ItemTaxClassificationDetails> parentPath) {
150            super(path, childPath, parentPath);
151        }
152        private ItemTaxClassificationDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.tax.ItemTaxClassificationDetails> aliased) {
153            super(alias, aliased);
154        }
155
156        @Override
157        public ItemTaxClassificationDetailsPath as(String alias) {
158            return new ItemTaxClassificationDetailsPath(DSL.name(alias), this);
159        }
160
161        @Override
162        public ItemTaxClassificationDetailsPath as(Name alias) {
163            return new ItemTaxClassificationDetailsPath(alias, this);
164        }
165
166        @Override
167        public ItemTaxClassificationDetailsPath as(Table<?> alias) {
168            return new ItemTaxClassificationDetailsPath(alias.getQualifiedName(), this);
169        }
170    }
171
172    @Override
173    public UniqueKey<com.echothree.model.jooq.server.records.tax.ItemTaxClassificationDetails> getPrimaryKey() {
174        return KeyRegistry.ITEM_TAX_CLASSIFICATION_DETAILS_PK;
175    }
176
177    @Override
178    public List<UniqueKey<com.echothree.model.jooq.server.records.tax.ItemTaxClassificationDetails>> getUniqueKeys() {
179        return Arrays.asList(KeyRegistry.ITEM_TAX_CLASSIFICATION_DETAILS_ITEM_TAX_CLASSIFICATION_AND_THRU_TIME_UK, KeyRegistry.ITEM_TAX_CLASSIFICATION_DETAILS_ITEM_AND_COUNTRY_GEO_CODE_AND_THRU_TIME_UK);
180    }
181
182    @Override
183    public List<ForeignKey<com.echothree.model.jooq.server.records.tax.ItemTaxClassificationDetails, ?>> getReferences() {
184        return Arrays.asList(KeyRegistry.ITEM_TAX_CLASSIFICATION_DETAILS_COUNTRY_GEO_CODE_FK, KeyRegistry.ITEM_TAX_CLASSIFICATION_DETAILS_ITEM_FK, KeyRegistry.ITEM_TAX_CLASSIFICATION_DETAILS_ITEM_TAX_CLASSIFICATION_FK, KeyRegistry.ITEM_TAX_CLASSIFICATION_DETAILS_TAX_CLASSIFICATION_FK);
185    }
186
187    private transient GeoCodesPath _itmtxclsfndt_countrygeocodeid_fk;
188
189    /**
190     * Get the implicit join path to the <code>geocodes</code> table.
191     */
192    public GeoCodesPath itmtxclsfndt_countrygeocodeid_fk() {
193        if (_itmtxclsfndt_countrygeocodeid_fk == null)
194            _itmtxclsfndt_countrygeocodeid_fk = new GeoCodesPath(this, KeyRegistry.ITEM_TAX_CLASSIFICATION_DETAILS_COUNTRY_GEO_CODE_FK, null);
195
196        return _itmtxclsfndt_countrygeocodeid_fk;
197    }
198
199    private transient ItemsPath _itmtxclsfndt_itm_itemid_fk;
200
201    /**
202     * Get the implicit join path to the <code>items</code> table.
203     */
204    public ItemsPath itmtxclsfndt_itm_itemid_fk() {
205        if (_itmtxclsfndt_itm_itemid_fk == null)
206            _itmtxclsfndt_itm_itemid_fk = new ItemsPath(this, KeyRegistry.ITEM_TAX_CLASSIFICATION_DETAILS_ITEM_FK, null);
207
208        return _itmtxclsfndt_itm_itemid_fk;
209    }
210
211    private transient ItemTaxClassificationsPath _itmtxclsfndt_itmtxclsfn_itemtaxclassificationid_fk;
212
213    /**
214     * Get the implicit join path to the <code>itemtaxclassifications</code>
215     * table.
216     */
217    public ItemTaxClassificationsPath itmtxclsfndt_itmtxclsfn_itemtaxclassificationid_fk() {
218        if (_itmtxclsfndt_itmtxclsfn_itemtaxclassificationid_fk == null)
219            _itmtxclsfndt_itmtxclsfn_itemtaxclassificationid_fk = new ItemTaxClassificationsPath(this, KeyRegistry.ITEM_TAX_CLASSIFICATION_DETAILS_ITEM_TAX_CLASSIFICATION_FK, null);
220
221        return _itmtxclsfndt_itmtxclsfn_itemtaxclassificationid_fk;
222    }
223
224    private transient TaxClassificationsPath _itmtxclsfndt_txclsfn_taxclassificationid_fk;
225
226    /**
227     * Get the implicit join path to the <code>taxclassifications</code> table.
228     */
229    public TaxClassificationsPath itmtxclsfndt_txclsfn_taxclassificationid_fk() {
230        if (_itmtxclsfndt_txclsfn_taxclassificationid_fk == null)
231            _itmtxclsfndt_txclsfn_taxclassificationid_fk = new TaxClassificationsPath(this, KeyRegistry.ITEM_TAX_CLASSIFICATION_DETAILS_TAX_CLASSIFICATION_FK, null);
232
233        return _itmtxclsfndt_txclsfn_taxclassificationid_fk;
234    }
235
236    @Override
237    public ItemTaxClassificationDetails as(String alias) {
238        return new ItemTaxClassificationDetails(DSL.name(alias), this);
239    }
240
241    @Override
242    public ItemTaxClassificationDetails as(Name alias) {
243        return new ItemTaxClassificationDetails(alias, this);
244    }
245
246    @Override
247    public ItemTaxClassificationDetails as(Table<?> alias) {
248        return new ItemTaxClassificationDetails(alias.getQualifiedName(), this);
249    }
250
251    /**
252     * Rename this table
253     */
254    @Override
255    public ItemTaxClassificationDetails rename(String name) {
256        return new ItemTaxClassificationDetails(DSL.name(name), null);
257    }
258
259    /**
260     * Rename this table
261     */
262    @Override
263    public ItemTaxClassificationDetails rename(Name name) {
264        return new ItemTaxClassificationDetails(name, null);
265    }
266
267    /**
268     * Rename this table
269     */
270    @Override
271    public ItemTaxClassificationDetails rename(Table<?> name) {
272        return new ItemTaxClassificationDetails(name.getQualifiedName(), null);
273    }
274
275    /**
276     * Create an inline derived table from this table
277     */
278    @Override
279    public ItemTaxClassificationDetails where(Condition condition) {
280        return new ItemTaxClassificationDetails(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
281    }
282
283    /**
284     * Create an inline derived table from this table
285     */
286    @Override
287    public ItemTaxClassificationDetails where(Collection<? extends Condition> conditions) {
288        return where(DSL.and(conditions));
289    }
290
291    /**
292     * Create an inline derived table from this table
293     */
294    @Override
295    public ItemTaxClassificationDetails where(Condition... conditions) {
296        return where(DSL.and(conditions));
297    }
298
299    /**
300     * Create an inline derived table from this table
301     */
302    @Override
303    public ItemTaxClassificationDetails where(Field<Boolean> condition) {
304        return where(DSL.condition(condition));
305    }
306
307    /**
308     * Create an inline derived table from this table
309     */
310    @Override
311    @PlainSQL
312    public ItemTaxClassificationDetails where(SQL condition) {
313        return where(DSL.condition(condition));
314    }
315
316    /**
317     * Create an inline derived table from this table
318     */
319    @Override
320    @PlainSQL
321    public ItemTaxClassificationDetails where(@Stringly.SQL String condition) {
322        return where(DSL.condition(condition));
323    }
324
325    /**
326     * Create an inline derived table from this table
327     */
328    @Override
329    @PlainSQL
330    public ItemTaxClassificationDetails where(@Stringly.SQL String condition, Object... binds) {
331        return where(DSL.condition(condition, binds));
332    }
333
334    /**
335     * Create an inline derived table from this table
336     */
337    @Override
338    @PlainSQL
339    public ItemTaxClassificationDetails where(@Stringly.SQL String condition, QueryPart... parts) {
340        return where(DSL.condition(condition, parts));
341    }
342
343    /**
344     * Create an inline derived table from this table
345     */
346    @Override
347    public ItemTaxClassificationDetails whereExists(TableLike<?> select) {
348        return where(DSL.exists(select));
349    }
350
351    /**
352     * Create an inline derived table from this table
353     */
354    @Override
355    public ItemTaxClassificationDetails whereNotExists(TableLike<?> select) {
356        return where(DSL.notExists(select));
357    }
358}