001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.track;
005
006
007import com.echothree.model.data.track.common.pk.TrackDetailPK;
008import com.echothree.model.data.track.common.pk.TrackPK;
009import com.echothree.model.jooq.server.KeyRegistry;
010import com.echothree.model.jooq.server.tables.track.Tracks.TracksPath;
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 TrackDetails extends TableImpl<com.echothree.model.jooq.server.records.track.TrackDetails> {
044
045    private static final long serialVersionUID = 1L;
046
047    /**
048     * The reference instance of <code>trackdetails</code>
049     */
050    public static final TrackDetails TrackDetails = new TrackDetails();
051
052    /**
053     * The class holding records for this type
054     */
055    @Override
056    public Class<com.echothree.model.jooq.server.records.track.TrackDetails> getRecordType() {
057        return com.echothree.model.jooq.server.records.track.TrackDetails.class;
058    }
059
060    /**
061     * The column <code>trackdetails.trkdt_trackdetailid</code>.
062     */
063    public final TableField<com.echothree.model.jooq.server.records.track.TrackDetails, TrackDetailPK> TRACK_DETAIL = createField(DSL.name("trkdt_trackdetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, TrackDetailPK.class, id -> new com.echothree.model.data.track.common.pk.TrackDetailPK(id), primaryKey -> primaryKey.getEntityId()));
064
065    /**
066     * The column <code>trackdetails.trkdt_trk_trackid</code>.
067     */
068    public final TableField<com.echothree.model.jooq.server.records.track.TrackDetails, TrackPK> TRACK = createField(DSL.name("trkdt_trk_trackid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, TrackPK.class, id -> new com.echothree.model.data.track.common.pk.TrackPK(id), primaryKey -> primaryKey.getEntityId()));
069
070    /**
071     * The column <code>trackdetails.trkdt_trackname</code>.
072     */
073    public final TableField<com.echothree.model.jooq.server.records.track.TrackDetails, String> TRACK_NAME = createField(DSL.name("trkdt_trackname"), SQLDataType.VARCHAR(40).nullable(false), this, "");
074
075    /**
076     * The column <code>trackdetails.trkdt_valuesha1hash</code>.
077     */
078    public final TableField<com.echothree.model.jooq.server.records.track.TrackDetails, String> VALUE_SHA1_HASH = createField(DSL.name("trkdt_valuesha1hash"), SQLDataType.VARCHAR(28).nullable(false), this, "");
079
080    /**
081     * The column <code>trackdetails.trkdt_value</code>.
082     */
083    public final TableField<com.echothree.model.jooq.server.records.track.TrackDetails, String> VALUE = createField(DSL.name("trkdt_value"), SQLDataType.CLOB.nullable(false), this, "");
084
085    /**
086     * The column <code>trackdetails.trkdt_isdefault</code>.
087     */
088    public final TableField<com.echothree.model.jooq.server.records.track.TrackDetails, Boolean> IS_DEFAULT = createField(DSL.name("trkdt_isdefault"), SQLDataType.BIT.nullable(false), this, "");
089
090    /**
091     * The column <code>trackdetails.trkdt_sortorder</code>.
092     */
093    public final TableField<com.echothree.model.jooq.server.records.track.TrackDetails, Integer> SORT_ORDER = createField(DSL.name("trkdt_sortorder"), SQLDataType.INTEGER.nullable(false), this, "");
094
095    /**
096     * The column <code>trackdetails.trkdt_fromtime</code>.
097     */
098    public final TableField<com.echothree.model.jooq.server.records.track.TrackDetails, Long> FROM_TIME = createField(DSL.name("trkdt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
099
100    /**
101     * The column <code>trackdetails.trkdt_thrutime</code>.
102     */
103    public final TableField<com.echothree.model.jooq.server.records.track.TrackDetails, Long> THRU_TIME = createField(DSL.name("trkdt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
104
105    private TrackDetails(Name alias, Table<com.echothree.model.jooq.server.records.track.TrackDetails> aliased) {
106        this(alias, aliased, (Field<?>[]) null, null);
107    }
108
109    private TrackDetails(Name alias, Table<com.echothree.model.jooq.server.records.track.TrackDetails> aliased, Field<?>[] parameters, Condition where) {
110        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
111    }
112
113    /**
114     * Create an aliased <code>trackdetails</code> table reference
115     */
116    public TrackDetails(String alias) {
117        this(DSL.name(alias), TrackDetails);
118    }
119
120    /**
121     * Create an aliased <code>trackdetails</code> table reference
122     */
123    public TrackDetails(Name alias) {
124        this(alias, TrackDetails);
125    }
126
127    /**
128     * Create a <code>trackdetails</code> table reference
129     */
130    public TrackDetails() {
131        this(DSL.name("trackdetails"), null);
132    }
133
134    public <O extends Record> TrackDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.track.TrackDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.track.TrackDetails> parentPath) {
135        super(path, childPath, parentPath, TrackDetails);
136    }
137
138    /**
139     * A subtype implementing {@link Path} for simplified path-based joins.
140     */
141    public static class TrackDetailsPath extends TrackDetails implements Path<com.echothree.model.jooq.server.records.track.TrackDetails> {
142
143        private static final long serialVersionUID = 1L;
144        public <O extends Record> TrackDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.track.TrackDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.track.TrackDetails> parentPath) {
145            super(path, childPath, parentPath);
146        }
147        private TrackDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.track.TrackDetails> aliased) {
148            super(alias, aliased);
149        }
150
151        @Override
152        public TrackDetailsPath as(String alias) {
153            return new TrackDetailsPath(DSL.name(alias), this);
154        }
155
156        @Override
157        public TrackDetailsPath as(Name alias) {
158            return new TrackDetailsPath(alias, this);
159        }
160
161        @Override
162        public TrackDetailsPath as(Table<?> alias) {
163            return new TrackDetailsPath(alias.getQualifiedName(), this);
164        }
165    }
166
167    @Override
168    public UniqueKey<com.echothree.model.jooq.server.records.track.TrackDetails> getPrimaryKey() {
169        return KeyRegistry.TRACK_DETAILS_PK;
170    }
171
172    @Override
173    public List<UniqueKey<com.echothree.model.jooq.server.records.track.TrackDetails>> getUniqueKeys() {
174        return Arrays.asList(KeyRegistry.TRACK_DETAILS_TRACK_AND_THRU_TIME_UK, KeyRegistry.TRACK_DETAILS_TRACK_NAME_AND_THRU_TIME_UK, KeyRegistry.TRACK_DETAILS_VALUE_SHA1_HASH_AND_THRU_TIME_UK);
175    }
176
177    @Override
178    public List<ForeignKey<com.echothree.model.jooq.server.records.track.TrackDetails, ?>> getReferences() {
179        return Arrays.asList(KeyRegistry.TRACK_DETAILS_TRACK_FK);
180    }
181
182    private transient TracksPath _trkdt_trk_trackid_fk;
183
184    /**
185     * Get the implicit join path to the <code>tracks</code> table.
186     */
187    public TracksPath trkdt_trk_trackid_fk() {
188        if (_trkdt_trk_trackid_fk == null)
189            _trkdt_trk_trackid_fk = new TracksPath(this, KeyRegistry.TRACK_DETAILS_TRACK_FK, null);
190
191        return _trkdt_trk_trackid_fk;
192    }
193
194    @Override
195    public TrackDetails as(String alias) {
196        return new TrackDetails(DSL.name(alias), this);
197    }
198
199    @Override
200    public TrackDetails as(Name alias) {
201        return new TrackDetails(alias, this);
202    }
203
204    @Override
205    public TrackDetails as(Table<?> alias) {
206        return new TrackDetails(alias.getQualifiedName(), this);
207    }
208
209    /**
210     * Rename this table
211     */
212    @Override
213    public TrackDetails rename(String name) {
214        return new TrackDetails(DSL.name(name), null);
215    }
216
217    /**
218     * Rename this table
219     */
220    @Override
221    public TrackDetails rename(Name name) {
222        return new TrackDetails(name, null);
223    }
224
225    /**
226     * Rename this table
227     */
228    @Override
229    public TrackDetails rename(Table<?> name) {
230        return new TrackDetails(name.getQualifiedName(), null);
231    }
232
233    /**
234     * Create an inline derived table from this table
235     */
236    @Override
237    public TrackDetails where(Condition condition) {
238        return new TrackDetails(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
239    }
240
241    /**
242     * Create an inline derived table from this table
243     */
244    @Override
245    public TrackDetails where(Collection<? extends Condition> conditions) {
246        return where(DSL.and(conditions));
247    }
248
249    /**
250     * Create an inline derived table from this table
251     */
252    @Override
253    public TrackDetails where(Condition... conditions) {
254        return where(DSL.and(conditions));
255    }
256
257    /**
258     * Create an inline derived table from this table
259     */
260    @Override
261    public TrackDetails where(Field<Boolean> condition) {
262        return where(DSL.condition(condition));
263    }
264
265    /**
266     * Create an inline derived table from this table
267     */
268    @Override
269    @PlainSQL
270    public TrackDetails where(SQL condition) {
271        return where(DSL.condition(condition));
272    }
273
274    /**
275     * Create an inline derived table from this table
276     */
277    @Override
278    @PlainSQL
279    public TrackDetails where(@Stringly.SQL String condition) {
280        return where(DSL.condition(condition));
281    }
282
283    /**
284     * Create an inline derived table from this table
285     */
286    @Override
287    @PlainSQL
288    public TrackDetails where(@Stringly.SQL String condition, Object... binds) {
289        return where(DSL.condition(condition, binds));
290    }
291
292    /**
293     * Create an inline derived table from this table
294     */
295    @Override
296    @PlainSQL
297    public TrackDetails where(@Stringly.SQL String condition, QueryPart... parts) {
298        return where(DSL.condition(condition, parts));
299    }
300
301    /**
302     * Create an inline derived table from this table
303     */
304    @Override
305    public TrackDetails whereExists(TableLike<?> select) {
306        return where(DSL.exists(select));
307    }
308
309    /**
310     * Create an inline derived table from this table
311     */
312    @Override
313    public TrackDetails whereNotExists(TableLike<?> select) {
314        return where(DSL.notExists(select));
315    }
316}