001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.item;
005
006
007import com.echothree.model.data.core.common.pk.MimeTypePK;
008import com.echothree.model.data.item.common.pk.ItemDescriptionDetailPK;
009import com.echothree.model.data.item.common.pk.ItemDescriptionPK;
010import com.echothree.model.data.item.common.pk.ItemDescriptionTypePK;
011import com.echothree.model.data.item.common.pk.ItemPK;
012import com.echothree.model.data.party.common.pk.LanguagePK;
013import com.echothree.model.jooq.server.KeyRegistry;
014import com.echothree.model.jooq.server.tables.core.MimeTypes.MimeTypesPath;
015import com.echothree.model.jooq.server.tables.item.ItemDescriptionTypes.ItemDescriptionTypesPath;
016import com.echothree.model.jooq.server.tables.item.ItemDescriptions.ItemDescriptionsPath;
017import com.echothree.model.jooq.server.tables.item.Items.ItemsPath;
018import com.echothree.model.jooq.server.tables.party.Languages.LanguagesPath;
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 ItemDescriptionDetails extends TableImpl<com.echothree.model.jooq.server.records.item.ItemDescriptionDetails> {
052
053    private static final long serialVersionUID = 1L;
054
055    /**
056     * The reference instance of <code>itemdescriptiondetails</code>
057     */
058    public static final ItemDescriptionDetails ItemDescriptionDetails = new ItemDescriptionDetails();
059
060    /**
061     * The class holding records for this type
062     */
063    @Override
064    public Class<com.echothree.model.jooq.server.records.item.ItemDescriptionDetails> getRecordType() {
065        return com.echothree.model.jooq.server.records.item.ItemDescriptionDetails.class;
066    }
067
068    /**
069     * The column
070     * <code>itemdescriptiondetails.idescdt_itemdescriptiondetailid</code>.
071     */
072    public final TableField<com.echothree.model.jooq.server.records.item.ItemDescriptionDetails, ItemDescriptionDetailPK> ITEM_DESCRIPTION_DETAIL = createField(DSL.name("idescdt_itemdescriptiondetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ItemDescriptionDetailPK.class, id -> new com.echothree.model.data.item.common.pk.ItemDescriptionDetailPK(id), primaryKey -> primaryKey.getEntityId()));
073
074    /**
075     * The column
076     * <code>itemdescriptiondetails.idescdt_idesc_itemdescriptionid</code>.
077     */
078    public final TableField<com.echothree.model.jooq.server.records.item.ItemDescriptionDetails, ItemDescriptionPK> ITEM_DESCRIPTION = createField(DSL.name("idescdt_idesc_itemdescriptionid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ItemDescriptionPK.class, id -> new com.echothree.model.data.item.common.pk.ItemDescriptionPK(id), primaryKey -> primaryKey.getEntityId()));
079
080    /**
081     * The column
082     * <code>itemdescriptiondetails.idescdt_idt_itemdescriptiontypeid</code>.
083     */
084    public final TableField<com.echothree.model.jooq.server.records.item.ItemDescriptionDetails, ItemDescriptionTypePK> ITEM_DESCRIPTION_TYPE = createField(DSL.name("idescdt_idt_itemdescriptiontypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ItemDescriptionTypePK.class, id -> new com.echothree.model.data.item.common.pk.ItemDescriptionTypePK(id), primaryKey -> primaryKey.getEntityId()));
085
086    /**
087     * The column <code>itemdescriptiondetails.idescdt_itm_itemid</code>.
088     */
089    public final TableField<com.echothree.model.jooq.server.records.item.ItemDescriptionDetails, ItemPK> ITEM = createField(DSL.name("idescdt_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()));
090
091    /**
092     * The column <code>itemdescriptiondetails.idescdt_lang_languageid</code>.
093     */
094    public final TableField<com.echothree.model.jooq.server.records.item.ItemDescriptionDetails, LanguagePK> LANGUAGE = createField(DSL.name("idescdt_lang_languageid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, LanguagePK.class, id -> new com.echothree.model.data.party.common.pk.LanguagePK(id), primaryKey -> primaryKey.getEntityId()));
095
096    /**
097     * The column <code>itemdescriptiondetails.idescdt_mtyp_mimetypeid</code>.
098     */
099    public final TableField<com.echothree.model.jooq.server.records.item.ItemDescriptionDetails, MimeTypePK> MIME_TYPE = createField(DSL.name("idescdt_mtyp_mimetypeid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, MimeTypePK.class, id -> new com.echothree.model.data.core.common.pk.MimeTypePK(id), primaryKey -> primaryKey.getEntityId()));
100
101    /**
102     * The column <code>itemdescriptiondetails.idescdt_fromtime</code>.
103     */
104    public final TableField<com.echothree.model.jooq.server.records.item.ItemDescriptionDetails, Long> FROM_TIME = createField(DSL.name("idescdt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
105
106    /**
107     * The column <code>itemdescriptiondetails.idescdt_thrutime</code>.
108     */
109    public final TableField<com.echothree.model.jooq.server.records.item.ItemDescriptionDetails, Long> THRU_TIME = createField(DSL.name("idescdt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
110
111    private ItemDescriptionDetails(Name alias, Table<com.echothree.model.jooq.server.records.item.ItemDescriptionDetails> aliased) {
112        this(alias, aliased, (Field<?>[]) null, null);
113    }
114
115    private ItemDescriptionDetails(Name alias, Table<com.echothree.model.jooq.server.records.item.ItemDescriptionDetails> aliased, Field<?>[] parameters, Condition where) {
116        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
117    }
118
119    /**
120     * Create an aliased <code>itemdescriptiondetails</code> table reference
121     */
122    public ItemDescriptionDetails(String alias) {
123        this(DSL.name(alias), ItemDescriptionDetails);
124    }
125
126    /**
127     * Create an aliased <code>itemdescriptiondetails</code> table reference
128     */
129    public ItemDescriptionDetails(Name alias) {
130        this(alias, ItemDescriptionDetails);
131    }
132
133    /**
134     * Create a <code>itemdescriptiondetails</code> table reference
135     */
136    public ItemDescriptionDetails() {
137        this(DSL.name("itemdescriptiondetails"), null);
138    }
139
140    public <O extends Record> ItemDescriptionDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.item.ItemDescriptionDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.item.ItemDescriptionDetails> parentPath) {
141        super(path, childPath, parentPath, ItemDescriptionDetails);
142    }
143
144    /**
145     * A subtype implementing {@link Path} for simplified path-based joins.
146     */
147    public static class ItemDescriptionDetailsPath extends ItemDescriptionDetails implements Path<com.echothree.model.jooq.server.records.item.ItemDescriptionDetails> {
148
149        private static final long serialVersionUID = 1L;
150        public <O extends Record> ItemDescriptionDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.item.ItemDescriptionDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.item.ItemDescriptionDetails> parentPath) {
151            super(path, childPath, parentPath);
152        }
153        private ItemDescriptionDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.item.ItemDescriptionDetails> aliased) {
154            super(alias, aliased);
155        }
156
157        @Override
158        public ItemDescriptionDetailsPath as(String alias) {
159            return new ItemDescriptionDetailsPath(DSL.name(alias), this);
160        }
161
162        @Override
163        public ItemDescriptionDetailsPath as(Name alias) {
164            return new ItemDescriptionDetailsPath(alias, this);
165        }
166
167        @Override
168        public ItemDescriptionDetailsPath as(Table<?> alias) {
169            return new ItemDescriptionDetailsPath(alias.getQualifiedName(), this);
170        }
171    }
172
173    @Override
174    public UniqueKey<com.echothree.model.jooq.server.records.item.ItemDescriptionDetails> getPrimaryKey() {
175        return KeyRegistry.ITEM_DESCRIPTION_DETAILS_PK;
176    }
177
178    @Override
179    public List<UniqueKey<com.echothree.model.jooq.server.records.item.ItemDescriptionDetails>> getUniqueKeys() {
180        return Arrays.asList(KeyRegistry.ITEM_DESCRIPTION_DETAILS_ITEM_DESCRIPTION_AND_THRU_TIME_UK, KeyRegistry.ITEM_DESCRIPTION_DETAILS_ITEM_DESCRIPTION_TYPE_AND_ITEM_AND_LANGUAGE_AND_THRU_TIME_UK);
181    }
182
183    @Override
184    public List<ForeignKey<com.echothree.model.jooq.server.records.item.ItemDescriptionDetails, ?>> getReferences() {
185        return Arrays.asList(KeyRegistry.ITEM_DESCRIPTION_DETAILS_ITEM_DESCRIPTION_FK, KeyRegistry.ITEM_DESCRIPTION_DETAILS_ITEM_DESCRIPTION_TYPE_FK, KeyRegistry.ITEM_DESCRIPTION_DETAILS_ITEM_FK, KeyRegistry.ITEM_DESCRIPTION_DETAILS_LANGUAGE_FK, KeyRegistry.ITEM_DESCRIPTION_DETAILS_MIME_TYPE_FK);
186    }
187
188    private transient ItemDescriptionsPath _idescdt_idesc_itemdescriptionid_fk;
189
190    /**
191     * Get the implicit join path to the <code>itemdescriptions</code> table.
192     */
193    public ItemDescriptionsPath idescdt_idesc_itemdescriptionid_fk() {
194        if (_idescdt_idesc_itemdescriptionid_fk == null)
195            _idescdt_idesc_itemdescriptionid_fk = new ItemDescriptionsPath(this, KeyRegistry.ITEM_DESCRIPTION_DETAILS_ITEM_DESCRIPTION_FK, null);
196
197        return _idescdt_idesc_itemdescriptionid_fk;
198    }
199
200    private transient ItemDescriptionTypesPath _idescdt_idt_itemdescriptiontypeid_fk;
201
202    /**
203     * Get the implicit join path to the <code>itemdescriptiontypes</code>
204     * table.
205     */
206    public ItemDescriptionTypesPath idescdt_idt_itemdescriptiontypeid_fk() {
207        if (_idescdt_idt_itemdescriptiontypeid_fk == null)
208            _idescdt_idt_itemdescriptiontypeid_fk = new ItemDescriptionTypesPath(this, KeyRegistry.ITEM_DESCRIPTION_DETAILS_ITEM_DESCRIPTION_TYPE_FK, null);
209
210        return _idescdt_idt_itemdescriptiontypeid_fk;
211    }
212
213    private transient ItemsPath _idescdt_itm_itemid_fk;
214
215    /**
216     * Get the implicit join path to the <code>items</code> table.
217     */
218    public ItemsPath idescdt_itm_itemid_fk() {
219        if (_idescdt_itm_itemid_fk == null)
220            _idescdt_itm_itemid_fk = new ItemsPath(this, KeyRegistry.ITEM_DESCRIPTION_DETAILS_ITEM_FK, null);
221
222        return _idescdt_itm_itemid_fk;
223    }
224
225    private transient LanguagesPath _idescdt_lang_languageid_fk;
226
227    /**
228     * Get the implicit join path to the <code>languages</code> table.
229     */
230    public LanguagesPath idescdt_lang_languageid_fk() {
231        if (_idescdt_lang_languageid_fk == null)
232            _idescdt_lang_languageid_fk = new LanguagesPath(this, KeyRegistry.ITEM_DESCRIPTION_DETAILS_LANGUAGE_FK, null);
233
234        return _idescdt_lang_languageid_fk;
235    }
236
237    private transient MimeTypesPath _idescdt_mtyp_mimetypeid_fk;
238
239    /**
240     * Get the implicit join path to the <code>mimetypes</code> table.
241     */
242    public MimeTypesPath idescdt_mtyp_mimetypeid_fk() {
243        if (_idescdt_mtyp_mimetypeid_fk == null)
244            _idescdt_mtyp_mimetypeid_fk = new MimeTypesPath(this, KeyRegistry.ITEM_DESCRIPTION_DETAILS_MIME_TYPE_FK, null);
245
246        return _idescdt_mtyp_mimetypeid_fk;
247    }
248
249    @Override
250    public ItemDescriptionDetails as(String alias) {
251        return new ItemDescriptionDetails(DSL.name(alias), this);
252    }
253
254    @Override
255    public ItemDescriptionDetails as(Name alias) {
256        return new ItemDescriptionDetails(alias, this);
257    }
258
259    @Override
260    public ItemDescriptionDetails as(Table<?> alias) {
261        return new ItemDescriptionDetails(alias.getQualifiedName(), this);
262    }
263
264    /**
265     * Rename this table
266     */
267    @Override
268    public ItemDescriptionDetails rename(String name) {
269        return new ItemDescriptionDetails(DSL.name(name), null);
270    }
271
272    /**
273     * Rename this table
274     */
275    @Override
276    public ItemDescriptionDetails rename(Name name) {
277        return new ItemDescriptionDetails(name, null);
278    }
279
280    /**
281     * Rename this table
282     */
283    @Override
284    public ItemDescriptionDetails rename(Table<?> name) {
285        return new ItemDescriptionDetails(name.getQualifiedName(), null);
286    }
287
288    /**
289     * Create an inline derived table from this table
290     */
291    @Override
292    public ItemDescriptionDetails where(Condition condition) {
293        return new ItemDescriptionDetails(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
294    }
295
296    /**
297     * Create an inline derived table from this table
298     */
299    @Override
300    public ItemDescriptionDetails where(Collection<? extends Condition> conditions) {
301        return where(DSL.and(conditions));
302    }
303
304    /**
305     * Create an inline derived table from this table
306     */
307    @Override
308    public ItemDescriptionDetails where(Condition... conditions) {
309        return where(DSL.and(conditions));
310    }
311
312    /**
313     * Create an inline derived table from this table
314     */
315    @Override
316    public ItemDescriptionDetails where(Field<Boolean> condition) {
317        return where(DSL.condition(condition));
318    }
319
320    /**
321     * Create an inline derived table from this table
322     */
323    @Override
324    @PlainSQL
325    public ItemDescriptionDetails where(SQL condition) {
326        return where(DSL.condition(condition));
327    }
328
329    /**
330     * Create an inline derived table from this table
331     */
332    @Override
333    @PlainSQL
334    public ItemDescriptionDetails where(@Stringly.SQL String condition) {
335        return where(DSL.condition(condition));
336    }
337
338    /**
339     * Create an inline derived table from this table
340     */
341    @Override
342    @PlainSQL
343    public ItemDescriptionDetails where(@Stringly.SQL String condition, Object... binds) {
344        return where(DSL.condition(condition, binds));
345    }
346
347    /**
348     * Create an inline derived table from this table
349     */
350    @Override
351    @PlainSQL
352    public ItemDescriptionDetails where(@Stringly.SQL String condition, QueryPart... parts) {
353        return where(DSL.condition(condition, parts));
354    }
355
356    /**
357     * Create an inline derived table from this table
358     */
359    @Override
360    public ItemDescriptionDetails whereExists(TableLike<?> select) {
361        return where(DSL.exists(select));
362    }
363
364    /**
365     * Create an inline derived table from this table
366     */
367    @Override
368    public ItemDescriptionDetails whereNotExists(TableLike<?> select) {
369        return where(DSL.notExists(select));
370    }
371}