001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.workflow;
005
006
007import com.echothree.model.data.workflow.common.pk.WorkflowPK;
008import com.echothree.model.data.workflow.common.pk.WorkflowStepDetailPK;
009import com.echothree.model.data.workflow.common.pk.WorkflowStepPK;
010import com.echothree.model.data.workflow.common.pk.WorkflowStepTypePK;
011import com.echothree.model.jooq.server.KeyRegistry;
012import com.echothree.model.jooq.server.tables.workflow.WorkflowStepTypes.WorkflowStepTypesPath;
013import com.echothree.model.jooq.server.tables.workflow.WorkflowSteps.WorkflowStepsPath;
014import com.echothree.model.jooq.server.tables.workflow.Workflows.WorkflowsPath;
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 WorkflowStepDetails extends TableImpl<com.echothree.model.jooq.server.records.workflow.WorkflowStepDetails> {
048
049    private static final long serialVersionUID = 1L;
050
051    /**
052     * The reference instance of <code>workflowstepdetails</code>
053     */
054    public static final WorkflowStepDetails WorkflowStepDetails = new WorkflowStepDetails();
055
056    /**
057     * The class holding records for this type
058     */
059    @Override
060    public Class<com.echothree.model.jooq.server.records.workflow.WorkflowStepDetails> getRecordType() {
061        return com.echothree.model.jooq.server.records.workflow.WorkflowStepDetails.class;
062    }
063
064    /**
065     * The column <code>workflowstepdetails.wkflsdt_workflowstepdetailid</code>.
066     */
067    public final TableField<com.echothree.model.jooq.server.records.workflow.WorkflowStepDetails, WorkflowStepDetailPK> WORKFLOW_STEP_DETAIL = createField(DSL.name("wkflsdt_workflowstepdetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, WorkflowStepDetailPK.class, id -> new com.echothree.model.data.workflow.common.pk.WorkflowStepDetailPK(id), primaryKey -> primaryKey.getEntityId()));
068
069    /**
070     * The column <code>workflowstepdetails.wkflsdt_wkfls_workflowstepid</code>.
071     */
072    public final TableField<com.echothree.model.jooq.server.records.workflow.WorkflowStepDetails, WorkflowStepPK> WORKFLOW_STEP = createField(DSL.name("wkflsdt_wkfls_workflowstepid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, WorkflowStepPK.class, id -> new com.echothree.model.data.workflow.common.pk.WorkflowStepPK(id), primaryKey -> primaryKey.getEntityId()));
073
074    /**
075     * The column <code>workflowstepdetails.wkflsdt_wkfl_workflowid</code>.
076     */
077    public final TableField<com.echothree.model.jooq.server.records.workflow.WorkflowStepDetails, WorkflowPK> WORKFLOW = createField(DSL.name("wkflsdt_wkfl_workflowid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, WorkflowPK.class, id -> new com.echothree.model.data.workflow.common.pk.WorkflowPK(id), primaryKey -> primaryKey.getEntityId()));
078
079    /**
080     * The column <code>workflowstepdetails.wkflsdt_workflowstepname</code>.
081     */
082    public final TableField<com.echothree.model.jooq.server.records.workflow.WorkflowStepDetails, String> WORKFLOW_STEP_NAME = createField(DSL.name("wkflsdt_workflowstepname"), SQLDataType.VARCHAR(40).nullable(false), this, "");
083
084    /**
085     * The column
086     * <code>workflowstepdetails.wkflsdt_wkflst_workflowsteptypeid</code>.
087     */
088    public final TableField<com.echothree.model.jooq.server.records.workflow.WorkflowStepDetails, WorkflowStepTypePK> WORKFLOW_STEP_TYPE = createField(DSL.name("wkflsdt_wkflst_workflowsteptypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, WorkflowStepTypePK.class, id -> new com.echothree.model.data.workflow.common.pk.WorkflowStepTypePK(id), primaryKey -> primaryKey.getEntityId()));
089
090    /**
091     * The column <code>workflowstepdetails.wkflsdt_isdefault</code>.
092     */
093    public final TableField<com.echothree.model.jooq.server.records.workflow.WorkflowStepDetails, Boolean> IS_DEFAULT = createField(DSL.name("wkflsdt_isdefault"), SQLDataType.BIT.nullable(false), this, "");
094
095    /**
096     * The column <code>workflowstepdetails.wkflsdt_sortorder</code>.
097     */
098    public final TableField<com.echothree.model.jooq.server.records.workflow.WorkflowStepDetails, Integer> SORT_ORDER = createField(DSL.name("wkflsdt_sortorder"), SQLDataType.INTEGER.nullable(false), this, "");
099
100    /**
101     * The column <code>workflowstepdetails.wkflsdt_fromtime</code>.
102     */
103    public final TableField<com.echothree.model.jooq.server.records.workflow.WorkflowStepDetails, Long> FROM_TIME = createField(DSL.name("wkflsdt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
104
105    /**
106     * The column <code>workflowstepdetails.wkflsdt_thrutime</code>.
107     */
108    public final TableField<com.echothree.model.jooq.server.records.workflow.WorkflowStepDetails, Long> THRU_TIME = createField(DSL.name("wkflsdt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
109
110    private WorkflowStepDetails(Name alias, Table<com.echothree.model.jooq.server.records.workflow.WorkflowStepDetails> aliased) {
111        this(alias, aliased, (Field<?>[]) null, null);
112    }
113
114    private WorkflowStepDetails(Name alias, Table<com.echothree.model.jooq.server.records.workflow.WorkflowStepDetails> aliased, Field<?>[] parameters, Condition where) {
115        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
116    }
117
118    /**
119     * Create an aliased <code>workflowstepdetails</code> table reference
120     */
121    public WorkflowStepDetails(String alias) {
122        this(DSL.name(alias), WorkflowStepDetails);
123    }
124
125    /**
126     * Create an aliased <code>workflowstepdetails</code> table reference
127     */
128    public WorkflowStepDetails(Name alias) {
129        this(alias, WorkflowStepDetails);
130    }
131
132    /**
133     * Create a <code>workflowstepdetails</code> table reference
134     */
135    public WorkflowStepDetails() {
136        this(DSL.name("workflowstepdetails"), null);
137    }
138
139    public <O extends Record> WorkflowStepDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.workflow.WorkflowStepDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.workflow.WorkflowStepDetails> parentPath) {
140        super(path, childPath, parentPath, WorkflowStepDetails);
141    }
142
143    /**
144     * A subtype implementing {@link Path} for simplified path-based joins.
145     */
146    public static class WorkflowStepDetailsPath extends WorkflowStepDetails implements Path<com.echothree.model.jooq.server.records.workflow.WorkflowStepDetails> {
147
148        private static final long serialVersionUID = 1L;
149        public <O extends Record> WorkflowStepDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.workflow.WorkflowStepDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.workflow.WorkflowStepDetails> parentPath) {
150            super(path, childPath, parentPath);
151        }
152        private WorkflowStepDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.workflow.WorkflowStepDetails> aliased) {
153            super(alias, aliased);
154        }
155
156        @Override
157        public WorkflowStepDetailsPath as(String alias) {
158            return new WorkflowStepDetailsPath(DSL.name(alias), this);
159        }
160
161        @Override
162        public WorkflowStepDetailsPath as(Name alias) {
163            return new WorkflowStepDetailsPath(alias, this);
164        }
165
166        @Override
167        public WorkflowStepDetailsPath as(Table<?> alias) {
168            return new WorkflowStepDetailsPath(alias.getQualifiedName(), this);
169        }
170    }
171
172    @Override
173    public UniqueKey<com.echothree.model.jooq.server.records.workflow.WorkflowStepDetails> getPrimaryKey() {
174        return KeyRegistry.WORKFLOW_STEP_DETAILS_PK;
175    }
176
177    @Override
178    public List<UniqueKey<com.echothree.model.jooq.server.records.workflow.WorkflowStepDetails>> getUniqueKeys() {
179        return Arrays.asList(KeyRegistry.WORKFLOW_STEP_DETAILS_WORKFLOW_STEP_AND_THRU_TIME_UK, KeyRegistry.WORKFLOW_STEP_DETAILS_WORKFLOW_AND_WORKFLOW_STEP_NAME_AND_THRU_TIME_UK);
180    }
181
182    @Override
183    public List<ForeignKey<com.echothree.model.jooq.server.records.workflow.WorkflowStepDetails, ?>> getReferences() {
184        return Arrays.asList(KeyRegistry.WORKFLOW_STEP_DETAILS_WORKFLOW_FK, KeyRegistry.WORKFLOW_STEP_DETAILS_WORKFLOW_STEP_FK, KeyRegistry.WORKFLOW_STEP_DETAILS_WORKFLOW_STEP_TYPE_FK);
185    }
186
187    private transient WorkflowsPath _wkflsdt_wkfl_workflowid_fk;
188
189    /**
190     * Get the implicit join path to the <code>workflows</code> table.
191     */
192    public WorkflowsPath wkflsdt_wkfl_workflowid_fk() {
193        if (_wkflsdt_wkfl_workflowid_fk == null)
194            _wkflsdt_wkfl_workflowid_fk = new WorkflowsPath(this, KeyRegistry.WORKFLOW_STEP_DETAILS_WORKFLOW_FK, null);
195
196        return _wkflsdt_wkfl_workflowid_fk;
197    }
198
199    private transient WorkflowStepsPath _wkflsdt_wkfls_workflowstepid_fk;
200
201    /**
202     * Get the implicit join path to the <code>workflowsteps</code> table.
203     */
204    public WorkflowStepsPath wkflsdt_wkfls_workflowstepid_fk() {
205        if (_wkflsdt_wkfls_workflowstepid_fk == null)
206            _wkflsdt_wkfls_workflowstepid_fk = new WorkflowStepsPath(this, KeyRegistry.WORKFLOW_STEP_DETAILS_WORKFLOW_STEP_FK, null);
207
208        return _wkflsdt_wkfls_workflowstepid_fk;
209    }
210
211    private transient WorkflowStepTypesPath _wkflsdt_wkflst_workflowsteptypeid_fk;
212
213    /**
214     * Get the implicit join path to the <code>workflowsteptypes</code> table.
215     */
216    public WorkflowStepTypesPath wkflsdt_wkflst_workflowsteptypeid_fk() {
217        if (_wkflsdt_wkflst_workflowsteptypeid_fk == null)
218            _wkflsdt_wkflst_workflowsteptypeid_fk = new WorkflowStepTypesPath(this, KeyRegistry.WORKFLOW_STEP_DETAILS_WORKFLOW_STEP_TYPE_FK, null);
219
220        return _wkflsdt_wkflst_workflowsteptypeid_fk;
221    }
222
223    @Override
224    public WorkflowStepDetails as(String alias) {
225        return new WorkflowStepDetails(DSL.name(alias), this);
226    }
227
228    @Override
229    public WorkflowStepDetails as(Name alias) {
230        return new WorkflowStepDetails(alias, this);
231    }
232
233    @Override
234    public WorkflowStepDetails as(Table<?> alias) {
235        return new WorkflowStepDetails(alias.getQualifiedName(), this);
236    }
237
238    /**
239     * Rename this table
240     */
241    @Override
242    public WorkflowStepDetails rename(String name) {
243        return new WorkflowStepDetails(DSL.name(name), null);
244    }
245
246    /**
247     * Rename this table
248     */
249    @Override
250    public WorkflowStepDetails rename(Name name) {
251        return new WorkflowStepDetails(name, null);
252    }
253
254    /**
255     * Rename this table
256     */
257    @Override
258    public WorkflowStepDetails rename(Table<?> name) {
259        return new WorkflowStepDetails(name.getQualifiedName(), null);
260    }
261
262    /**
263     * Create an inline derived table from this table
264     */
265    @Override
266    public WorkflowStepDetails where(Condition condition) {
267        return new WorkflowStepDetails(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 WorkflowStepDetails 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 WorkflowStepDetails 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 WorkflowStepDetails 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 WorkflowStepDetails 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 WorkflowStepDetails 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 WorkflowStepDetails 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 WorkflowStepDetails 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 WorkflowStepDetails 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 WorkflowStepDetails whereNotExists(TableLike<?> select) {
343        return where(DSL.notExists(select));
344    }
345}