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