001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.inventory;
005
006
007import com.echothree.model.data.inventory.common.pk.InventoryLocationGroupPK;
008import com.echothree.model.data.inventory.common.pk.InventoryLocationGroupVolumePK;
009import com.echothree.model.jooq.server.KeyRegistry;
010import com.echothree.model.jooq.server.tables.inventory.InventoryLocationGroups.InventoryLocationGroupsPath;
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 InventoryLocationGroupVolumes extends TableImpl<com.echothree.model.jooq.server.records.inventory.InventoryLocationGroupVolumes> {
041
042    private static final long serialVersionUID = 1L;
043
044    /**
045     * The reference instance of <code>inventorylocationgroupvolumes</code>
046     */
047    public static final InventoryLocationGroupVolumes InventoryLocationGroupVolumes = new InventoryLocationGroupVolumes();
048
049    /**
050     * The class holding records for this type
051     */
052    @Override
053    public Class<com.echothree.model.jooq.server.records.inventory.InventoryLocationGroupVolumes> getRecordType() {
054        return com.echothree.model.jooq.server.records.inventory.InventoryLocationGroupVolumes.class;
055    }
056
057    /**
058     * The column
059     * <code>inventorylocationgroupvolumes.invlocgrpvol_inventorylocationgroupvolumeid</code>.
060     */
061    public final TableField<com.echothree.model.jooq.server.records.inventory.InventoryLocationGroupVolumes, InventoryLocationGroupVolumePK> INVENTORY_LOCATION_GROUP_VOLUME = createField(DSL.name("invlocgrpvol_inventorylocationgroupvolumeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, InventoryLocationGroupVolumePK.class, id -> new com.echothree.model.data.inventory.common.pk.InventoryLocationGroupVolumePK(id), primaryKey -> primaryKey.getEntityId()));
062
063    /**
064     * The column
065     * <code>inventorylocationgroupvolumes.invlocgrpvol_invlocgrp_inventorylocationgroupid</code>.
066     */
067    public final TableField<com.echothree.model.jooq.server.records.inventory.InventoryLocationGroupVolumes, InventoryLocationGroupPK> INVENTORY_LOCATION_GROUP = createField(DSL.name("invlocgrpvol_invlocgrp_inventorylocationgroupid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, InventoryLocationGroupPK.class, id -> new com.echothree.model.data.inventory.common.pk.InventoryLocationGroupPK(id), primaryKey -> primaryKey.getEntityId()));
068
069    /**
070     * The column
071     * <code>inventorylocationgroupvolumes.invlocgrpvol_height</code>.
072     */
073    public final TableField<com.echothree.model.jooq.server.records.inventory.InventoryLocationGroupVolumes, Long> HEIGHT = createField(DSL.name("invlocgrpvol_height"), SQLDataType.BIGINT.nullable(false), this, "");
074
075    /**
076     * The column <code>inventorylocationgroupvolumes.invlocgrpvol_width</code>.
077     */
078    public final TableField<com.echothree.model.jooq.server.records.inventory.InventoryLocationGroupVolumes, Long> WIDTH = createField(DSL.name("invlocgrpvol_width"), SQLDataType.BIGINT.nullable(false), this, "");
079
080    /**
081     * The column <code>inventorylocationgroupvolumes.invlocgrpvol_depth</code>.
082     */
083    public final TableField<com.echothree.model.jooq.server.records.inventory.InventoryLocationGroupVolumes, Long> DEPTH = createField(DSL.name("invlocgrpvol_depth"), SQLDataType.BIGINT.nullable(false), this, "");
084
085    /**
086     * The column
087     * <code>inventorylocationgroupvolumes.invlocgrpvol_fromtime</code>.
088     */
089    public final TableField<com.echothree.model.jooq.server.records.inventory.InventoryLocationGroupVolumes, Long> FROM_TIME = createField(DSL.name("invlocgrpvol_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
090
091    /**
092     * The column
093     * <code>inventorylocationgroupvolumes.invlocgrpvol_thrutime</code>.
094     */
095    public final TableField<com.echothree.model.jooq.server.records.inventory.InventoryLocationGroupVolumes, Long> THRU_TIME = createField(DSL.name("invlocgrpvol_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
096
097    private InventoryLocationGroupVolumes(Name alias, Table<com.echothree.model.jooq.server.records.inventory.InventoryLocationGroupVolumes> aliased) {
098        this(alias, aliased, (Field<?>[]) null, null);
099    }
100
101    private InventoryLocationGroupVolumes(Name alias, Table<com.echothree.model.jooq.server.records.inventory.InventoryLocationGroupVolumes> aliased, Field<?>[] parameters, Condition where) {
102        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
103    }
104
105    /**
106     * Create an aliased <code>inventorylocationgroupvolumes</code> table
107     * reference
108     */
109    public InventoryLocationGroupVolumes(String alias) {
110        this(DSL.name(alias), InventoryLocationGroupVolumes);
111    }
112
113    /**
114     * Create an aliased <code>inventorylocationgroupvolumes</code> table
115     * reference
116     */
117    public InventoryLocationGroupVolumes(Name alias) {
118        this(alias, InventoryLocationGroupVolumes);
119    }
120
121    /**
122     * Create a <code>inventorylocationgroupvolumes</code> table reference
123     */
124    public InventoryLocationGroupVolumes() {
125        this(DSL.name("inventorylocationgroupvolumes"), null);
126    }
127
128    @Override
129    public UniqueKey<com.echothree.model.jooq.server.records.inventory.InventoryLocationGroupVolumes> getPrimaryKey() {
130        return KeyRegistry.INVENTORY_LOCATION_GROUP_VOLUMES_PK;
131    }
132
133    @Override
134    public List<UniqueKey<com.echothree.model.jooq.server.records.inventory.InventoryLocationGroupVolumes>> getUniqueKeys() {
135        return Arrays.asList(KeyRegistry.INVENTORY_LOCATION_GROUP_VOLUMES_INVENTORY_LOCATION_GROUP_AND_THRU_TIME_UK);
136    }
137
138    @Override
139    public List<ForeignKey<com.echothree.model.jooq.server.records.inventory.InventoryLocationGroupVolumes, ?>> getReferences() {
140        return Arrays.asList(KeyRegistry.INVENTORY_LOCATION_GROUP_VOLUMES_INVENTORY_LOCATION_GROUP_FK);
141    }
142
143    private transient InventoryLocationGroupsPath _invlocgrpvol_invlocgrp_inventorylocationgroupid_fk;
144
145    /**
146     * Get the implicit join path to the <code>inventorylocationgroups</code>
147     * table.
148     */
149    public InventoryLocationGroupsPath invlocgrpvol_invlocgrp_inventorylocationgroupid_fk() {
150        if (_invlocgrpvol_invlocgrp_inventorylocationgroupid_fk == null)
151            _invlocgrpvol_invlocgrp_inventorylocationgroupid_fk = new InventoryLocationGroupsPath(this, KeyRegistry.INVENTORY_LOCATION_GROUP_VOLUMES_INVENTORY_LOCATION_GROUP_FK, null);
152
153        return _invlocgrpvol_invlocgrp_inventorylocationgroupid_fk;
154    }
155
156    @Override
157    public InventoryLocationGroupVolumes as(String alias) {
158        return new InventoryLocationGroupVolumes(DSL.name(alias), this);
159    }
160
161    @Override
162    public InventoryLocationGroupVolumes as(Name alias) {
163        return new InventoryLocationGroupVolumes(alias, this);
164    }
165
166    @Override
167    public InventoryLocationGroupVolumes as(Table<?> alias) {
168        return new InventoryLocationGroupVolumes(alias.getQualifiedName(), this);
169    }
170
171    /**
172     * Rename this table
173     */
174    @Override
175    public InventoryLocationGroupVolumes rename(String name) {
176        return new InventoryLocationGroupVolumes(DSL.name(name), null);
177    }
178
179    /**
180     * Rename this table
181     */
182    @Override
183    public InventoryLocationGroupVolumes rename(Name name) {
184        return new InventoryLocationGroupVolumes(name, null);
185    }
186
187    /**
188     * Rename this table
189     */
190    @Override
191    public InventoryLocationGroupVolumes rename(Table<?> name) {
192        return new InventoryLocationGroupVolumes(name.getQualifiedName(), null);
193    }
194
195    /**
196     * Create an inline derived table from this table
197     */
198    @Override
199    public InventoryLocationGroupVolumes where(Condition condition) {
200        return new InventoryLocationGroupVolumes(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
201    }
202
203    /**
204     * Create an inline derived table from this table
205     */
206    @Override
207    public InventoryLocationGroupVolumes where(Collection<? extends Condition> conditions) {
208        return where(DSL.and(conditions));
209    }
210
211    /**
212     * Create an inline derived table from this table
213     */
214    @Override
215    public InventoryLocationGroupVolumes where(Condition... conditions) {
216        return where(DSL.and(conditions));
217    }
218
219    /**
220     * Create an inline derived table from this table
221     */
222    @Override
223    public InventoryLocationGroupVolumes where(Field<Boolean> condition) {
224        return where(DSL.condition(condition));
225    }
226
227    /**
228     * Create an inline derived table from this table
229     */
230    @Override
231    @PlainSQL
232    public InventoryLocationGroupVolumes where(SQL condition) {
233        return where(DSL.condition(condition));
234    }
235
236    /**
237     * Create an inline derived table from this table
238     */
239    @Override
240    @PlainSQL
241    public InventoryLocationGroupVolumes where(@Stringly.SQL String condition) {
242        return where(DSL.condition(condition));
243    }
244
245    /**
246     * Create an inline derived table from this table
247     */
248    @Override
249    @PlainSQL
250    public InventoryLocationGroupVolumes where(@Stringly.SQL String condition, Object... binds) {
251        return where(DSL.condition(condition, binds));
252    }
253
254    /**
255     * Create an inline derived table from this table
256     */
257    @Override
258    @PlainSQL
259    public InventoryLocationGroupVolumes where(@Stringly.SQL String condition, QueryPart... parts) {
260        return where(DSL.condition(condition, parts));
261    }
262
263    /**
264     * Create an inline derived table from this table
265     */
266    @Override
267    public InventoryLocationGroupVolumes whereExists(TableLike<?> select) {
268        return where(DSL.exists(select));
269    }
270
271    /**
272     * Create an inline derived table from this table
273     */
274    @Override
275    public InventoryLocationGroupVolumes whereNotExists(TableLike<?> select) {
276        return where(DSL.notExists(select));
277    }
278}