001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.item;
005
006
007import com.echothree.model.data.item.common.pk.ItemKitOptionPK;
008import com.echothree.model.data.item.common.pk.ItemPK;
009import com.echothree.model.jooq.server.KeyRegistry;
010import com.echothree.model.jooq.server.tables.item.Items.ItemsPath;
011
012import java.util.Arrays;
013import java.util.Collection;
014import java.util.List;
015
016import org.jooq.Condition;
017import org.jooq.Converter;
018import org.jooq.Field;
019import org.jooq.ForeignKey;
020import org.jooq.Name;
021import org.jooq.PlainSQL;
022import org.jooq.QueryPart;
023import org.jooq.SQL;
024import org.jooq.Stringly;
025import org.jooq.Table;
026import org.jooq.TableField;
027import org.jooq.TableLike;
028import org.jooq.TableOptions;
029import org.jooq.UniqueKey;
030import org.jooq.impl.DSL;
031import org.jooq.impl.Internal;
032import org.jooq.impl.SQLDataType;
033import org.jooq.impl.TableImpl;
034
035
036/**
037 * This class is generated by jOOQ.
038 */
039@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
040public class ItemKitOptions extends TableImpl<com.echothree.model.jooq.server.records.item.ItemKitOptions> {
041
042    private static final long serialVersionUID = 1L;
043
044    /**
045     * The reference instance of <code>itemkitoptions</code>
046     */
047    public static final ItemKitOptions ItemKitOptions = new ItemKitOptions();
048
049    /**
050     * The class holding records for this type
051     */
052    @Override
053    public Class<com.echothree.model.jooq.server.records.item.ItemKitOptions> getRecordType() {
054        return com.echothree.model.jooq.server.records.item.ItemKitOptions.class;
055    }
056
057    /**
058     * The column <code>itemkitoptions.ikopt_itemkitoptionid</code>.
059     */
060    public final TableField<com.echothree.model.jooq.server.records.item.ItemKitOptions, ItemKitOptionPK> ITEM_KIT_OPTION = createField(DSL.name("ikopt_itemkitoptionid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ItemKitOptionPK.class, id -> new com.echothree.model.data.item.common.pk.ItemKitOptionPK(id), primaryKey -> primaryKey.getEntityId()));
061
062    /**
063     * The column <code>itemkitoptions.ikopt_itm_itemid</code>.
064     */
065    public final TableField<com.echothree.model.jooq.server.records.item.ItemKitOptions, ItemPK> ITEM = createField(DSL.name("ikopt_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()));
066
067    /**
068     * The column <code>itemkitoptions.ikopt_allowpartialshipments</code>.
069     */
070    public final TableField<com.echothree.model.jooq.server.records.item.ItemKitOptions, Boolean> ALLOW_PARTIAL_SHIPMENTS = createField(DSL.name("ikopt_allowpartialshipments"), SQLDataType.BIT.nullable(false), this, "");
071
072    /**
073     * The column <code>itemkitoptions.ikopt_fromtime</code>.
074     */
075    public final TableField<com.echothree.model.jooq.server.records.item.ItemKitOptions, Long> FROM_TIME = createField(DSL.name("ikopt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
076
077    /**
078     * The column <code>itemkitoptions.ikopt_thrutime</code>.
079     */
080    public final TableField<com.echothree.model.jooq.server.records.item.ItemKitOptions, Long> THRU_TIME = createField(DSL.name("ikopt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
081
082    private ItemKitOptions(Name alias, Table<com.echothree.model.jooq.server.records.item.ItemKitOptions> aliased) {
083        this(alias, aliased, (Field<?>[]) null, null);
084    }
085
086    private ItemKitOptions(Name alias, Table<com.echothree.model.jooq.server.records.item.ItemKitOptions> aliased, Field<?>[] parameters, Condition where) {
087        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
088    }
089
090    /**
091     * Create an aliased <code>itemkitoptions</code> table reference
092     */
093    public ItemKitOptions(String alias) {
094        this(DSL.name(alias), ItemKitOptions);
095    }
096
097    /**
098     * Create an aliased <code>itemkitoptions</code> table reference
099     */
100    public ItemKitOptions(Name alias) {
101        this(alias, ItemKitOptions);
102    }
103
104    /**
105     * Create a <code>itemkitoptions</code> table reference
106     */
107    public ItemKitOptions() {
108        this(DSL.name("itemkitoptions"), null);
109    }
110
111    @Override
112    public UniqueKey<com.echothree.model.jooq.server.records.item.ItemKitOptions> getPrimaryKey() {
113        return KeyRegistry.ITEM_KIT_OPTIONS_PK;
114    }
115
116    @Override
117    public List<ForeignKey<com.echothree.model.jooq.server.records.item.ItemKitOptions, ?>> getReferences() {
118        return Arrays.asList(KeyRegistry.ITEM_KIT_OPTIONS_ITEM_FK);
119    }
120
121    private transient ItemsPath _ikopt_itm_itemid_fk;
122
123    /**
124     * Get the implicit join path to the <code>items</code> table.
125     */
126    public ItemsPath ikopt_itm_itemid_fk() {
127        if (_ikopt_itm_itemid_fk == null)
128            _ikopt_itm_itemid_fk = new ItemsPath(this, KeyRegistry.ITEM_KIT_OPTIONS_ITEM_FK, null);
129
130        return _ikopt_itm_itemid_fk;
131    }
132
133    @Override
134    public ItemKitOptions as(String alias) {
135        return new ItemKitOptions(DSL.name(alias), this);
136    }
137
138    @Override
139    public ItemKitOptions as(Name alias) {
140        return new ItemKitOptions(alias, this);
141    }
142
143    @Override
144    public ItemKitOptions as(Table<?> alias) {
145        return new ItemKitOptions(alias.getQualifiedName(), this);
146    }
147
148    /**
149     * Rename this table
150     */
151    @Override
152    public ItemKitOptions rename(String name) {
153        return new ItemKitOptions(DSL.name(name), null);
154    }
155
156    /**
157     * Rename this table
158     */
159    @Override
160    public ItemKitOptions rename(Name name) {
161        return new ItemKitOptions(name, null);
162    }
163
164    /**
165     * Rename this table
166     */
167    @Override
168    public ItemKitOptions rename(Table<?> name) {
169        return new ItemKitOptions(name.getQualifiedName(), null);
170    }
171
172    /**
173     * Create an inline derived table from this table
174     */
175    @Override
176    public ItemKitOptions where(Condition condition) {
177        return new ItemKitOptions(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
178    }
179
180    /**
181     * Create an inline derived table from this table
182     */
183    @Override
184    public ItemKitOptions where(Collection<? extends Condition> conditions) {
185        return where(DSL.and(conditions));
186    }
187
188    /**
189     * Create an inline derived table from this table
190     */
191    @Override
192    public ItemKitOptions where(Condition... conditions) {
193        return where(DSL.and(conditions));
194    }
195
196    /**
197     * Create an inline derived table from this table
198     */
199    @Override
200    public ItemKitOptions where(Field<Boolean> condition) {
201        return where(DSL.condition(condition));
202    }
203
204    /**
205     * Create an inline derived table from this table
206     */
207    @Override
208    @PlainSQL
209    public ItemKitOptions where(SQL condition) {
210        return where(DSL.condition(condition));
211    }
212
213    /**
214     * Create an inline derived table from this table
215     */
216    @Override
217    @PlainSQL
218    public ItemKitOptions where(@Stringly.SQL String condition) {
219        return where(DSL.condition(condition));
220    }
221
222    /**
223     * Create an inline derived table from this table
224     */
225    @Override
226    @PlainSQL
227    public ItemKitOptions where(@Stringly.SQL String condition, Object... binds) {
228        return where(DSL.condition(condition, binds));
229    }
230
231    /**
232     * Create an inline derived table from this table
233     */
234    @Override
235    @PlainSQL
236    public ItemKitOptions where(@Stringly.SQL String condition, QueryPart... parts) {
237        return where(DSL.condition(condition, parts));
238    }
239
240    /**
241     * Create an inline derived table from this table
242     */
243    @Override
244    public ItemKitOptions whereExists(TableLike<?> select) {
245        return where(DSL.exists(select));
246    }
247
248    /**
249     * Create an inline derived table from this table
250     */
251    @Override
252    public ItemKitOptions whereNotExists(TableLike<?> select) {
253        return where(DSL.notExists(select));
254    }
255}