001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.core;
005
006
007import com.echothree.model.data.core.common.pk.EntityAttributePK;
008import com.echothree.model.data.core.common.pk.EntityBlobAttributePK;
009import com.echothree.model.data.core.common.pk.EntityInstancePK;
010import com.echothree.model.data.core.common.pk.MimeTypePK;
011import com.echothree.model.data.party.common.pk.LanguagePK;
012import com.echothree.model.jooq.server.KeyRegistry;
013import com.echothree.model.jooq.server.tables.core.EntityAttributes.EntityAttributesPath;
014import com.echothree.model.jooq.server.tables.core.EntityInstances.EntityInstancesPath;
015import com.echothree.model.jooq.server.tables.core.MimeTypes.MimeTypesPath;
016import com.echothree.model.jooq.server.tables.party.Languages.LanguagesPath;
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.Name;
027import org.jooq.PlainSQL;
028import org.jooq.QueryPart;
029import org.jooq.SQL;
030import org.jooq.Stringly;
031import org.jooq.Table;
032import org.jooq.TableField;
033import org.jooq.TableLike;
034import org.jooq.TableOptions;
035import org.jooq.UniqueKey;
036import org.jooq.impl.DSL;
037import org.jooq.impl.Internal;
038import org.jooq.impl.SQLDataType;
039import org.jooq.impl.TableImpl;
040
041
042/**
043 * This class is generated by jOOQ.
044 */
045@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
046public class EntityBlobAttributes extends TableImpl<com.echothree.model.jooq.server.records.core.EntityBlobAttributes> {
047
048    private static final long serialVersionUID = 1L;
049
050    /**
051     * The reference instance of <code>entityblobattributes</code>
052     */
053    public static final EntityBlobAttributes EntityBlobAttributes = new EntityBlobAttributes();
054
055    /**
056     * The class holding records for this type
057     */
058    @Override
059    public Class<com.echothree.model.jooq.server.records.core.EntityBlobAttributes> getRecordType() {
060        return com.echothree.model.jooq.server.records.core.EntityBlobAttributes.class;
061    }
062
063    /**
064     * The column <code>entityblobattributes.enba_entityblobattributeid</code>.
065     */
066    public final TableField<com.echothree.model.jooq.server.records.core.EntityBlobAttributes, EntityBlobAttributePK> ENTITY_BLOB_ATTRIBUTE = createField(DSL.name("enba_entityblobattributeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, EntityBlobAttributePK.class, id -> new com.echothree.model.data.core.common.pk.EntityBlobAttributePK(id), primaryKey -> primaryKey.getEntityId()));
067
068    /**
069     * The column <code>entityblobattributes.enba_ena_entityattributeid</code>.
070     */
071    public final TableField<com.echothree.model.jooq.server.records.core.EntityBlobAttributes, EntityAttributePK> ENTITY_ATTRIBUTE = createField(DSL.name("enba_ena_entityattributeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, EntityAttributePK.class, id -> new com.echothree.model.data.core.common.pk.EntityAttributePK(id), primaryKey -> primaryKey.getEntityId()));
072
073    /**
074     * The column <code>entityblobattributes.enba_eni_entityinstanceid</code>.
075     */
076    public final TableField<com.echothree.model.jooq.server.records.core.EntityBlobAttributes, EntityInstancePK> ENTITY_INSTANCE = createField(DSL.name("enba_eni_entityinstanceid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, EntityInstancePK.class, id -> new com.echothree.model.data.core.common.pk.EntityInstancePK(id), primaryKey -> primaryKey.getEntityId()));
077
078    /**
079     * The column <code>entityblobattributes.enba_lang_languageid</code>.
080     */
081    public final TableField<com.echothree.model.jooq.server.records.core.EntityBlobAttributes, LanguagePK> LANGUAGE = createField(DSL.name("enba_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()));
082
083    /**
084     * The column <code>entityblobattributes.enba_blobattribute</code>.
085     */
086    public final TableField<com.echothree.model.jooq.server.records.core.EntityBlobAttributes, byte[]> BLOB_ATTRIBUTE = createField(DSL.name("enba_blobattribute"), SQLDataType.BLOB.nullable(false), this, "");
087
088    /**
089     * The column <code>entityblobattributes.enba_mtyp_mimetypeid</code>.
090     */
091    public final TableField<com.echothree.model.jooq.server.records.core.EntityBlobAttributes, MimeTypePK> MIME_TYPE = createField(DSL.name("enba_mtyp_mimetypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, MimeTypePK.class, id -> new com.echothree.model.data.core.common.pk.MimeTypePK(id), primaryKey -> primaryKey.getEntityId()));
092
093    /**
094     * The column <code>entityblobattributes.enba_fromtime</code>.
095     */
096    public final TableField<com.echothree.model.jooq.server.records.core.EntityBlobAttributes, Long> FROM_TIME = createField(DSL.name("enba_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
097
098    /**
099     * The column <code>entityblobattributes.enba_thrutime</code>.
100     */
101    public final TableField<com.echothree.model.jooq.server.records.core.EntityBlobAttributes, Long> THRU_TIME = createField(DSL.name("enba_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
102
103    private EntityBlobAttributes(Name alias, Table<com.echothree.model.jooq.server.records.core.EntityBlobAttributes> aliased) {
104        this(alias, aliased, (Field<?>[]) null, null);
105    }
106
107    private EntityBlobAttributes(Name alias, Table<com.echothree.model.jooq.server.records.core.EntityBlobAttributes> aliased, Field<?>[] parameters, Condition where) {
108        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
109    }
110
111    /**
112     * Create an aliased <code>entityblobattributes</code> table reference
113     */
114    public EntityBlobAttributes(String alias) {
115        this(DSL.name(alias), EntityBlobAttributes);
116    }
117
118    /**
119     * Create an aliased <code>entityblobattributes</code> table reference
120     */
121    public EntityBlobAttributes(Name alias) {
122        this(alias, EntityBlobAttributes);
123    }
124
125    /**
126     * Create a <code>entityblobattributes</code> table reference
127     */
128    public EntityBlobAttributes() {
129        this(DSL.name("entityblobattributes"), null);
130    }
131
132    @Override
133    public UniqueKey<com.echothree.model.jooq.server.records.core.EntityBlobAttributes> getPrimaryKey() {
134        return KeyRegistry.ENTITY_BLOB_ATTRIBUTES_PK;
135    }
136
137    @Override
138    public List<UniqueKey<com.echothree.model.jooq.server.records.core.EntityBlobAttributes>> getUniqueKeys() {
139        return Arrays.asList(KeyRegistry.ENTITY_BLOB_ATTRIBUTES_ENTITY_ATTRIBUTE_AND_ENTITY_INSTANCE_AND_LANGUAGE_AND_THRU_TIME_UK);
140    }
141
142    @Override
143    public List<ForeignKey<com.echothree.model.jooq.server.records.core.EntityBlobAttributes, ?>> getReferences() {
144        return Arrays.asList(KeyRegistry.ENTITY_BLOB_ATTRIBUTES_ENTITY_ATTRIBUTE_FK, KeyRegistry.ENTITY_BLOB_ATTRIBUTES_ENTITY_INSTANCE_FK, KeyRegistry.ENTITY_BLOB_ATTRIBUTES_LANGUAGE_FK, KeyRegistry.ENTITY_BLOB_ATTRIBUTES_MIME_TYPE_FK);
145    }
146
147    private transient EntityAttributesPath _enba_ena_entityattributeid_fk;
148
149    /**
150     * Get the implicit join path to the <code>entityattributes</code> table.
151     */
152    public EntityAttributesPath enba_ena_entityattributeid_fk() {
153        if (_enba_ena_entityattributeid_fk == null)
154            _enba_ena_entityattributeid_fk = new EntityAttributesPath(this, KeyRegistry.ENTITY_BLOB_ATTRIBUTES_ENTITY_ATTRIBUTE_FK, null);
155
156        return _enba_ena_entityattributeid_fk;
157    }
158
159    private transient EntityInstancesPath _enba_eni_entityinstanceid_fk;
160
161    /**
162     * Get the implicit join path to the <code>entityinstances</code> table.
163     */
164    public EntityInstancesPath enba_eni_entityinstanceid_fk() {
165        if (_enba_eni_entityinstanceid_fk == null)
166            _enba_eni_entityinstanceid_fk = new EntityInstancesPath(this, KeyRegistry.ENTITY_BLOB_ATTRIBUTES_ENTITY_INSTANCE_FK, null);
167
168        return _enba_eni_entityinstanceid_fk;
169    }
170
171    private transient LanguagesPath _enba_lang_languageid_fk;
172
173    /**
174     * Get the implicit join path to the <code>languages</code> table.
175     */
176    public LanguagesPath enba_lang_languageid_fk() {
177        if (_enba_lang_languageid_fk == null)
178            _enba_lang_languageid_fk = new LanguagesPath(this, KeyRegistry.ENTITY_BLOB_ATTRIBUTES_LANGUAGE_FK, null);
179
180        return _enba_lang_languageid_fk;
181    }
182
183    private transient MimeTypesPath _enba_mtyp_mimetypeid_fk;
184
185    /**
186     * Get the implicit join path to the <code>mimetypes</code> table.
187     */
188    public MimeTypesPath enba_mtyp_mimetypeid_fk() {
189        if (_enba_mtyp_mimetypeid_fk == null)
190            _enba_mtyp_mimetypeid_fk = new MimeTypesPath(this, KeyRegistry.ENTITY_BLOB_ATTRIBUTES_MIME_TYPE_FK, null);
191
192        return _enba_mtyp_mimetypeid_fk;
193    }
194
195    @Override
196    public EntityBlobAttributes as(String alias) {
197        return new EntityBlobAttributes(DSL.name(alias), this);
198    }
199
200    @Override
201    public EntityBlobAttributes as(Name alias) {
202        return new EntityBlobAttributes(alias, this);
203    }
204
205    @Override
206    public EntityBlobAttributes as(Table<?> alias) {
207        return new EntityBlobAttributes(alias.getQualifiedName(), this);
208    }
209
210    /**
211     * Rename this table
212     */
213    @Override
214    public EntityBlobAttributes rename(String name) {
215        return new EntityBlobAttributes(DSL.name(name), null);
216    }
217
218    /**
219     * Rename this table
220     */
221    @Override
222    public EntityBlobAttributes rename(Name name) {
223        return new EntityBlobAttributes(name, null);
224    }
225
226    /**
227     * Rename this table
228     */
229    @Override
230    public EntityBlobAttributes rename(Table<?> name) {
231        return new EntityBlobAttributes(name.getQualifiedName(), null);
232    }
233
234    /**
235     * Create an inline derived table from this table
236     */
237    @Override
238    public EntityBlobAttributes where(Condition condition) {
239        return new EntityBlobAttributes(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
240    }
241
242    /**
243     * Create an inline derived table from this table
244     */
245    @Override
246    public EntityBlobAttributes where(Collection<? extends Condition> conditions) {
247        return where(DSL.and(conditions));
248    }
249
250    /**
251     * Create an inline derived table from this table
252     */
253    @Override
254    public EntityBlobAttributes where(Condition... conditions) {
255        return where(DSL.and(conditions));
256    }
257
258    /**
259     * Create an inline derived table from this table
260     */
261    @Override
262    public EntityBlobAttributes where(Field<Boolean> condition) {
263        return where(DSL.condition(condition));
264    }
265
266    /**
267     * Create an inline derived table from this table
268     */
269    @Override
270    @PlainSQL
271    public EntityBlobAttributes where(SQL condition) {
272        return where(DSL.condition(condition));
273    }
274
275    /**
276     * Create an inline derived table from this table
277     */
278    @Override
279    @PlainSQL
280    public EntityBlobAttributes where(@Stringly.SQL String condition) {
281        return where(DSL.condition(condition));
282    }
283
284    /**
285     * Create an inline derived table from this table
286     */
287    @Override
288    @PlainSQL
289    public EntityBlobAttributes where(@Stringly.SQL String condition, Object... binds) {
290        return where(DSL.condition(condition, binds));
291    }
292
293    /**
294     * Create an inline derived table from this table
295     */
296    @Override
297    @PlainSQL
298    public EntityBlobAttributes where(@Stringly.SQL String condition, QueryPart... parts) {
299        return where(DSL.condition(condition, parts));
300    }
301
302    /**
303     * Create an inline derived table from this table
304     */
305    @Override
306    public EntityBlobAttributes whereExists(TableLike<?> select) {
307        return where(DSL.exists(select));
308    }
309
310    /**
311     * Create an inline derived table from this table
312     */
313    @Override
314    public EntityBlobAttributes whereNotExists(TableLike<?> select) {
315        return where(DSL.notExists(select));
316    }
317}