001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.index;
005
006
007import com.echothree.model.data.index.common.pk.IndexDetailPK;
008import com.echothree.model.data.index.common.pk.IndexPK;
009import com.echothree.model.data.index.common.pk.IndexTypePK;
010import com.echothree.model.data.party.common.pk.LanguagePK;
011import com.echothree.model.jooq.server.KeyRegistry;
012import com.echothree.model.jooq.server.tables.index.IndexTypes.IndexTypesPath;
013import com.echothree.model.jooq.server.tables.index.Indexes.IndexesPath;
014import com.echothree.model.jooq.server.tables.party.Languages.LanguagesPath;
015
016import java.util.Arrays;
017import java.util.Collection;
018import java.util.List;
019
020import org.jooq.Condition;
021import org.jooq.Converter;
022import org.jooq.Field;
023import org.jooq.ForeignKey;
024import org.jooq.InverseForeignKey;
025import org.jooq.Name;
026import org.jooq.Path;
027import org.jooq.PlainSQL;
028import org.jooq.QueryPart;
029import org.jooq.Record;
030import org.jooq.SQL;
031import org.jooq.Stringly;
032import org.jooq.Table;
033import org.jooq.TableField;
034import org.jooq.TableLike;
035import org.jooq.TableOptions;
036import org.jooq.UniqueKey;
037import org.jooq.impl.DSL;
038import org.jooq.impl.Internal;
039import org.jooq.impl.SQLDataType;
040import org.jooq.impl.TableImpl;
041
042
043/**
044 * This class is generated by jOOQ.
045 */
046@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
047public class IndexDetails extends TableImpl<com.echothree.model.jooq.server.records.index.IndexDetails> {
048
049    private static final long serialVersionUID = 1L;
050
051    /**
052     * The reference instance of <code>indexdetails</code>
053     */
054    public static final IndexDetails IndexDetails = new IndexDetails();
055
056    /**
057     * The class holding records for this type
058     */
059    @Override
060    public Class<com.echothree.model.jooq.server.records.index.IndexDetails> getRecordType() {
061        return com.echothree.model.jooq.server.records.index.IndexDetails.class;
062    }
063
064    /**
065     * The column <code>indexdetails.idxdt_indexdetailid</code>.
066     */
067    public final TableField<com.echothree.model.jooq.server.records.index.IndexDetails, IndexDetailPK> INDEX_DETAIL = createField(DSL.name("idxdt_indexdetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, IndexDetailPK.class, id -> new com.echothree.model.data.index.common.pk.IndexDetailPK(id), primaryKey -> primaryKey.getEntityId()));
068
069    /**
070     * The column <code>indexdetails.idxdt_idx_indexid</code>.
071     */
072    public final TableField<com.echothree.model.jooq.server.records.index.IndexDetails, IndexPK> INDEX = createField(DSL.name("idxdt_idx_indexid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, IndexPK.class, id -> new com.echothree.model.data.index.common.pk.IndexPK(id), primaryKey -> primaryKey.getEntityId()));
073
074    /**
075     * The column <code>indexdetails.idxdt_indexname</code>.
076     */
077    public final TableField<com.echothree.model.jooq.server.records.index.IndexDetails, String> INDEX_NAME = createField(DSL.name("idxdt_indexname"), SQLDataType.VARCHAR(40).nullable(false), this, "");
078
079    /**
080     * The column <code>indexdetails.idxdt_idxt_indextypeid</code>.
081     */
082    public final TableField<com.echothree.model.jooq.server.records.index.IndexDetails, IndexTypePK> INDEX_TYPE = createField(DSL.name("idxdt_idxt_indextypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, IndexTypePK.class, id -> new com.echothree.model.data.index.common.pk.IndexTypePK(id), primaryKey -> primaryKey.getEntityId()));
083
084    /**
085     * The column <code>indexdetails.idxdt_lang_languageid</code>.
086     */
087    public final TableField<com.echothree.model.jooq.server.records.index.IndexDetails, LanguagePK> LANGUAGE = createField(DSL.name("idxdt_lang_languageid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, LanguagePK.class, id -> new com.echothree.model.data.party.common.pk.LanguagePK(id), primaryKey -> primaryKey.getEntityId()));
088
089    /**
090     * The column <code>indexdetails.idxdt_directory</code>.
091     */
092    public final TableField<com.echothree.model.jooq.server.records.index.IndexDetails, String> DIRECTORY = createField(DSL.name("idxdt_directory"), SQLDataType.VARCHAR(80).nullable(false), this, "");
093
094    /**
095     * The column <code>indexdetails.idxdt_isdefault</code>.
096     */
097    public final TableField<com.echothree.model.jooq.server.records.index.IndexDetails, Boolean> IS_DEFAULT = createField(DSL.name("idxdt_isdefault"), SQLDataType.BIT.nullable(false), this, "");
098
099    /**
100     * The column <code>indexdetails.idxdt_sortorder</code>.
101     */
102    public final TableField<com.echothree.model.jooq.server.records.index.IndexDetails, Integer> SORT_ORDER = createField(DSL.name("idxdt_sortorder"), SQLDataType.INTEGER.nullable(false), this, "");
103
104    /**
105     * The column <code>indexdetails.idxdt_fromtime</code>.
106     */
107    public final TableField<com.echothree.model.jooq.server.records.index.IndexDetails, Long> FROM_TIME = createField(DSL.name("idxdt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
108
109    /**
110     * The column <code>indexdetails.idxdt_thrutime</code>.
111     */
112    public final TableField<com.echothree.model.jooq.server.records.index.IndexDetails, Long> THRU_TIME = createField(DSL.name("idxdt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
113
114    private IndexDetails(Name alias, Table<com.echothree.model.jooq.server.records.index.IndexDetails> aliased) {
115        this(alias, aliased, (Field<?>[]) null, null);
116    }
117
118    private IndexDetails(Name alias, Table<com.echothree.model.jooq.server.records.index.IndexDetails> aliased, Field<?>[] parameters, Condition where) {
119        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
120    }
121
122    /**
123     * Create an aliased <code>indexdetails</code> table reference
124     */
125    public IndexDetails(String alias) {
126        this(DSL.name(alias), IndexDetails);
127    }
128
129    /**
130     * Create an aliased <code>indexdetails</code> table reference
131     */
132    public IndexDetails(Name alias) {
133        this(alias, IndexDetails);
134    }
135
136    /**
137     * Create a <code>indexdetails</code> table reference
138     */
139    public IndexDetails() {
140        this(DSL.name("indexdetails"), null);
141    }
142
143    public <O extends Record> IndexDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.index.IndexDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.index.IndexDetails> parentPath) {
144        super(path, childPath, parentPath, IndexDetails);
145    }
146
147    /**
148     * A subtype implementing {@link Path} for simplified path-based joins.
149     */
150    public static class IndexDetailsPath extends IndexDetails implements Path<com.echothree.model.jooq.server.records.index.IndexDetails> {
151
152        private static final long serialVersionUID = 1L;
153        public <O extends Record> IndexDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.index.IndexDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.index.IndexDetails> parentPath) {
154            super(path, childPath, parentPath);
155        }
156        private IndexDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.index.IndexDetails> aliased) {
157            super(alias, aliased);
158        }
159
160        @Override
161        public IndexDetailsPath as(String alias) {
162            return new IndexDetailsPath(DSL.name(alias), this);
163        }
164
165        @Override
166        public IndexDetailsPath as(Name alias) {
167            return new IndexDetailsPath(alias, this);
168        }
169
170        @Override
171        public IndexDetailsPath as(Table<?> alias) {
172            return new IndexDetailsPath(alias.getQualifiedName(), this);
173        }
174    }
175
176    @Override
177    public UniqueKey<com.echothree.model.jooq.server.records.index.IndexDetails> getPrimaryKey() {
178        return KeyRegistry.INDEX_DETAILS_PK;
179    }
180
181    @Override
182    public List<UniqueKey<com.echothree.model.jooq.server.records.index.IndexDetails>> getUniqueKeys() {
183        return Arrays.asList(KeyRegistry.INDEX_DETAILS_INDEX_AND_THRU_TIME_UK, KeyRegistry.INDEX_DETAILS_INDEX_NAME_AND_THRU_TIME_UK, KeyRegistry.INDEX_DETAILS_DIRECTORY_AND_THRU_TIME_UK, KeyRegistry.INDEX_DETAILS_INDEX_TYPE_AND_LANGUAGE_AND_THRU_TIME_UK);
184    }
185
186    @Override
187    public List<ForeignKey<com.echothree.model.jooq.server.records.index.IndexDetails, ?>> getReferences() {
188        return Arrays.asList(KeyRegistry.INDEX_DETAILS_INDEX_FK, KeyRegistry.INDEX_DETAILS_INDEX_TYPE_FK, KeyRegistry.INDEX_DETAILS_LANGUAGE_FK);
189    }
190
191    private transient IndexesPath _idxdt_idx_indexid_fk;
192
193    /**
194     * Get the implicit join path to the <code>indexes</code> table.
195     */
196    public IndexesPath idxdt_idx_indexid_fk() {
197        if (_idxdt_idx_indexid_fk == null)
198            _idxdt_idx_indexid_fk = new IndexesPath(this, KeyRegistry.INDEX_DETAILS_INDEX_FK, null);
199
200        return _idxdt_idx_indexid_fk;
201    }
202
203    private transient IndexTypesPath _idxdt_idxt_indextypeid_fk;
204
205    /**
206     * Get the implicit join path to the <code>indextypes</code> table.
207     */
208    public IndexTypesPath idxdt_idxt_indextypeid_fk() {
209        if (_idxdt_idxt_indextypeid_fk == null)
210            _idxdt_idxt_indextypeid_fk = new IndexTypesPath(this, KeyRegistry.INDEX_DETAILS_INDEX_TYPE_FK, null);
211
212        return _idxdt_idxt_indextypeid_fk;
213    }
214
215    private transient LanguagesPath _idxdt_lang_languageid_fk;
216
217    /**
218     * Get the implicit join path to the <code>languages</code> table.
219     */
220    public LanguagesPath idxdt_lang_languageid_fk() {
221        if (_idxdt_lang_languageid_fk == null)
222            _idxdt_lang_languageid_fk = new LanguagesPath(this, KeyRegistry.INDEX_DETAILS_LANGUAGE_FK, null);
223
224        return _idxdt_lang_languageid_fk;
225    }
226
227    @Override
228    public IndexDetails as(String alias) {
229        return new IndexDetails(DSL.name(alias), this);
230    }
231
232    @Override
233    public IndexDetails as(Name alias) {
234        return new IndexDetails(alias, this);
235    }
236
237    @Override
238    public IndexDetails as(Table<?> alias) {
239        return new IndexDetails(alias.getQualifiedName(), this);
240    }
241
242    /**
243     * Rename this table
244     */
245    @Override
246    public IndexDetails rename(String name) {
247        return new IndexDetails(DSL.name(name), null);
248    }
249
250    /**
251     * Rename this table
252     */
253    @Override
254    public IndexDetails rename(Name name) {
255        return new IndexDetails(name, null);
256    }
257
258    /**
259     * Rename this table
260     */
261    @Override
262    public IndexDetails rename(Table<?> name) {
263        return new IndexDetails(name.getQualifiedName(), null);
264    }
265
266    /**
267     * Create an inline derived table from this table
268     */
269    @Override
270    public IndexDetails where(Condition condition) {
271        return new IndexDetails(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
272    }
273
274    /**
275     * Create an inline derived table from this table
276     */
277    @Override
278    public IndexDetails where(Collection<? extends Condition> conditions) {
279        return where(DSL.and(conditions));
280    }
281
282    /**
283     * Create an inline derived table from this table
284     */
285    @Override
286    public IndexDetails where(Condition... conditions) {
287        return where(DSL.and(conditions));
288    }
289
290    /**
291     * Create an inline derived table from this table
292     */
293    @Override
294    public IndexDetails where(Field<Boolean> condition) {
295        return where(DSL.condition(condition));
296    }
297
298    /**
299     * Create an inline derived table from this table
300     */
301    @Override
302    @PlainSQL
303    public IndexDetails where(SQL condition) {
304        return where(DSL.condition(condition));
305    }
306
307    /**
308     * Create an inline derived table from this table
309     */
310    @Override
311    @PlainSQL
312    public IndexDetails where(@Stringly.SQL String condition) {
313        return where(DSL.condition(condition));
314    }
315
316    /**
317     * Create an inline derived table from this table
318     */
319    @Override
320    @PlainSQL
321    public IndexDetails where(@Stringly.SQL String condition, Object... binds) {
322        return where(DSL.condition(condition, binds));
323    }
324
325    /**
326     * Create an inline derived table from this table
327     */
328    @Override
329    @PlainSQL
330    public IndexDetails where(@Stringly.SQL String condition, QueryPart... parts) {
331        return where(DSL.condition(condition, parts));
332    }
333
334    /**
335     * Create an inline derived table from this table
336     */
337    @Override
338    public IndexDetails whereExists(TableLike<?> select) {
339        return where(DSL.exists(select));
340    }
341
342    /**
343     * Create an inline derived table from this table
344     */
345    @Override
346    public IndexDetails whereNotExists(TableLike<?> select) {
347        return where(DSL.notExists(select));
348    }
349}