001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.selector;
005
006
007import com.echothree.model.data.selector.common.pk.SelectorNodeDetailPK;
008import com.echothree.model.data.selector.common.pk.SelectorNodePK;
009import com.echothree.model.data.selector.common.pk.SelectorNodeTypePK;
010import com.echothree.model.data.selector.common.pk.SelectorPK;
011import com.echothree.model.jooq.server.KeyRegistry;
012import com.echothree.model.jooq.server.tables.selector.SelectorNodeTypes.SelectorNodeTypesPath;
013import com.echothree.model.jooq.server.tables.selector.SelectorNodes.SelectorNodesPath;
014import com.echothree.model.jooq.server.tables.selector.Selectors.SelectorsPath;
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 SelectorNodeDetails extends TableImpl<com.echothree.model.jooq.server.records.selector.SelectorNodeDetails> {
048
049    private static final long serialVersionUID = 1L;
050
051    /**
052     * The reference instance of <code>selectornodedetails</code>
053     */
054    public static final SelectorNodeDetails SelectorNodeDetails = new SelectorNodeDetails();
055
056    /**
057     * The class holding records for this type
058     */
059    @Override
060    public Class<com.echothree.model.jooq.server.records.selector.SelectorNodeDetails> getRecordType() {
061        return com.echothree.model.jooq.server.records.selector.SelectorNodeDetails.class;
062    }
063
064    /**
065     * The column <code>selectornodedetails.slnddt_selectornodedetailid</code>.
066     */
067    public final TableField<com.echothree.model.jooq.server.records.selector.SelectorNodeDetails, SelectorNodeDetailPK> SELECTOR_NODE_DETAIL = createField(DSL.name("slnddt_selectornodedetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, SelectorNodeDetailPK.class, id -> new com.echothree.model.data.selector.common.pk.SelectorNodeDetailPK(id), primaryKey -> primaryKey.getEntityId()));
068
069    /**
070     * The column <code>selectornodedetails.slnddt_slnd_selectornodeid</code>.
071     */
072    public final TableField<com.echothree.model.jooq.server.records.selector.SelectorNodeDetails, SelectorNodePK> SELECTOR_NODE = createField(DSL.name("slnddt_slnd_selectornodeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, SelectorNodePK.class, id -> new com.echothree.model.data.selector.common.pk.SelectorNodePK(id), primaryKey -> primaryKey.getEntityId()));
073
074    /**
075     * The column <code>selectornodedetails.slnddt_sl_selectorid</code>.
076     */
077    public final TableField<com.echothree.model.jooq.server.records.selector.SelectorNodeDetails, SelectorPK> SELECTOR = createField(DSL.name("slnddt_sl_selectorid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, SelectorPK.class, id -> new com.echothree.model.data.selector.common.pk.SelectorPK(id), primaryKey -> primaryKey.getEntityId()));
078
079    /**
080     * The column <code>selectornodedetails.slnddt_selectornodename</code>.
081     */
082    public final TableField<com.echothree.model.jooq.server.records.selector.SelectorNodeDetails, String> SELECTOR_NODE_NAME = createField(DSL.name("slnddt_selectornodename"), SQLDataType.VARCHAR(40).nullable(false), this, "");
083
084    /**
085     * The column <code>selectornodedetails.slnddt_isrootselectornode</code>.
086     */
087    public final TableField<com.echothree.model.jooq.server.records.selector.SelectorNodeDetails, Boolean> IS_ROOT_SELECTOR_NODE = createField(DSL.name("slnddt_isrootselectornode"), SQLDataType.BIT.nullable(false), this, "");
088
089    /**
090     * The column
091     * <code>selectornodedetails.slnddt_slnt_selectornodetypeid</code>.
092     */
093    public final TableField<com.echothree.model.jooq.server.records.selector.SelectorNodeDetails, SelectorNodeTypePK> SELECTOR_NODE_TYPE = createField(DSL.name("slnddt_slnt_selectornodetypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, SelectorNodeTypePK.class, id -> new com.echothree.model.data.selector.common.pk.SelectorNodeTypePK(id), primaryKey -> primaryKey.getEntityId()));
094
095    /**
096     * The column <code>selectornodedetails.slnddt_negate</code>.
097     */
098    public final TableField<com.echothree.model.jooq.server.records.selector.SelectorNodeDetails, Boolean> NEGATE = createField(DSL.name("slnddt_negate"), SQLDataType.BIT.nullable(false), this, "");
099
100    /**
101     * The column <code>selectornodedetails.slnddt_fromtime</code>.
102     */
103    public final TableField<com.echothree.model.jooq.server.records.selector.SelectorNodeDetails, Long> FROM_TIME = createField(DSL.name("slnddt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
104
105    /**
106     * The column <code>selectornodedetails.slnddt_thrutime</code>.
107     */
108    public final TableField<com.echothree.model.jooq.server.records.selector.SelectorNodeDetails, Long> THRU_TIME = createField(DSL.name("slnddt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
109
110    private SelectorNodeDetails(Name alias, Table<com.echothree.model.jooq.server.records.selector.SelectorNodeDetails> aliased) {
111        this(alias, aliased, (Field<?>[]) null, null);
112    }
113
114    private SelectorNodeDetails(Name alias, Table<com.echothree.model.jooq.server.records.selector.SelectorNodeDetails> aliased, Field<?>[] parameters, Condition where) {
115        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
116    }
117
118    /**
119     * Create an aliased <code>selectornodedetails</code> table reference
120     */
121    public SelectorNodeDetails(String alias) {
122        this(DSL.name(alias), SelectorNodeDetails);
123    }
124
125    /**
126     * Create an aliased <code>selectornodedetails</code> table reference
127     */
128    public SelectorNodeDetails(Name alias) {
129        this(alias, SelectorNodeDetails);
130    }
131
132    /**
133     * Create a <code>selectornodedetails</code> table reference
134     */
135    public SelectorNodeDetails() {
136        this(DSL.name("selectornodedetails"), null);
137    }
138
139    public <O extends Record> SelectorNodeDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.selector.SelectorNodeDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.selector.SelectorNodeDetails> parentPath) {
140        super(path, childPath, parentPath, SelectorNodeDetails);
141    }
142
143    /**
144     * A subtype implementing {@link Path} for simplified path-based joins.
145     */
146    public static class SelectorNodeDetailsPath extends SelectorNodeDetails implements Path<com.echothree.model.jooq.server.records.selector.SelectorNodeDetails> {
147
148        private static final long serialVersionUID = 1L;
149        public <O extends Record> SelectorNodeDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.selector.SelectorNodeDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.selector.SelectorNodeDetails> parentPath) {
150            super(path, childPath, parentPath);
151        }
152        private SelectorNodeDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.selector.SelectorNodeDetails> aliased) {
153            super(alias, aliased);
154        }
155
156        @Override
157        public SelectorNodeDetailsPath as(String alias) {
158            return new SelectorNodeDetailsPath(DSL.name(alias), this);
159        }
160
161        @Override
162        public SelectorNodeDetailsPath as(Name alias) {
163            return new SelectorNodeDetailsPath(alias, this);
164        }
165
166        @Override
167        public SelectorNodeDetailsPath as(Table<?> alias) {
168            return new SelectorNodeDetailsPath(alias.getQualifiedName(), this);
169        }
170    }
171
172    @Override
173    public UniqueKey<com.echothree.model.jooq.server.records.selector.SelectorNodeDetails> getPrimaryKey() {
174        return KeyRegistry.SELECTOR_NODE_DETAILS_PK;
175    }
176
177    @Override
178    public List<UniqueKey<com.echothree.model.jooq.server.records.selector.SelectorNodeDetails>> getUniqueKeys() {
179        return Arrays.asList(KeyRegistry.SELECTOR_NODE_DETAILS_SELECTOR_AND_SELECTOR_NODE_NAME_AND_THRU_TIME_UK, KeyRegistry.SELECTOR_NODE_DETAILS_SELECTOR_NODE_AND_THRU_TIME_UK);
180    }
181
182    @Override
183    public List<ForeignKey<com.echothree.model.jooq.server.records.selector.SelectorNodeDetails, ?>> getReferences() {
184        return Arrays.asList(KeyRegistry.SELECTOR_NODE_DETAILS_SELECTOR_FK, KeyRegistry.SELECTOR_NODE_DETAILS_SELECTOR_NODE_FK, KeyRegistry.SELECTOR_NODE_DETAILS_SELECTOR_NODE_TYPE_FK);
185    }
186
187    private transient SelectorsPath _slnddt_sl_selectorid_fk;
188
189    /**
190     * Get the implicit join path to the <code>selectors</code> table.
191     */
192    public SelectorsPath slnddt_sl_selectorid_fk() {
193        if (_slnddt_sl_selectorid_fk == null)
194            _slnddt_sl_selectorid_fk = new SelectorsPath(this, KeyRegistry.SELECTOR_NODE_DETAILS_SELECTOR_FK, null);
195
196        return _slnddt_sl_selectorid_fk;
197    }
198
199    private transient SelectorNodesPath _slnddt_slnd_selectornodeid_fk;
200
201    /**
202     * Get the implicit join path to the <code>selectornodes</code> table.
203     */
204    public SelectorNodesPath slnddt_slnd_selectornodeid_fk() {
205        if (_slnddt_slnd_selectornodeid_fk == null)
206            _slnddt_slnd_selectornodeid_fk = new SelectorNodesPath(this, KeyRegistry.SELECTOR_NODE_DETAILS_SELECTOR_NODE_FK, null);
207
208        return _slnddt_slnd_selectornodeid_fk;
209    }
210
211    private transient SelectorNodeTypesPath _slnddt_slnt_selectornodetypeid_fk;
212
213    /**
214     * Get the implicit join path to the <code>selectornodetypes</code> table.
215     */
216    public SelectorNodeTypesPath slnddt_slnt_selectornodetypeid_fk() {
217        if (_slnddt_slnt_selectornodetypeid_fk == null)
218            _slnddt_slnt_selectornodetypeid_fk = new SelectorNodeTypesPath(this, KeyRegistry.SELECTOR_NODE_DETAILS_SELECTOR_NODE_TYPE_FK, null);
219
220        return _slnddt_slnt_selectornodetypeid_fk;
221    }
222
223    @Override
224    public SelectorNodeDetails as(String alias) {
225        return new SelectorNodeDetails(DSL.name(alias), this);
226    }
227
228    @Override
229    public SelectorNodeDetails as(Name alias) {
230        return new SelectorNodeDetails(alias, this);
231    }
232
233    @Override
234    public SelectorNodeDetails as(Table<?> alias) {
235        return new SelectorNodeDetails(alias.getQualifiedName(), this);
236    }
237
238    /**
239     * Rename this table
240     */
241    @Override
242    public SelectorNodeDetails rename(String name) {
243        return new SelectorNodeDetails(DSL.name(name), null);
244    }
245
246    /**
247     * Rename this table
248     */
249    @Override
250    public SelectorNodeDetails rename(Name name) {
251        return new SelectorNodeDetails(name, null);
252    }
253
254    /**
255     * Rename this table
256     */
257    @Override
258    public SelectorNodeDetails rename(Table<?> name) {
259        return new SelectorNodeDetails(name.getQualifiedName(), null);
260    }
261
262    /**
263     * Create an inline derived table from this table
264     */
265    @Override
266    public SelectorNodeDetails where(Condition condition) {
267        return new SelectorNodeDetails(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
268    }
269
270    /**
271     * Create an inline derived table from this table
272     */
273    @Override
274    public SelectorNodeDetails where(Collection<? extends Condition> conditions) {
275        return where(DSL.and(conditions));
276    }
277
278    /**
279     * Create an inline derived table from this table
280     */
281    @Override
282    public SelectorNodeDetails where(Condition... conditions) {
283        return where(DSL.and(conditions));
284    }
285
286    /**
287     * Create an inline derived table from this table
288     */
289    @Override
290    public SelectorNodeDetails where(Field<Boolean> condition) {
291        return where(DSL.condition(condition));
292    }
293
294    /**
295     * Create an inline derived table from this table
296     */
297    @Override
298    @PlainSQL
299    public SelectorNodeDetails where(SQL condition) {
300        return where(DSL.condition(condition));
301    }
302
303    /**
304     * Create an inline derived table from this table
305     */
306    @Override
307    @PlainSQL
308    public SelectorNodeDetails where(@Stringly.SQL String condition) {
309        return where(DSL.condition(condition));
310    }
311
312    /**
313     * Create an inline derived table from this table
314     */
315    @Override
316    @PlainSQL
317    public SelectorNodeDetails where(@Stringly.SQL String condition, Object... binds) {
318        return where(DSL.condition(condition, binds));
319    }
320
321    /**
322     * Create an inline derived table from this table
323     */
324    @Override
325    @PlainSQL
326    public SelectorNodeDetails where(@Stringly.SQL String condition, QueryPart... parts) {
327        return where(DSL.condition(condition, parts));
328    }
329
330    /**
331     * Create an inline derived table from this table
332     */
333    @Override
334    public SelectorNodeDetails whereExists(TableLike<?> select) {
335        return where(DSL.exists(select));
336    }
337
338    /**
339     * Create an inline derived table from this table
340     */
341    @Override
342    public SelectorNodeDetails whereNotExists(TableLike<?> select) {
343        return where(DSL.notExists(select));
344    }
345}