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