001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.document;
005
006
007import com.echothree.model.data.document.common.pk.DocumentBlobPK;
008import com.echothree.model.data.document.common.pk.DocumentPK;
009import com.echothree.model.jooq.server.KeyRegistry;
010import com.echothree.model.jooq.server.tables.document.Documents.DocumentsPath;
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.Name;
021import org.jooq.PlainSQL;
022import org.jooq.QueryPart;
023import org.jooq.SQL;
024import org.jooq.Stringly;
025import org.jooq.Table;
026import org.jooq.TableField;
027import org.jooq.TableLike;
028import org.jooq.TableOptions;
029import org.jooq.UniqueKey;
030import org.jooq.impl.DSL;
031import org.jooq.impl.Internal;
032import org.jooq.impl.SQLDataType;
033import org.jooq.impl.TableImpl;
034
035
036/**
037 * This class is generated by jOOQ.
038 */
039@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
040public class DocumentBlobs extends TableImpl<com.echothree.model.jooq.server.records.document.DocumentBlobs> {
041
042    private static final long serialVersionUID = 1L;
043
044    /**
045     * The reference instance of <code>documentblobs</code>
046     */
047    public static final DocumentBlobs DocumentBlobs = new DocumentBlobs();
048
049    /**
050     * The class holding records for this type
051     */
052    @Override
053    public Class<com.echothree.model.jooq.server.records.document.DocumentBlobs> getRecordType() {
054        return com.echothree.model.jooq.server.records.document.DocumentBlobs.class;
055    }
056
057    /**
058     * The column <code>documentblobs.dcmntb_documentblobid</code>.
059     */
060    public final TableField<com.echothree.model.jooq.server.records.document.DocumentBlobs, DocumentBlobPK> DOCUMENT_BLOB = createField(DSL.name("dcmntb_documentblobid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, DocumentBlobPK.class, id -> new com.echothree.model.data.document.common.pk.DocumentBlobPK(id), primaryKey -> primaryKey.getEntityId()));
061
062    /**
063     * The column <code>documentblobs.dcmntb_dcmnt_documentid</code>.
064     */
065    public final TableField<com.echothree.model.jooq.server.records.document.DocumentBlobs, DocumentPK> DOCUMENT = createField(DSL.name("dcmntb_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()));
066
067    /**
068     * The column <code>documentblobs.dcmntb_blob</code>.
069     */
070    public final TableField<com.echothree.model.jooq.server.records.document.DocumentBlobs, byte[]> BLOB = createField(DSL.name("dcmntb_blob"), SQLDataType.BLOB.nullable(false), this, "");
071
072    /**
073     * The column <code>documentblobs.dcmntb_fromtime</code>.
074     */
075    public final TableField<com.echothree.model.jooq.server.records.document.DocumentBlobs, Long> FROM_TIME = createField(DSL.name("dcmntb_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
076
077    /**
078     * The column <code>documentblobs.dcmntb_thrutime</code>.
079     */
080    public final TableField<com.echothree.model.jooq.server.records.document.DocumentBlobs, Long> THRU_TIME = createField(DSL.name("dcmntb_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
081
082    private DocumentBlobs(Name alias, Table<com.echothree.model.jooq.server.records.document.DocumentBlobs> aliased) {
083        this(alias, aliased, (Field<?>[]) null, null);
084    }
085
086    private DocumentBlobs(Name alias, Table<com.echothree.model.jooq.server.records.document.DocumentBlobs> aliased, Field<?>[] parameters, Condition where) {
087        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
088    }
089
090    /**
091     * Create an aliased <code>documentblobs</code> table reference
092     */
093    public DocumentBlobs(String alias) {
094        this(DSL.name(alias), DocumentBlobs);
095    }
096
097    /**
098     * Create an aliased <code>documentblobs</code> table reference
099     */
100    public DocumentBlobs(Name alias) {
101        this(alias, DocumentBlobs);
102    }
103
104    /**
105     * Create a <code>documentblobs</code> table reference
106     */
107    public DocumentBlobs() {
108        this(DSL.name("documentblobs"), null);
109    }
110
111    @Override
112    public UniqueKey<com.echothree.model.jooq.server.records.document.DocumentBlobs> getPrimaryKey() {
113        return KeyRegistry.DOCUMENT_BLOBS_PK;
114    }
115
116    @Override
117    public List<UniqueKey<com.echothree.model.jooq.server.records.document.DocumentBlobs>> getUniqueKeys() {
118        return Arrays.asList(KeyRegistry.DOCUMENT_BLOBS_DOCUMENT_AND_THRU_TIME_UK);
119    }
120
121    @Override
122    public List<ForeignKey<com.echothree.model.jooq.server.records.document.DocumentBlobs, ?>> getReferences() {
123        return Arrays.asList(KeyRegistry.DOCUMENT_BLOBS_DOCUMENT_FK);
124    }
125
126    private transient DocumentsPath _dcmntb_dcmnt_documentid_fk;
127
128    /**
129     * Get the implicit join path to the <code>documents</code> table.
130     */
131    public DocumentsPath dcmntb_dcmnt_documentid_fk() {
132        if (_dcmntb_dcmnt_documentid_fk == null)
133            _dcmntb_dcmnt_documentid_fk = new DocumentsPath(this, KeyRegistry.DOCUMENT_BLOBS_DOCUMENT_FK, null);
134
135        return _dcmntb_dcmnt_documentid_fk;
136    }
137
138    @Override
139    public DocumentBlobs as(String alias) {
140        return new DocumentBlobs(DSL.name(alias), this);
141    }
142
143    @Override
144    public DocumentBlobs as(Name alias) {
145        return new DocumentBlobs(alias, this);
146    }
147
148    @Override
149    public DocumentBlobs as(Table<?> alias) {
150        return new DocumentBlobs(alias.getQualifiedName(), this);
151    }
152
153    /**
154     * Rename this table
155     */
156    @Override
157    public DocumentBlobs rename(String name) {
158        return new DocumentBlobs(DSL.name(name), null);
159    }
160
161    /**
162     * Rename this table
163     */
164    @Override
165    public DocumentBlobs rename(Name name) {
166        return new DocumentBlobs(name, null);
167    }
168
169    /**
170     * Rename this table
171     */
172    @Override
173    public DocumentBlobs rename(Table<?> name) {
174        return new DocumentBlobs(name.getQualifiedName(), null);
175    }
176
177    /**
178     * Create an inline derived table from this table
179     */
180    @Override
181    public DocumentBlobs where(Condition condition) {
182        return new DocumentBlobs(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
183    }
184
185    /**
186     * Create an inline derived table from this table
187     */
188    @Override
189    public DocumentBlobs where(Collection<? extends Condition> conditions) {
190        return where(DSL.and(conditions));
191    }
192
193    /**
194     * Create an inline derived table from this table
195     */
196    @Override
197    public DocumentBlobs where(Condition... conditions) {
198        return where(DSL.and(conditions));
199    }
200
201    /**
202     * Create an inline derived table from this table
203     */
204    @Override
205    public DocumentBlobs where(Field<Boolean> condition) {
206        return where(DSL.condition(condition));
207    }
208
209    /**
210     * Create an inline derived table from this table
211     */
212    @Override
213    @PlainSQL
214    public DocumentBlobs where(SQL condition) {
215        return where(DSL.condition(condition));
216    }
217
218    /**
219     * Create an inline derived table from this table
220     */
221    @Override
222    @PlainSQL
223    public DocumentBlobs where(@Stringly.SQL String condition) {
224        return where(DSL.condition(condition));
225    }
226
227    /**
228     * Create an inline derived table from this table
229     */
230    @Override
231    @PlainSQL
232    public DocumentBlobs where(@Stringly.SQL String condition, Object... binds) {
233        return where(DSL.condition(condition, binds));
234    }
235
236    /**
237     * Create an inline derived table from this table
238     */
239    @Override
240    @PlainSQL
241    public DocumentBlobs where(@Stringly.SQL String condition, QueryPart... parts) {
242        return where(DSL.condition(condition, parts));
243    }
244
245    /**
246     * Create an inline derived table from this table
247     */
248    @Override
249    public DocumentBlobs whereExists(TableLike<?> select) {
250        return where(DSL.exists(select));
251    }
252
253    /**
254     * Create an inline derived table from this table
255     */
256    @Override
257    public DocumentBlobs whereNotExists(TableLike<?> select) {
258        return where(DSL.notExists(select));
259    }
260}