001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.user;
005
006
007import com.echothree.model.data.accounting.common.pk.CurrencyPK;
008import com.echothree.model.data.associate.common.pk.AssociateReferralPK;
009import com.echothree.model.data.offer.common.pk.OfferUsePK;
010import com.echothree.model.data.party.common.pk.DateTimeFormatPK;
011import com.echothree.model.data.party.common.pk.LanguagePK;
012import com.echothree.model.data.party.common.pk.TimeZonePK;
013import com.echothree.model.data.user.common.pk.UserKeyPK;
014import com.echothree.model.data.user.common.pk.UserVisitGroupPK;
015import com.echothree.model.data.user.common.pk.UserVisitPK;
016import com.echothree.model.jooq.server.KeyRegistry;
017import com.echothree.model.jooq.server.tables.accounting.Currencies.CurrenciesPath;
018import com.echothree.model.jooq.server.tables.associate.AssociateReferrals.AssociateReferralsPath;
019import com.echothree.model.jooq.server.tables.offer.OfferUses.OfferUsesPath;
020import com.echothree.model.jooq.server.tables.party.DateTimeFormats.DateTimeFormatsPath;
021import com.echothree.model.jooq.server.tables.party.Languages.LanguagesPath;
022import com.echothree.model.jooq.server.tables.party.TimeZones.TimeZonesPath;
023import com.echothree.model.jooq.server.tables.user.UserKeys.UserKeysPath;
024import com.echothree.model.jooq.server.tables.user.UserVisitGroups.UserVisitGroupsPath;
025
026import java.util.Arrays;
027import java.util.Collection;
028import java.util.List;
029
030import org.jooq.Condition;
031import org.jooq.Converter;
032import org.jooq.Field;
033import org.jooq.ForeignKey;
034import org.jooq.InverseForeignKey;
035import org.jooq.Name;
036import org.jooq.Path;
037import org.jooq.PlainSQL;
038import org.jooq.QueryPart;
039import org.jooq.Record;
040import org.jooq.SQL;
041import org.jooq.Stringly;
042import org.jooq.Table;
043import org.jooq.TableField;
044import org.jooq.TableLike;
045import org.jooq.TableOptions;
046import org.jooq.UniqueKey;
047import org.jooq.impl.DSL;
048import org.jooq.impl.Internal;
049import org.jooq.impl.SQLDataType;
050import org.jooq.impl.TableImpl;
051
052
053/**
054 * This class is generated by jOOQ.
055 */
056@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
057public class UserVisits extends TableImpl<com.echothree.model.jooq.server.records.user.UserVisits> {
058
059    private static final long serialVersionUID = 1L;
060
061    /**
062     * The reference instance of <code>uservisits</code>
063     */
064    public static final UserVisits UserVisits = new UserVisits();
065
066    /**
067     * The class holding records for this type
068     */
069    @Override
070    public Class<com.echothree.model.jooq.server.records.user.UserVisits> getRecordType() {
071        return com.echothree.model.jooq.server.records.user.UserVisits.class;
072    }
073
074    /**
075     * The column <code>uservisits.uvis_uservisitid</code>.
076     */
077    public final TableField<com.echothree.model.jooq.server.records.user.UserVisits, UserVisitPK> USER_VISIT = createField(DSL.name("uvis_uservisitid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, UserVisitPK.class, id -> new com.echothree.model.data.user.common.pk.UserVisitPK(id), primaryKey -> primaryKey.getEntityId()));
078
079    /**
080     * The column <code>uservisits.uvis_uvisgrp_uservisitgroupid</code>.
081     */
082    public final TableField<com.echothree.model.jooq.server.records.user.UserVisits, UserVisitGroupPK> USER_VISIT_GROUP = createField(DSL.name("uvis_uvisgrp_uservisitgroupid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, UserVisitGroupPK.class, id -> new com.echothree.model.data.user.common.pk.UserVisitGroupPK(id), primaryKey -> primaryKey.getEntityId()));
083
084    /**
085     * The column <code>uservisits.uvis_ukey_userkeyid</code>.
086     */
087    public final TableField<com.echothree.model.jooq.server.records.user.UserVisits, UserKeyPK> USER_KEY = createField(DSL.name("uvis_ukey_userkeyid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, UserKeyPK.class, id -> new com.echothree.model.data.user.common.pk.UserKeyPK(id), primaryKey -> primaryKey.getEntityId()));
088
089    /**
090     * The column <code>uservisits.uvis_preferredlanguageid</code>.
091     */
092    public final TableField<com.echothree.model.jooq.server.records.user.UserVisits, LanguagePK> PREFERRED_LANGUAGE = createField(DSL.name("uvis_preferredlanguageid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, LanguagePK.class, id -> new com.echothree.model.data.party.common.pk.LanguagePK(id), primaryKey -> primaryKey.getEntityId()));
093
094    /**
095     * The column <code>uservisits.uvis_preferredcurrencyid</code>.
096     */
097    public final TableField<com.echothree.model.jooq.server.records.user.UserVisits, CurrencyPK> PREFERRED_CURRENCY = createField(DSL.name("uvis_preferredcurrencyid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, CurrencyPK.class, id -> new com.echothree.model.data.accounting.common.pk.CurrencyPK(id), primaryKey -> primaryKey.getEntityId()));
098
099    /**
100     * The column <code>uservisits.uvis_preferredtimezoneid</code>.
101     */
102    public final TableField<com.echothree.model.jooq.server.records.user.UserVisits, TimeZonePK> PREFERRED_TIME_ZONE = createField(DSL.name("uvis_preferredtimezoneid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, TimeZonePK.class, id -> new com.echothree.model.data.party.common.pk.TimeZonePK(id), primaryKey -> primaryKey.getEntityId()));
103
104    /**
105     * The column <code>uservisits.uvis_preferreddatetimeformatid</code>.
106     */
107    public final TableField<com.echothree.model.jooq.server.records.user.UserVisits, DateTimeFormatPK> PREFERRED_DATE_TIME_FORMAT = createField(DSL.name("uvis_preferreddatetimeformatid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, DateTimeFormatPK.class, id -> new com.echothree.model.data.party.common.pk.DateTimeFormatPK(id), primaryKey -> primaryKey.getEntityId()));
108
109    /**
110     * The column <code>uservisits.uvis_lastcommandtime</code>.
111     */
112    public final TableField<com.echothree.model.jooq.server.records.user.UserVisits, Long> LAST_COMMAND_TIME = createField(DSL.name("uvis_lastcommandtime"), SQLDataType.BIGINT.nullable(false), this, "");
113
114    /**
115     * The column <code>uservisits.uvis_ofruse_offeruseid</code>.
116     */
117    public final TableField<com.echothree.model.jooq.server.records.user.UserVisits, OfferUsePK> OFFER_USE = createField(DSL.name("uvis_ofruse_offeruseid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, OfferUsePK.class, id -> new com.echothree.model.data.offer.common.pk.OfferUsePK(id), primaryKey -> primaryKey.getEntityId()));
118
119    /**
120     * The column <code>uservisits.uvis_ascrfr_associatereferralid</code>.
121     */
122    public final TableField<com.echothree.model.jooq.server.records.user.UserVisits, AssociateReferralPK> ASSOCIATE_REFERRAL = createField(DSL.name("uvis_ascrfr_associatereferralid"), SQLDataType.BIGINT, this, "", Converter.ofNullable(Long.class, AssociateReferralPK.class, id -> new com.echothree.model.data.associate.common.pk.AssociateReferralPK(id), primaryKey -> primaryKey.getEntityId()));
123
124    /**
125     * The column <code>uservisits.uvis_retainuntiltime</code>.
126     */
127    public final TableField<com.echothree.model.jooq.server.records.user.UserVisits, Long> RETAIN_UNTIL_TIME = createField(DSL.name("uvis_retainuntiltime"), SQLDataType.BIGINT, this, "");
128
129    /**
130     * The column <code>uservisits.uvis_fromtime</code>.
131     */
132    public final TableField<com.echothree.model.jooq.server.records.user.UserVisits, Long> FROM_TIME = createField(DSL.name("uvis_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
133
134    /**
135     * The column <code>uservisits.uvis_thrutime</code>.
136     */
137    public final TableField<com.echothree.model.jooq.server.records.user.UserVisits, Long> THRU_TIME = createField(DSL.name("uvis_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
138
139    private UserVisits(Name alias, Table<com.echothree.model.jooq.server.records.user.UserVisits> aliased) {
140        this(alias, aliased, (Field<?>[]) null, null);
141    }
142
143    private UserVisits(Name alias, Table<com.echothree.model.jooq.server.records.user.UserVisits> aliased, Field<?>[] parameters, Condition where) {
144        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
145    }
146
147    /**
148     * Create an aliased <code>uservisits</code> table reference
149     */
150    public UserVisits(String alias) {
151        this(DSL.name(alias), UserVisits);
152    }
153
154    /**
155     * Create an aliased <code>uservisits</code> table reference
156     */
157    public UserVisits(Name alias) {
158        this(alias, UserVisits);
159    }
160
161    /**
162     * Create a <code>uservisits</code> table reference
163     */
164    public UserVisits() {
165        this(DSL.name("uservisits"), null);
166    }
167
168    public <O extends Record> UserVisits(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.user.UserVisits> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.user.UserVisits> parentPath) {
169        super(path, childPath, parentPath, UserVisits);
170    }
171
172    /**
173     * A subtype implementing {@link Path} for simplified path-based joins.
174     */
175    public static class UserVisitsPath extends UserVisits implements Path<com.echothree.model.jooq.server.records.user.UserVisits> {
176
177        private static final long serialVersionUID = 1L;
178        public <O extends Record> UserVisitsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.user.UserVisits> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.user.UserVisits> parentPath) {
179            super(path, childPath, parentPath);
180        }
181        private UserVisitsPath(Name alias, Table<com.echothree.model.jooq.server.records.user.UserVisits> aliased) {
182            super(alias, aliased);
183        }
184
185        @Override
186        public UserVisitsPath as(String alias) {
187            return new UserVisitsPath(DSL.name(alias), this);
188        }
189
190        @Override
191        public UserVisitsPath as(Name alias) {
192            return new UserVisitsPath(alias, this);
193        }
194
195        @Override
196        public UserVisitsPath as(Table<?> alias) {
197            return new UserVisitsPath(alias.getQualifiedName(), this);
198        }
199    }
200
201    @Override
202    public UniqueKey<com.echothree.model.jooq.server.records.user.UserVisits> getPrimaryKey() {
203        return KeyRegistry.USER_VISITS_PK;
204    }
205
206    @Override
207    public List<ForeignKey<com.echothree.model.jooq.server.records.user.UserVisits, ?>> getReferences() {
208        return Arrays.asList(KeyRegistry.USER_VISITS_ASSOCIATE_REFERRAL_FK, KeyRegistry.USER_VISITS_OFFER_USE_FK, KeyRegistry.USER_VISITS_PREFERRED_CURRENCY_FK, KeyRegistry.USER_VISITS_PREFERRED_DATE_TIME_FORMAT_FK, KeyRegistry.USER_VISITS_PREFERRED_LANGUAGE_FK, KeyRegistry.USER_VISITS_PREFERRED_TIME_ZONE_FK, KeyRegistry.USER_VISITS_USER_KEY_FK, KeyRegistry.USER_VISITS_USER_VISIT_GROUP_FK);
209    }
210
211    private transient AssociateReferralsPath _uvis_ascrfr_associatereferralid_fk;
212
213    /**
214     * Get the implicit join path to the <code>associatereferrals</code> table.
215     */
216    public AssociateReferralsPath uvis_ascrfr_associatereferralid_fk() {
217        if (_uvis_ascrfr_associatereferralid_fk == null)
218            _uvis_ascrfr_associatereferralid_fk = new AssociateReferralsPath(this, KeyRegistry.USER_VISITS_ASSOCIATE_REFERRAL_FK, null);
219
220        return _uvis_ascrfr_associatereferralid_fk;
221    }
222
223    private transient OfferUsesPath _uvis_ofruse_offeruseid_fk;
224
225    /**
226     * Get the implicit join path to the <code>offeruses</code> table.
227     */
228    public OfferUsesPath uvis_ofruse_offeruseid_fk() {
229        if (_uvis_ofruse_offeruseid_fk == null)
230            _uvis_ofruse_offeruseid_fk = new OfferUsesPath(this, KeyRegistry.USER_VISITS_OFFER_USE_FK, null);
231
232        return _uvis_ofruse_offeruseid_fk;
233    }
234
235    private transient CurrenciesPath _uvis_preferredcurrencyid_fk;
236
237    /**
238     * Get the implicit join path to the <code>currencies</code> table.
239     */
240    public CurrenciesPath uvis_preferredcurrencyid_fk() {
241        if (_uvis_preferredcurrencyid_fk == null)
242            _uvis_preferredcurrencyid_fk = new CurrenciesPath(this, KeyRegistry.USER_VISITS_PREFERRED_CURRENCY_FK, null);
243
244        return _uvis_preferredcurrencyid_fk;
245    }
246
247    private transient DateTimeFormatsPath _uvis_preferreddatetimeformatid_fk;
248
249    /**
250     * Get the implicit join path to the <code>datetimeformats</code> table.
251     */
252    public DateTimeFormatsPath uvis_preferreddatetimeformatid_fk() {
253        if (_uvis_preferreddatetimeformatid_fk == null)
254            _uvis_preferreddatetimeformatid_fk = new DateTimeFormatsPath(this, KeyRegistry.USER_VISITS_PREFERRED_DATE_TIME_FORMAT_FK, null);
255
256        return _uvis_preferreddatetimeformatid_fk;
257    }
258
259    private transient LanguagesPath _uvis_preferredlanguageid_fk;
260
261    /**
262     * Get the implicit join path to the <code>languages</code> table.
263     */
264    public LanguagesPath uvis_preferredlanguageid_fk() {
265        if (_uvis_preferredlanguageid_fk == null)
266            _uvis_preferredlanguageid_fk = new LanguagesPath(this, KeyRegistry.USER_VISITS_PREFERRED_LANGUAGE_FK, null);
267
268        return _uvis_preferredlanguageid_fk;
269    }
270
271    private transient TimeZonesPath _uvis_preferredtimezoneid_fk;
272
273    /**
274     * Get the implicit join path to the <code>timezones</code> table.
275     */
276    public TimeZonesPath uvis_preferredtimezoneid_fk() {
277        if (_uvis_preferredtimezoneid_fk == null)
278            _uvis_preferredtimezoneid_fk = new TimeZonesPath(this, KeyRegistry.USER_VISITS_PREFERRED_TIME_ZONE_FK, null);
279
280        return _uvis_preferredtimezoneid_fk;
281    }
282
283    private transient UserKeysPath _uvis_ukey_userkeyid_fk;
284
285    /**
286     * Get the implicit join path to the <code>userkeys</code> table.
287     */
288    public UserKeysPath uvis_ukey_userkeyid_fk() {
289        if (_uvis_ukey_userkeyid_fk == null)
290            _uvis_ukey_userkeyid_fk = new UserKeysPath(this, KeyRegistry.USER_VISITS_USER_KEY_FK, null);
291
292        return _uvis_ukey_userkeyid_fk;
293    }
294
295    private transient UserVisitGroupsPath _uvis_uvisgrp_uservisitgroupid_fk;
296
297    /**
298     * Get the implicit join path to the <code>uservisitgroups</code> table.
299     */
300    public UserVisitGroupsPath uvis_uvisgrp_uservisitgroupid_fk() {
301        if (_uvis_uvisgrp_uservisitgroupid_fk == null)
302            _uvis_uvisgrp_uservisitgroupid_fk = new UserVisitGroupsPath(this, KeyRegistry.USER_VISITS_USER_VISIT_GROUP_FK, null);
303
304        return _uvis_uvisgrp_uservisitgroupid_fk;
305    }
306
307    @Override
308    public UserVisits as(String alias) {
309        return new UserVisits(DSL.name(alias), this);
310    }
311
312    @Override
313    public UserVisits as(Name alias) {
314        return new UserVisits(alias, this);
315    }
316
317    @Override
318    public UserVisits as(Table<?> alias) {
319        return new UserVisits(alias.getQualifiedName(), this);
320    }
321
322    /**
323     * Rename this table
324     */
325    @Override
326    public UserVisits rename(String name) {
327        return new UserVisits(DSL.name(name), null);
328    }
329
330    /**
331     * Rename this table
332     */
333    @Override
334    public UserVisits rename(Name name) {
335        return new UserVisits(name, null);
336    }
337
338    /**
339     * Rename this table
340     */
341    @Override
342    public UserVisits rename(Table<?> name) {
343        return new UserVisits(name.getQualifiedName(), null);
344    }
345
346    /**
347     * Create an inline derived table from this table
348     */
349    @Override
350    public UserVisits where(Condition condition) {
351        return new UserVisits(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
352    }
353
354    /**
355     * Create an inline derived table from this table
356     */
357    @Override
358    public UserVisits where(Collection<? extends Condition> conditions) {
359        return where(DSL.and(conditions));
360    }
361
362    /**
363     * Create an inline derived table from this table
364     */
365    @Override
366    public UserVisits where(Condition... conditions) {
367        return where(DSL.and(conditions));
368    }
369
370    /**
371     * Create an inline derived table from this table
372     */
373    @Override
374    public UserVisits where(Field<Boolean> condition) {
375        return where(DSL.condition(condition));
376    }
377
378    /**
379     * Create an inline derived table from this table
380     */
381    @Override
382    @PlainSQL
383    public UserVisits where(SQL condition) {
384        return where(DSL.condition(condition));
385    }
386
387    /**
388     * Create an inline derived table from this table
389     */
390    @Override
391    @PlainSQL
392    public UserVisits where(@Stringly.SQL String condition) {
393        return where(DSL.condition(condition));
394    }
395
396    /**
397     * Create an inline derived table from this table
398     */
399    @Override
400    @PlainSQL
401    public UserVisits where(@Stringly.SQL String condition, Object... binds) {
402        return where(DSL.condition(condition, binds));
403    }
404
405    /**
406     * Create an inline derived table from this table
407     */
408    @Override
409    @PlainSQL
410    public UserVisits where(@Stringly.SQL String condition, QueryPart... parts) {
411        return where(DSL.condition(condition, parts));
412    }
413
414    /**
415     * Create an inline derived table from this table
416     */
417    @Override
418    public UserVisits whereExists(TableLike<?> select) {
419        return where(DSL.exists(select));
420    }
421
422    /**
423     * Create an inline derived table from this table
424     */
425    @Override
426    public UserVisits whereNotExists(TableLike<?> select) {
427        return where(DSL.notExists(select));
428    }
429}