001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.chain;
005
006
007import com.echothree.model.data.chain.common.pk.ChainInstanceDetailPK;
008import com.echothree.model.data.chain.common.pk.ChainInstancePK;
009import com.echothree.model.data.chain.common.pk.ChainPK;
010import com.echothree.model.jooq.server.KeyRegistry;
011import com.echothree.model.jooq.server.tables.chain.ChainInstances.ChainInstancesPath;
012import com.echothree.model.jooq.server.tables.chain.Chains.ChainsPath;
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 ChainInstanceDetails extends TableImpl<com.echothree.model.jooq.server.records.chain.ChainInstanceDetails> {
046
047    private static final long serialVersionUID = 1L;
048
049    /**
050     * The reference instance of <code>chaininstancedetails</code>
051     */
052    public static final ChainInstanceDetails ChainInstanceDetails = new ChainInstanceDetails();
053
054    /**
055     * The class holding records for this type
056     */
057    @Override
058    public Class<com.echothree.model.jooq.server.records.chain.ChainInstanceDetails> getRecordType() {
059        return com.echothree.model.jooq.server.records.chain.ChainInstanceDetails.class;
060    }
061
062    /**
063     * The column
064     * <code>chaininstancedetails.chnidt_chaininstancedetailid</code>.
065     */
066    public final TableField<com.echothree.model.jooq.server.records.chain.ChainInstanceDetails, ChainInstanceDetailPK> CHAIN_INSTANCE_DETAIL = createField(DSL.name("chnidt_chaininstancedetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ChainInstanceDetailPK.class, id -> new com.echothree.model.data.chain.common.pk.ChainInstanceDetailPK(id), primaryKey -> primaryKey.getEntityId()));
067
068    /**
069     * The column <code>chaininstancedetails.chnidt_chni_chaininstanceid</code>.
070     */
071    public final TableField<com.echothree.model.jooq.server.records.chain.ChainInstanceDetails, ChainInstancePK> CHAIN_INSTANCE = createField(DSL.name("chnidt_chni_chaininstanceid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ChainInstancePK.class, id -> new com.echothree.model.data.chain.common.pk.ChainInstancePK(id), primaryKey -> primaryKey.getEntityId()));
072
073    /**
074     * The column <code>chaininstancedetails.chnidt_chaininstancename</code>.
075     */
076    public final TableField<com.echothree.model.jooq.server.records.chain.ChainInstanceDetails, String> CHAIN_INSTANCE_NAME = createField(DSL.name("chnidt_chaininstancename"), SQLDataType.VARCHAR(40).nullable(false), this, "");
077
078    /**
079     * The column <code>chaininstancedetails.chnidt_chn_chainid</code>.
080     */
081    public final TableField<com.echothree.model.jooq.server.records.chain.ChainInstanceDetails, ChainPK> CHAIN = createField(DSL.name("chnidt_chn_chainid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, ChainPK.class, id -> new com.echothree.model.data.chain.common.pk.ChainPK(id), primaryKey -> primaryKey.getEntityId()));
082
083    /**
084     * The column <code>chaininstancedetails.chnidt_fromtime</code>.
085     */
086    public final TableField<com.echothree.model.jooq.server.records.chain.ChainInstanceDetails, Long> FROM_TIME = createField(DSL.name("chnidt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
087
088    /**
089     * The column <code>chaininstancedetails.chnidt_thrutime</code>.
090     */
091    public final TableField<com.echothree.model.jooq.server.records.chain.ChainInstanceDetails, Long> THRU_TIME = createField(DSL.name("chnidt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
092
093    private ChainInstanceDetails(Name alias, Table<com.echothree.model.jooq.server.records.chain.ChainInstanceDetails> aliased) {
094        this(alias, aliased, (Field<?>[]) null, null);
095    }
096
097    private ChainInstanceDetails(Name alias, Table<com.echothree.model.jooq.server.records.chain.ChainInstanceDetails> aliased, Field<?>[] parameters, Condition where) {
098        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
099    }
100
101    /**
102     * Create an aliased <code>chaininstancedetails</code> table reference
103     */
104    public ChainInstanceDetails(String alias) {
105        this(DSL.name(alias), ChainInstanceDetails);
106    }
107
108    /**
109     * Create an aliased <code>chaininstancedetails</code> table reference
110     */
111    public ChainInstanceDetails(Name alias) {
112        this(alias, ChainInstanceDetails);
113    }
114
115    /**
116     * Create a <code>chaininstancedetails</code> table reference
117     */
118    public ChainInstanceDetails() {
119        this(DSL.name("chaininstancedetails"), null);
120    }
121
122    public <O extends Record> ChainInstanceDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.chain.ChainInstanceDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.chain.ChainInstanceDetails> parentPath) {
123        super(path, childPath, parentPath, ChainInstanceDetails);
124    }
125
126    /**
127     * A subtype implementing {@link Path} for simplified path-based joins.
128     */
129    public static class ChainInstanceDetailsPath extends ChainInstanceDetails implements Path<com.echothree.model.jooq.server.records.chain.ChainInstanceDetails> {
130
131        private static final long serialVersionUID = 1L;
132        public <O extends Record> ChainInstanceDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.chain.ChainInstanceDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.chain.ChainInstanceDetails> parentPath) {
133            super(path, childPath, parentPath);
134        }
135        private ChainInstanceDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.chain.ChainInstanceDetails> aliased) {
136            super(alias, aliased);
137        }
138
139        @Override
140        public ChainInstanceDetailsPath as(String alias) {
141            return new ChainInstanceDetailsPath(DSL.name(alias), this);
142        }
143
144        @Override
145        public ChainInstanceDetailsPath as(Name alias) {
146            return new ChainInstanceDetailsPath(alias, this);
147        }
148
149        @Override
150        public ChainInstanceDetailsPath as(Table<?> alias) {
151            return new ChainInstanceDetailsPath(alias.getQualifiedName(), this);
152        }
153    }
154
155    @Override
156    public UniqueKey<com.echothree.model.jooq.server.records.chain.ChainInstanceDetails> getPrimaryKey() {
157        return KeyRegistry.CHAIN_INSTANCE_DETAILS_PK;
158    }
159
160    @Override
161    public List<UniqueKey<com.echothree.model.jooq.server.records.chain.ChainInstanceDetails>> getUniqueKeys() {
162        return Arrays.asList(KeyRegistry.CHAIN_INSTANCE_DETAILS_CHAIN_INSTANCE_AND_THRU_TIME_UK, KeyRegistry.CHAIN_INSTANCE_DETAILS_CHAIN_INSTANCE_NAME_AND_THRU_TIME_UK);
163    }
164
165    @Override
166    public List<ForeignKey<com.echothree.model.jooq.server.records.chain.ChainInstanceDetails, ?>> getReferences() {
167        return Arrays.asList(KeyRegistry.CHAIN_INSTANCE_DETAILS_CHAIN_FK, KeyRegistry.CHAIN_INSTANCE_DETAILS_CHAIN_INSTANCE_FK);
168    }
169
170    private transient ChainsPath _chnidt_chn_chainid_fk;
171
172    /**
173     * Get the implicit join path to the <code>chains</code> table.
174     */
175    public ChainsPath chnidt_chn_chainid_fk() {
176        if (_chnidt_chn_chainid_fk == null)
177            _chnidt_chn_chainid_fk = new ChainsPath(this, KeyRegistry.CHAIN_INSTANCE_DETAILS_CHAIN_FK, null);
178
179        return _chnidt_chn_chainid_fk;
180    }
181
182    private transient ChainInstancesPath _chnidt_chni_chaininstanceid_fk;
183
184    /**
185     * Get the implicit join path to the <code>chaininstances</code> table.
186     */
187    public ChainInstancesPath chnidt_chni_chaininstanceid_fk() {
188        if (_chnidt_chni_chaininstanceid_fk == null)
189            _chnidt_chni_chaininstanceid_fk = new ChainInstancesPath(this, KeyRegistry.CHAIN_INSTANCE_DETAILS_CHAIN_INSTANCE_FK, null);
190
191        return _chnidt_chni_chaininstanceid_fk;
192    }
193
194    @Override
195    public ChainInstanceDetails as(String alias) {
196        return new ChainInstanceDetails(DSL.name(alias), this);
197    }
198
199    @Override
200    public ChainInstanceDetails as(Name alias) {
201        return new ChainInstanceDetails(alias, this);
202    }
203
204    @Override
205    public ChainInstanceDetails as(Table<?> alias) {
206        return new ChainInstanceDetails(alias.getQualifiedName(), this);
207    }
208
209    /**
210     * Rename this table
211     */
212    @Override
213    public ChainInstanceDetails rename(String name) {
214        return new ChainInstanceDetails(DSL.name(name), null);
215    }
216
217    /**
218     * Rename this table
219     */
220    @Override
221    public ChainInstanceDetails rename(Name name) {
222        return new ChainInstanceDetails(name, null);
223    }
224
225    /**
226     * Rename this table
227     */
228    @Override
229    public ChainInstanceDetails rename(Table<?> name) {
230        return new ChainInstanceDetails(name.getQualifiedName(), null);
231    }
232
233    /**
234     * Create an inline derived table from this table
235     */
236    @Override
237    public ChainInstanceDetails where(Condition condition) {
238        return new ChainInstanceDetails(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 ChainInstanceDetails 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 ChainInstanceDetails 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 ChainInstanceDetails 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 ChainInstanceDetails 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 ChainInstanceDetails 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 ChainInstanceDetails 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 ChainInstanceDetails 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 ChainInstanceDetails 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 ChainInstanceDetails whereNotExists(TableLike<?> select) {
314        return where(DSL.notExists(select));
315    }
316}