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.EntityAttributeGroupDetailPK;
008import com.echothree.model.data.core.common.pk.EntityAttributeGroupPK;
009import com.echothree.model.data.core.common.pk.EntityTypePK;
010import com.echothree.model.jooq.server.KeyRegistry;
011import com.echothree.model.jooq.server.tables.core.EntityAttributeGroups.EntityAttributeGroupsPath;
012import com.echothree.model.jooq.server.tables.core.EntityTypes.EntityTypesPath;
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.InverseForeignKey;
023import org.jooq.Name;
024import org.jooq.Path;
025import org.jooq.PlainSQL;
026import org.jooq.QueryPart;
027import org.jooq.Record;
028import org.jooq.SQL;
029import org.jooq.Stringly;
030import org.jooq.Table;
031import org.jooq.TableField;
032import org.jooq.TableLike;
033import org.jooq.TableOptions;
034import org.jooq.UniqueKey;
035import org.jooq.impl.DSL;
036import org.jooq.impl.Internal;
037import org.jooq.impl.SQLDataType;
038import org.jooq.impl.TableImpl;
039
040
041/**
042 * This class is generated by jOOQ.
043 */
044@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
045public class EntityAttributeGroupDetails extends TableImpl<com.echothree.model.jooq.server.records.core.EntityAttributeGroupDetails> {
046
047    private static final long serialVersionUID = 1L;
048
049    /**
050     * The reference instance of <code>entityattributegroupdetails</code>
051     */
052    public static final EntityAttributeGroupDetails EntityAttributeGroupDetails = new EntityAttributeGroupDetails();
053
054    /**
055     * The class holding records for this type
056     */
057    @Override
058    public Class<com.echothree.model.jooq.server.records.core.EntityAttributeGroupDetails> getRecordType() {
059        return com.echothree.model.jooq.server.records.core.EntityAttributeGroupDetails.class;
060    }
061
062    /**
063     * The column
064     * <code>entityattributegroupdetails.enagpdt_entityattributegroupdetailid</code>.
065     */
066    public final TableField<com.echothree.model.jooq.server.records.core.EntityAttributeGroupDetails, EntityAttributeGroupDetailPK> ENTITY_ATTRIBUTE_GROUP_DETAIL = createField(DSL.name("enagpdt_entityattributegroupdetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, EntityAttributeGroupDetailPK.class, id -> new com.echothree.model.data.core.common.pk.EntityAttributeGroupDetailPK(id), primaryKey -> primaryKey.getEntityId()));
067
068    /**
069     * The column
070     * <code>entityattributegroupdetails.enagpdt_enagp_entityattributegroupid</code>.
071     */
072    public final TableField<com.echothree.model.jooq.server.records.core.EntityAttributeGroupDetails, EntityAttributeGroupPK> ENTITY_ATTRIBUTE_GROUP = createField(DSL.name("enagpdt_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()));
073
074    /**
075     * The column
076     * <code>entityattributegroupdetails.enagpdt_ent_entitytypeid</code>.
077     */
078    public final TableField<com.echothree.model.jooq.server.records.core.EntityAttributeGroupDetails, EntityTypePK> ENTITY_TYPE = createField(DSL.name("enagpdt_ent_entitytypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, EntityTypePK.class, id -> new com.echothree.model.data.core.common.pk.EntityTypePK(id), primaryKey -> primaryKey.getEntityId()));
079
080    /**
081     * The column
082     * <code>entityattributegroupdetails.enagpdt_entityattributegroupname</code>.
083     */
084    public final TableField<com.echothree.model.jooq.server.records.core.EntityAttributeGroupDetails, String> ENTITY_ATTRIBUTE_GROUP_NAME = createField(DSL.name("enagpdt_entityattributegroupname"), SQLDataType.VARCHAR(40).nullable(false), this, "");
085
086    /**
087     * The column <code>entityattributegroupdetails.enagpdt_isdefault</code>.
088     */
089    public final TableField<com.echothree.model.jooq.server.records.core.EntityAttributeGroupDetails, Boolean> IS_DEFAULT = createField(DSL.name("enagpdt_isdefault"), SQLDataType.BIT.nullable(false), this, "");
090
091    /**
092     * The column <code>entityattributegroupdetails.enagpdt_sortorder</code>.
093     */
094    public final TableField<com.echothree.model.jooq.server.records.core.EntityAttributeGroupDetails, Integer> SORT_ORDER = createField(DSL.name("enagpdt_sortorder"), SQLDataType.INTEGER.nullable(false), this, "");
095
096    /**
097     * The column <code>entityattributegroupdetails.enagpdt_fromtime</code>.
098     */
099    public final TableField<com.echothree.model.jooq.server.records.core.EntityAttributeGroupDetails, Long> FROM_TIME = createField(DSL.name("enagpdt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
100
101    /**
102     * The column <code>entityattributegroupdetails.enagpdt_thrutime</code>.
103     */
104    public final TableField<com.echothree.model.jooq.server.records.core.EntityAttributeGroupDetails, Long> THRU_TIME = createField(DSL.name("enagpdt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
105
106    private EntityAttributeGroupDetails(Name alias, Table<com.echothree.model.jooq.server.records.core.EntityAttributeGroupDetails> aliased) {
107        this(alias, aliased, (Field<?>[]) null, null);
108    }
109
110    private EntityAttributeGroupDetails(Name alias, Table<com.echothree.model.jooq.server.records.core.EntityAttributeGroupDetails> aliased, Field<?>[] parameters, Condition where) {
111        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
112    }
113
114    /**
115     * Create an aliased <code>entityattributegroupdetails</code> table
116     * reference
117     */
118    public EntityAttributeGroupDetails(String alias) {
119        this(DSL.name(alias), EntityAttributeGroupDetails);
120    }
121
122    /**
123     * Create an aliased <code>entityattributegroupdetails</code> table
124     * reference
125     */
126    public EntityAttributeGroupDetails(Name alias) {
127        this(alias, EntityAttributeGroupDetails);
128    }
129
130    /**
131     * Create a <code>entityattributegroupdetails</code> table reference
132     */
133    public EntityAttributeGroupDetails() {
134        this(DSL.name("entityattributegroupdetails"), null);
135    }
136
137    public <O extends Record> EntityAttributeGroupDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.core.EntityAttributeGroupDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.core.EntityAttributeGroupDetails> parentPath) {
138        super(path, childPath, parentPath, EntityAttributeGroupDetails);
139    }
140
141    /**
142     * A subtype implementing {@link Path} for simplified path-based joins.
143     */
144    public static class EntityAttributeGroupDetailsPath extends EntityAttributeGroupDetails implements Path<com.echothree.model.jooq.server.records.core.EntityAttributeGroupDetails> {
145
146        private static final long serialVersionUID = 1L;
147        public <O extends Record> EntityAttributeGroupDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.core.EntityAttributeGroupDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.core.EntityAttributeGroupDetails> parentPath) {
148            super(path, childPath, parentPath);
149        }
150        private EntityAttributeGroupDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.core.EntityAttributeGroupDetails> aliased) {
151            super(alias, aliased);
152        }
153
154        @Override
155        public EntityAttributeGroupDetailsPath as(String alias) {
156            return new EntityAttributeGroupDetailsPath(DSL.name(alias), this);
157        }
158
159        @Override
160        public EntityAttributeGroupDetailsPath as(Name alias) {
161            return new EntityAttributeGroupDetailsPath(alias, this);
162        }
163
164        @Override
165        public EntityAttributeGroupDetailsPath as(Table<?> alias) {
166            return new EntityAttributeGroupDetailsPath(alias.getQualifiedName(), this);
167        }
168    }
169
170    @Override
171    public UniqueKey<com.echothree.model.jooq.server.records.core.EntityAttributeGroupDetails> getPrimaryKey() {
172        return KeyRegistry.ENTITY_ATTRIBUTE_GROUP_DETAILS_PK;
173    }
174
175    @Override
176    public List<UniqueKey<com.echothree.model.jooq.server.records.core.EntityAttributeGroupDetails>> getUniqueKeys() {
177        return Arrays.asList(KeyRegistry.ENTITY_ATTRIBUTE_GROUP_DETAILS_ENTITY_ATTRIBUTE_GROUP_AND_THRU_TIME_UK, KeyRegistry.ENTITY_ATTRIBUTE_GROUP_DETAILS_ENTITY_TYPE_AND_ENTITY_ATTRIBUTE_GROUP_NAME_AND_THRU_TIME_UK);
178    }
179
180    @Override
181    public List<ForeignKey<com.echothree.model.jooq.server.records.core.EntityAttributeGroupDetails, ?>> getReferences() {
182        return Arrays.asList(KeyRegistry.ENTITY_ATTRIBUTE_GROUP_DETAILS_ENTITY_ATTRIBUTE_GROUP_FK, KeyRegistry.ENTITY_ATTRIBUTE_GROUP_DETAILS_ENTITY_TYPE_FK);
183    }
184
185    private transient EntityAttributeGroupsPath _enagpdt_enagp_entityattributegroupid_fk;
186
187    /**
188     * Get the implicit join path to the <code>entityattributegroups</code>
189     * table.
190     */
191    public EntityAttributeGroupsPath enagpdt_enagp_entityattributegroupid_fk() {
192        if (_enagpdt_enagp_entityattributegroupid_fk == null)
193            _enagpdt_enagp_entityattributegroupid_fk = new EntityAttributeGroupsPath(this, KeyRegistry.ENTITY_ATTRIBUTE_GROUP_DETAILS_ENTITY_ATTRIBUTE_GROUP_FK, null);
194
195        return _enagpdt_enagp_entityattributegroupid_fk;
196    }
197
198    private transient EntityTypesPath _enagpdt_ent_entitytypeid_fk;
199
200    /**
201     * Get the implicit join path to the <code>entitytypes</code> table.
202     */
203    public EntityTypesPath enagpdt_ent_entitytypeid_fk() {
204        if (_enagpdt_ent_entitytypeid_fk == null)
205            _enagpdt_ent_entitytypeid_fk = new EntityTypesPath(this, KeyRegistry.ENTITY_ATTRIBUTE_GROUP_DETAILS_ENTITY_TYPE_FK, null);
206
207        return _enagpdt_ent_entitytypeid_fk;
208    }
209
210    @Override
211    public EntityAttributeGroupDetails as(String alias) {
212        return new EntityAttributeGroupDetails(DSL.name(alias), this);
213    }
214
215    @Override
216    public EntityAttributeGroupDetails as(Name alias) {
217        return new EntityAttributeGroupDetails(alias, this);
218    }
219
220    @Override
221    public EntityAttributeGroupDetails as(Table<?> alias) {
222        return new EntityAttributeGroupDetails(alias.getQualifiedName(), this);
223    }
224
225    /**
226     * Rename this table
227     */
228    @Override
229    public EntityAttributeGroupDetails rename(String name) {
230        return new EntityAttributeGroupDetails(DSL.name(name), null);
231    }
232
233    /**
234     * Rename this table
235     */
236    @Override
237    public EntityAttributeGroupDetails rename(Name name) {
238        return new EntityAttributeGroupDetails(name, null);
239    }
240
241    /**
242     * Rename this table
243     */
244    @Override
245    public EntityAttributeGroupDetails rename(Table<?> name) {
246        return new EntityAttributeGroupDetails(name.getQualifiedName(), null);
247    }
248
249    /**
250     * Create an inline derived table from this table
251     */
252    @Override
253    public EntityAttributeGroupDetails where(Condition condition) {
254        return new EntityAttributeGroupDetails(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
255    }
256
257    /**
258     * Create an inline derived table from this table
259     */
260    @Override
261    public EntityAttributeGroupDetails where(Collection<? extends Condition> conditions) {
262        return where(DSL.and(conditions));
263    }
264
265    /**
266     * Create an inline derived table from this table
267     */
268    @Override
269    public EntityAttributeGroupDetails where(Condition... conditions) {
270        return where(DSL.and(conditions));
271    }
272
273    /**
274     * Create an inline derived table from this table
275     */
276    @Override
277    public EntityAttributeGroupDetails where(Field<Boolean> condition) {
278        return where(DSL.condition(condition));
279    }
280
281    /**
282     * Create an inline derived table from this table
283     */
284    @Override
285    @PlainSQL
286    public EntityAttributeGroupDetails where(SQL condition) {
287        return where(DSL.condition(condition));
288    }
289
290    /**
291     * Create an inline derived table from this table
292     */
293    @Override
294    @PlainSQL
295    public EntityAttributeGroupDetails where(@Stringly.SQL String condition) {
296        return where(DSL.condition(condition));
297    }
298
299    /**
300     * Create an inline derived table from this table
301     */
302    @Override
303    @PlainSQL
304    public EntityAttributeGroupDetails where(@Stringly.SQL String condition, Object... binds) {
305        return where(DSL.condition(condition, binds));
306    }
307
308    /**
309     * Create an inline derived table from this table
310     */
311    @Override
312    @PlainSQL
313    public EntityAttributeGroupDetails where(@Stringly.SQL String condition, QueryPart... parts) {
314        return where(DSL.condition(condition, parts));
315    }
316
317    /**
318     * Create an inline derived table from this table
319     */
320    @Override
321    public EntityAttributeGroupDetails whereExists(TableLike<?> select) {
322        return where(DSL.exists(select));
323    }
324
325    /**
326     * Create an inline derived table from this table
327     */
328    @Override
329    public EntityAttributeGroupDetails whereNotExists(TableLike<?> select) {
330        return where(DSL.notExists(select));
331    }
332}