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