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