001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.printer;
005
006
007import com.echothree.model.data.document.common.pk.DocumentPK;
008import com.echothree.model.data.printer.common.pk.PrinterGroupJobDetailPK;
009import com.echothree.model.data.printer.common.pk.PrinterGroupJobPK;
010import com.echothree.model.data.printer.common.pk.PrinterGroupPK;
011import com.echothree.model.jooq.server.KeyRegistry;
012import com.echothree.model.jooq.server.tables.document.Documents.DocumentsPath;
013import com.echothree.model.jooq.server.tables.printer.PrinterGroupJobs.PrinterGroupJobsPath;
014import com.echothree.model.jooq.server.tables.printer.PrinterGroups.PrinterGroupsPath;
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 PrinterGroupJobDetails extends TableImpl<com.echothree.model.jooq.server.records.printer.PrinterGroupJobDetails> {
048
049    private static final long serialVersionUID = 1L;
050
051    /**
052     * The reference instance of <code>printergroupjobdetails</code>
053     */
054    public static final PrinterGroupJobDetails PrinterGroupJobDetails = new PrinterGroupJobDetails();
055
056    /**
057     * The class holding records for this type
058     */
059    @Override
060    public Class<com.echothree.model.jooq.server.records.printer.PrinterGroupJobDetails> getRecordType() {
061        return com.echothree.model.jooq.server.records.printer.PrinterGroupJobDetails.class;
062    }
063
064    /**
065     * The column
066     * <code>printergroupjobdetails.prngrpjdt_printergroupjobdetailid</code>.
067     */
068    public final TableField<com.echothree.model.jooq.server.records.printer.PrinterGroupJobDetails, PrinterGroupJobDetailPK> PRINTER_GROUP_JOB_DETAIL = createField(DSL.name("prngrpjdt_printergroupjobdetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, PrinterGroupJobDetailPK.class, id -> new com.echothree.model.data.printer.common.pk.PrinterGroupJobDetailPK(id), primaryKey -> primaryKey.getEntityId()));
069
070    /**
071     * The column
072     * <code>printergroupjobdetails.prngrpjdt_prngrpj_printergroupjobid</code>.
073     */
074    public final TableField<com.echothree.model.jooq.server.records.printer.PrinterGroupJobDetails, PrinterGroupJobPK> PRINTER_GROUP_JOB = createField(DSL.name("prngrpjdt_prngrpj_printergroupjobid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, PrinterGroupJobPK.class, id -> new com.echothree.model.data.printer.common.pk.PrinterGroupJobPK(id), primaryKey -> primaryKey.getEntityId()));
075
076    /**
077     * The column
078     * <code>printergroupjobdetails.prngrpjdt_printergroupjobname</code>.
079     */
080    public final TableField<com.echothree.model.jooq.server.records.printer.PrinterGroupJobDetails, String> PRINTER_GROUP_JOB_NAME = createField(DSL.name("prngrpjdt_printergroupjobname"), SQLDataType.VARCHAR(40).nullable(false), this, "");
081
082    /**
083     * The column
084     * <code>printergroupjobdetails.prngrpjdt_prngrp_printergroupid</code>.
085     */
086    public final TableField<com.echothree.model.jooq.server.records.printer.PrinterGroupJobDetails, PrinterGroupPK> PRINTER_GROUP = createField(DSL.name("prngrpjdt_prngrp_printergroupid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, PrinterGroupPK.class, id -> new com.echothree.model.data.printer.common.pk.PrinterGroupPK(id), primaryKey -> primaryKey.getEntityId()));
087
088    /**
089     * The column
090     * <code>printergroupjobdetails.prngrpjdt_dcmnt_documentid</code>.
091     */
092    public final TableField<com.echothree.model.jooq.server.records.printer.PrinterGroupJobDetails, DocumentPK> DOCUMENT = createField(DSL.name("prngrpjdt_dcmnt_documentid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, DocumentPK.class, id -> new com.echothree.model.data.document.common.pk.DocumentPK(id), primaryKey -> primaryKey.getEntityId()));
093
094    /**
095     * The column <code>printergroupjobdetails.prngrpjdt_copies</code>.
096     */
097    public final TableField<com.echothree.model.jooq.server.records.printer.PrinterGroupJobDetails, Integer> COPIES = createField(DSL.name("prngrpjdt_copies"), SQLDataType.INTEGER.nullable(false), this, "");
098
099    /**
100     * The column <code>printergroupjobdetails.prngrpjdt_priority</code>.
101     */
102    public final TableField<com.echothree.model.jooq.server.records.printer.PrinterGroupJobDetails, Integer> PRIORITY = createField(DSL.name("prngrpjdt_priority"), SQLDataType.INTEGER.nullable(false), this, "");
103
104    /**
105     * The column <code>printergroupjobdetails.prngrpjdt_fromtime</code>.
106     */
107    public final TableField<com.echothree.model.jooq.server.records.printer.PrinterGroupJobDetails, Long> FROM_TIME = createField(DSL.name("prngrpjdt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
108
109    /**
110     * The column <code>printergroupjobdetails.prngrpjdt_thrutime</code>.
111     */
112    public final TableField<com.echothree.model.jooq.server.records.printer.PrinterGroupJobDetails, Long> THRU_TIME = createField(DSL.name("prngrpjdt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
113
114    private PrinterGroupJobDetails(Name alias, Table<com.echothree.model.jooq.server.records.printer.PrinterGroupJobDetails> aliased) {
115        this(alias, aliased, (Field<?>[]) null, null);
116    }
117
118    private PrinterGroupJobDetails(Name alias, Table<com.echothree.model.jooq.server.records.printer.PrinterGroupJobDetails> aliased, Field<?>[] parameters, Condition where) {
119        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
120    }
121
122    /**
123     * Create an aliased <code>printergroupjobdetails</code> table reference
124     */
125    public PrinterGroupJobDetails(String alias) {
126        this(DSL.name(alias), PrinterGroupJobDetails);
127    }
128
129    /**
130     * Create an aliased <code>printergroupjobdetails</code> table reference
131     */
132    public PrinterGroupJobDetails(Name alias) {
133        this(alias, PrinterGroupJobDetails);
134    }
135
136    /**
137     * Create a <code>printergroupjobdetails</code> table reference
138     */
139    public PrinterGroupJobDetails() {
140        this(DSL.name("printergroupjobdetails"), null);
141    }
142
143    public <O extends Record> PrinterGroupJobDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.printer.PrinterGroupJobDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.printer.PrinterGroupJobDetails> parentPath) {
144        super(path, childPath, parentPath, PrinterGroupJobDetails);
145    }
146
147    /**
148     * A subtype implementing {@link Path} for simplified path-based joins.
149     */
150    public static class PrinterGroupJobDetailsPath extends PrinterGroupJobDetails implements Path<com.echothree.model.jooq.server.records.printer.PrinterGroupJobDetails> {
151
152        private static final long serialVersionUID = 1L;
153        public <O extends Record> PrinterGroupJobDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.printer.PrinterGroupJobDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.printer.PrinterGroupJobDetails> parentPath) {
154            super(path, childPath, parentPath);
155        }
156        private PrinterGroupJobDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.printer.PrinterGroupJobDetails> aliased) {
157            super(alias, aliased);
158        }
159
160        @Override
161        public PrinterGroupJobDetailsPath as(String alias) {
162            return new PrinterGroupJobDetailsPath(DSL.name(alias), this);
163        }
164
165        @Override
166        public PrinterGroupJobDetailsPath as(Name alias) {
167            return new PrinterGroupJobDetailsPath(alias, this);
168        }
169
170        @Override
171        public PrinterGroupJobDetailsPath as(Table<?> alias) {
172            return new PrinterGroupJobDetailsPath(alias.getQualifiedName(), this);
173        }
174    }
175
176    @Override
177    public UniqueKey<com.echothree.model.jooq.server.records.printer.PrinterGroupJobDetails> getPrimaryKey() {
178        return KeyRegistry.PRINTER_GROUP_JOB_DETAILS_PK;
179    }
180
181    @Override
182    public List<UniqueKey<com.echothree.model.jooq.server.records.printer.PrinterGroupJobDetails>> getUniqueKeys() {
183        return Arrays.asList(KeyRegistry.PRINTER_GROUP_JOB_DETAILS_PRINTER_GROUP_JOB_AND_THRU_TIME_UK, KeyRegistry.PRINTER_GROUP_JOB_DETAILS_PRINTER_GROUP_JOB_NAME_AND_THRU_TIME_UK);
184    }
185
186    @Override
187    public List<ForeignKey<com.echothree.model.jooq.server.records.printer.PrinterGroupJobDetails, ?>> getReferences() {
188        return Arrays.asList(KeyRegistry.PRINTER_GROUP_JOB_DETAILS_DOCUMENT_FK, KeyRegistry.PRINTER_GROUP_JOB_DETAILS_PRINTER_GROUP_FK, KeyRegistry.PRINTER_GROUP_JOB_DETAILS_PRINTER_GROUP_JOB_FK);
189    }
190
191    private transient DocumentsPath _prngrpjdt_dcmnt_documentid_fk;
192
193    /**
194     * Get the implicit join path to the <code>documents</code> table.
195     */
196    public DocumentsPath prngrpjdt_dcmnt_documentid_fk() {
197        if (_prngrpjdt_dcmnt_documentid_fk == null)
198            _prngrpjdt_dcmnt_documentid_fk = new DocumentsPath(this, KeyRegistry.PRINTER_GROUP_JOB_DETAILS_DOCUMENT_FK, null);
199
200        return _prngrpjdt_dcmnt_documentid_fk;
201    }
202
203    private transient PrinterGroupsPath _prngrpjdt_prngrp_printergroupid_fk;
204
205    /**
206     * Get the implicit join path to the <code>printergroups</code> table.
207     */
208    public PrinterGroupsPath prngrpjdt_prngrp_printergroupid_fk() {
209        if (_prngrpjdt_prngrp_printergroupid_fk == null)
210            _prngrpjdt_prngrp_printergroupid_fk = new PrinterGroupsPath(this, KeyRegistry.PRINTER_GROUP_JOB_DETAILS_PRINTER_GROUP_FK, null);
211
212        return _prngrpjdt_prngrp_printergroupid_fk;
213    }
214
215    private transient PrinterGroupJobsPath _prngrpjdt_prngrpj_printergroupjobid_fk;
216
217    /**
218     * Get the implicit join path to the <code>printergroupjobs</code> table.
219     */
220    public PrinterGroupJobsPath prngrpjdt_prngrpj_printergroupjobid_fk() {
221        if (_prngrpjdt_prngrpj_printergroupjobid_fk == null)
222            _prngrpjdt_prngrpj_printergroupjobid_fk = new PrinterGroupJobsPath(this, KeyRegistry.PRINTER_GROUP_JOB_DETAILS_PRINTER_GROUP_JOB_FK, null);
223
224        return _prngrpjdt_prngrpj_printergroupjobid_fk;
225    }
226
227    @Override
228    public PrinterGroupJobDetails as(String alias) {
229        return new PrinterGroupJobDetails(DSL.name(alias), this);
230    }
231
232    @Override
233    public PrinterGroupJobDetails as(Name alias) {
234        return new PrinterGroupJobDetails(alias, this);
235    }
236
237    @Override
238    public PrinterGroupJobDetails as(Table<?> alias) {
239        return new PrinterGroupJobDetails(alias.getQualifiedName(), this);
240    }
241
242    /**
243     * Rename this table
244     */
245    @Override
246    public PrinterGroupJobDetails rename(String name) {
247        return new PrinterGroupJobDetails(DSL.name(name), null);
248    }
249
250    /**
251     * Rename this table
252     */
253    @Override
254    public PrinterGroupJobDetails rename(Name name) {
255        return new PrinterGroupJobDetails(name, null);
256    }
257
258    /**
259     * Rename this table
260     */
261    @Override
262    public PrinterGroupJobDetails rename(Table<?> name) {
263        return new PrinterGroupJobDetails(name.getQualifiedName(), null);
264    }
265
266    /**
267     * Create an inline derived table from this table
268     */
269    @Override
270    public PrinterGroupJobDetails where(Condition condition) {
271        return new PrinterGroupJobDetails(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 PrinterGroupJobDetails 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 PrinterGroupJobDetails 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 PrinterGroupJobDetails 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 PrinterGroupJobDetails 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 PrinterGroupJobDetails 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 PrinterGroupJobDetails 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 PrinterGroupJobDetails 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 PrinterGroupJobDetails 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 PrinterGroupJobDetails whereNotExists(TableLike<?> select) {
347        return where(DSL.notExists(select));
348    }
349}