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.ItemAliasPK;
008import com.echothree.model.data.item.common.pk.ItemAliasTypePK;
009import com.echothree.model.data.item.common.pk.ItemPK;
010import com.echothree.model.data.uom.common.pk.UnitOfMeasureTypePK;
011import com.echothree.model.jooq.server.KeyRegistry;
012import com.echothree.model.jooq.server.tables.item.ItemAliasTypes.ItemAliasTypesPath;
013import com.echothree.model.jooq.server.tables.item.Items.ItemsPath;
014import com.echothree.model.jooq.server.tables.uom.UnitOfMeasureTypes.UnitOfMeasureTypesPath;
015
016import java.util.Arrays;
017import java.util.Collection;
018import java.util.List;
019
020import org.jooq.Condition;
021import org.jooq.Converter;
022import org.jooq.Field;
023import org.jooq.ForeignKey;
024import org.jooq.Name;
025import org.jooq.PlainSQL;
026import org.jooq.QueryPart;
027import org.jooq.SQL;
028import org.jooq.Stringly;
029import org.jooq.Table;
030import org.jooq.TableField;
031import org.jooq.TableLike;
032import org.jooq.TableOptions;
033import org.jooq.UniqueKey;
034import org.jooq.impl.DSL;
035import org.jooq.impl.Internal;
036import org.jooq.impl.SQLDataType;
037import org.jooq.impl.TableImpl;
038
039
040/**
041 * This class is generated by jOOQ.
042 */
043@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
044public class ItemAliases extends TableImpl<com.echothree.model.jooq.server.records.item.ItemAliases> {
045
046    private static final long serialVersionUID = 1L;
047
048    /**
049     * The reference instance of <code>itemaliases</code>
050     */
051    public static final ItemAliases ItemAliases = new ItemAliases();
052
053    /**
054     * The class holding records for this type
055     */
056    @Override
057    public Class<com.echothree.model.jooq.server.records.item.ItemAliases> getRecordType() {
058        return com.echothree.model.jooq.server.records.item.ItemAliases.class;
059    }
060
061    /**
062     * The column <code>itemaliases.itmal_itemaliasid</code>.
063     */
064    public final TableField<com.echothree.model.jooq.server.records.item.ItemAliases, ItemAliasPK> ITEM_ALIAS = createField(DSL.name("itmal_itemaliasid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ItemAliasPK.class, id -> new com.echothree.model.data.item.common.pk.ItemAliasPK(id), primaryKey -> primaryKey.getEntityId()));
065
066    /**
067     * The column <code>itemaliases.itmal_itm_itemid</code>.
068     */
069    public final TableField<com.echothree.model.jooq.server.records.item.ItemAliases, ItemPK> ITEM = createField(DSL.name("itmal_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()));
070
071    /**
072     * The column <code>itemaliases.itmal_uomt_unitofmeasuretypeid</code>.
073     */
074    public final TableField<com.echothree.model.jooq.server.records.item.ItemAliases, UnitOfMeasureTypePK> UNIT_OF_MEASURE_TYPE = createField(DSL.name("itmal_uomt_unitofmeasuretypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, UnitOfMeasureTypePK.class, id -> new com.echothree.model.data.uom.common.pk.UnitOfMeasureTypePK(id), primaryKey -> primaryKey.getEntityId()));
075
076    /**
077     * The column <code>itemaliases.itmal_iat_itemaliastypeid</code>.
078     */
079    public final TableField<com.echothree.model.jooq.server.records.item.ItemAliases, ItemAliasTypePK> ITEM_ALIAS_TYPE = createField(DSL.name("itmal_iat_itemaliastypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ItemAliasTypePK.class, id -> new com.echothree.model.data.item.common.pk.ItemAliasTypePK(id), primaryKey -> primaryKey.getEntityId()));
080
081    /**
082     * The column <code>itemaliases.itmal_alias</code>.
083     */
084    public final TableField<com.echothree.model.jooq.server.records.item.ItemAliases, String> ALIAS = createField(DSL.name("itmal_alias"), SQLDataType.VARCHAR(40).nullable(false), this, "");
085
086    /**
087     * The column <code>itemaliases.itmal_fromtime</code>.
088     */
089    public final TableField<com.echothree.model.jooq.server.records.item.ItemAliases, Long> FROM_TIME = createField(DSL.name("itmal_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
090
091    /**
092     * The column <code>itemaliases.itmal_thrutime</code>.
093     */
094    public final TableField<com.echothree.model.jooq.server.records.item.ItemAliases, Long> THRU_TIME = createField(DSL.name("itmal_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
095
096    private ItemAliases(Name alias, Table<com.echothree.model.jooq.server.records.item.ItemAliases> aliased) {
097        this(alias, aliased, (Field<?>[]) null, null);
098    }
099
100    private ItemAliases(Name alias, Table<com.echothree.model.jooq.server.records.item.ItemAliases> aliased, Field<?>[] parameters, Condition where) {
101        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
102    }
103
104    /**
105     * Create an aliased <code>itemaliases</code> table reference
106     */
107    public ItemAliases(String alias) {
108        this(DSL.name(alias), ItemAliases);
109    }
110
111    /**
112     * Create an aliased <code>itemaliases</code> table reference
113     */
114    public ItemAliases(Name alias) {
115        this(alias, ItemAliases);
116    }
117
118    /**
119     * Create a <code>itemaliases</code> table reference
120     */
121    public ItemAliases() {
122        this(DSL.name("itemaliases"), null);
123    }
124
125    @Override
126    public UniqueKey<com.echothree.model.jooq.server.records.item.ItemAliases> getPrimaryKey() {
127        return KeyRegistry.ITEM_ALIASES_PK;
128    }
129
130    @Override
131    public List<UniqueKey<com.echothree.model.jooq.server.records.item.ItemAliases>> getUniqueKeys() {
132        return Arrays.asList(KeyRegistry.ITEM_ALIASES_THRU_TIME_AND_ALIAS_UK);
133    }
134
135    @Override
136    public List<ForeignKey<com.echothree.model.jooq.server.records.item.ItemAliases, ?>> getReferences() {
137        return Arrays.asList(KeyRegistry.ITEM_ALIASES_ITEM_ALIAS_TYPE_FK, KeyRegistry.ITEM_ALIASES_ITEM_FK, KeyRegistry.ITEM_ALIASES_UNIT_OF_MEASURE_TYPE_FK);
138    }
139
140    private transient ItemAliasTypesPath _itmal_iat_itemaliastypeid_fk;
141
142    /**
143     * Get the implicit join path to the <code>itemaliastypes</code> table.
144     */
145    public ItemAliasTypesPath itmal_iat_itemaliastypeid_fk() {
146        if (_itmal_iat_itemaliastypeid_fk == null)
147            _itmal_iat_itemaliastypeid_fk = new ItemAliasTypesPath(this, KeyRegistry.ITEM_ALIASES_ITEM_ALIAS_TYPE_FK, null);
148
149        return _itmal_iat_itemaliastypeid_fk;
150    }
151
152    private transient ItemsPath _itmal_itm_itemid_fk;
153
154    /**
155     * Get the implicit join path to the <code>items</code> table.
156     */
157    public ItemsPath itmal_itm_itemid_fk() {
158        if (_itmal_itm_itemid_fk == null)
159            _itmal_itm_itemid_fk = new ItemsPath(this, KeyRegistry.ITEM_ALIASES_ITEM_FK, null);
160
161        return _itmal_itm_itemid_fk;
162    }
163
164    private transient UnitOfMeasureTypesPath _itmal_uomt_unitofmeasuretypeid_fk;
165
166    /**
167     * Get the implicit join path to the <code>unitofmeasuretypes</code> table.
168     */
169    public UnitOfMeasureTypesPath itmal_uomt_unitofmeasuretypeid_fk() {
170        if (_itmal_uomt_unitofmeasuretypeid_fk == null)
171            _itmal_uomt_unitofmeasuretypeid_fk = new UnitOfMeasureTypesPath(this, KeyRegistry.ITEM_ALIASES_UNIT_OF_MEASURE_TYPE_FK, null);
172
173        return _itmal_uomt_unitofmeasuretypeid_fk;
174    }
175
176    @Override
177    public ItemAliases as(String alias) {
178        return new ItemAliases(DSL.name(alias), this);
179    }
180
181    @Override
182    public ItemAliases as(Name alias) {
183        return new ItemAliases(alias, this);
184    }
185
186    @Override
187    public ItemAliases as(Table<?> alias) {
188        return new ItemAliases(alias.getQualifiedName(), this);
189    }
190
191    /**
192     * Rename this table
193     */
194    @Override
195    public ItemAliases rename(String name) {
196        return new ItemAliases(DSL.name(name), null);
197    }
198
199    /**
200     * Rename this table
201     */
202    @Override
203    public ItemAliases rename(Name name) {
204        return new ItemAliases(name, null);
205    }
206
207    /**
208     * Rename this table
209     */
210    @Override
211    public ItemAliases rename(Table<?> name) {
212        return new ItemAliases(name.getQualifiedName(), null);
213    }
214
215    /**
216     * Create an inline derived table from this table
217     */
218    @Override
219    public ItemAliases where(Condition condition) {
220        return new ItemAliases(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
221    }
222
223    /**
224     * Create an inline derived table from this table
225     */
226    @Override
227    public ItemAliases where(Collection<? extends Condition> conditions) {
228        return where(DSL.and(conditions));
229    }
230
231    /**
232     * Create an inline derived table from this table
233     */
234    @Override
235    public ItemAliases where(Condition... conditions) {
236        return where(DSL.and(conditions));
237    }
238
239    /**
240     * Create an inline derived table from this table
241     */
242    @Override
243    public ItemAliases where(Field<Boolean> condition) {
244        return where(DSL.condition(condition));
245    }
246
247    /**
248     * Create an inline derived table from this table
249     */
250    @Override
251    @PlainSQL
252    public ItemAliases where(SQL condition) {
253        return where(DSL.condition(condition));
254    }
255
256    /**
257     * Create an inline derived table from this table
258     */
259    @Override
260    @PlainSQL
261    public ItemAliases where(@Stringly.SQL String condition) {
262        return where(DSL.condition(condition));
263    }
264
265    /**
266     * Create an inline derived table from this table
267     */
268    @Override
269    @PlainSQL
270    public ItemAliases where(@Stringly.SQL String condition, Object... binds) {
271        return where(DSL.condition(condition, binds));
272    }
273
274    /**
275     * Create an inline derived table from this table
276     */
277    @Override
278    @PlainSQL
279    public ItemAliases where(@Stringly.SQL String condition, QueryPart... parts) {
280        return where(DSL.condition(condition, parts));
281    }
282
283    /**
284     * Create an inline derived table from this table
285     */
286    @Override
287    public ItemAliases whereExists(TableLike<?> select) {
288        return where(DSL.exists(select));
289    }
290
291    /**
292     * Create an inline derived table from this table
293     */
294    @Override
295    public ItemAliases whereNotExists(TableLike<?> select) {
296        return where(DSL.notExists(select));
297    }
298}