001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.geo;
005
006
007import com.echothree.model.data.contact.common.pk.PostalAddressFormatPK;
008import com.echothree.model.data.geo.common.pk.GeoCodeCountryPK;
009import com.echothree.model.data.geo.common.pk.GeoCodePK;
010import com.echothree.model.jooq.server.KeyRegistry;
011import com.echothree.model.jooq.server.tables.contact.PostalAddressFormats.PostalAddressFormatsPath;
012import com.echothree.model.jooq.server.tables.geo.GeoCodes.GeoCodesPath;
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 GeoCodeCountries extends TableImpl<com.echothree.model.jooq.server.records.geo.GeoCodeCountries> {
043
044    private static final long serialVersionUID = 1L;
045
046    /**
047     * The reference instance of <code>geocodecountries</code>
048     */
049    public static final GeoCodeCountries GeoCodeCountries = new GeoCodeCountries();
050
051    /**
052     * The class holding records for this type
053     */
054    @Override
055    public Class<com.echothree.model.jooq.server.records.geo.GeoCodeCountries> getRecordType() {
056        return com.echothree.model.jooq.server.records.geo.GeoCodeCountries.class;
057    }
058
059    /**
060     * The column <code>geocodecountries.geoc_geocodecountryid</code>.
061     */
062    public final TableField<com.echothree.model.jooq.server.records.geo.GeoCodeCountries, GeoCodeCountryPK> GEO_CODE_COUNTRY = createField(DSL.name("geoc_geocodecountryid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, GeoCodeCountryPK.class, id -> new com.echothree.model.data.geo.common.pk.GeoCodeCountryPK(id), primaryKey -> primaryKey.getEntityId()));
063
064    /**
065     * The column <code>geocodecountries.geoc_geo_geocodeid</code>.
066     */
067    public final TableField<com.echothree.model.jooq.server.records.geo.GeoCodeCountries, GeoCodePK> GEO_CODE = createField(DSL.name("geoc_geo_geocodeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, GeoCodePK.class, id -> new com.echothree.model.data.geo.common.pk.GeoCodePK(id), primaryKey -> primaryKey.getEntityId()));
068
069    /**
070     * The column <code>geocodecountries.geoc_telephonecode</code>.
071     */
072    public final TableField<com.echothree.model.jooq.server.records.geo.GeoCodeCountries, String> TELEPHONE_CODE = createField(DSL.name("geoc_telephonecode"), SQLDataType.VARCHAR(5), this, "");
073
074    /**
075     * The column <code>geocodecountries.geoc_areacodepattern</code>.
076     */
077    public final TableField<com.echothree.model.jooq.server.records.geo.GeoCodeCountries, String> AREA_CODE_PATTERN = createField(DSL.name("geoc_areacodepattern"), SQLDataType.VARCHAR(128), this, "");
078
079    /**
080     * The column <code>geocodecountries.geoc_areacoderequired</code>.
081     */
082    public final TableField<com.echothree.model.jooq.server.records.geo.GeoCodeCountries, Boolean> AREA_CODE_REQUIRED = createField(DSL.name("geoc_areacoderequired"), SQLDataType.BIT.nullable(false), this, "");
083
084    /**
085     * The column <code>geocodecountries.geoc_areacodeexample</code>.
086     */
087    public final TableField<com.echothree.model.jooq.server.records.geo.GeoCodeCountries, String> AREA_CODE_EXAMPLE = createField(DSL.name("geoc_areacodeexample"), SQLDataType.VARCHAR(5), this, "");
088
089    /**
090     * The column <code>geocodecountries.geoc_telephonenumberpattern</code>.
091     */
092    public final TableField<com.echothree.model.jooq.server.records.geo.GeoCodeCountries, String> TELEPHONE_NUMBER_PATTERN = createField(DSL.name("geoc_telephonenumberpattern"), SQLDataType.VARCHAR(128), this, "");
093
094    /**
095     * The column <code>geocodecountries.geoc_telephonenumberexample</code>.
096     */
097    public final TableField<com.echothree.model.jooq.server.records.geo.GeoCodeCountries, String> TELEPHONE_NUMBER_EXAMPLE = createField(DSL.name("geoc_telephonenumberexample"), SQLDataType.VARCHAR(25), this, "");
098
099    /**
100     * The column
101     * <code>geocodecountries.geoc_pstafmt_postaladdressformatid</code>.
102     */
103    public final TableField<com.echothree.model.jooq.server.records.geo.GeoCodeCountries, PostalAddressFormatPK> POSTAL_ADDRESS_FORMAT = createField(DSL.name("geoc_pstafmt_postaladdressformatid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, PostalAddressFormatPK.class, id -> new com.echothree.model.data.contact.common.pk.PostalAddressFormatPK(id), primaryKey -> primaryKey.getEntityId()));
104
105    /**
106     * The column <code>geocodecountries.geoc_cityrequired</code>.
107     */
108    public final TableField<com.echothree.model.jooq.server.records.geo.GeoCodeCountries, Boolean> CITY_REQUIRED = createField(DSL.name("geoc_cityrequired"), SQLDataType.BIT.nullable(false), this, "");
109
110    /**
111     * The column <code>geocodecountries.geoc_citygeocoderequired</code>.
112     */
113    public final TableField<com.echothree.model.jooq.server.records.geo.GeoCodeCountries, Boolean> CITY_GEO_CODE_REQUIRED = createField(DSL.name("geoc_citygeocoderequired"), SQLDataType.BIT.nullable(false), this, "");
114
115    /**
116     * The column <code>geocodecountries.geoc_staterequired</code>.
117     */
118    public final TableField<com.echothree.model.jooq.server.records.geo.GeoCodeCountries, Boolean> STATE_REQUIRED = createField(DSL.name("geoc_staterequired"), SQLDataType.BIT.nullable(false), this, "");
119
120    /**
121     * The column <code>geocodecountries.geoc_stategeocoderequired</code>.
122     */
123    public final TableField<com.echothree.model.jooq.server.records.geo.GeoCodeCountries, Boolean> STATE_GEO_CODE_REQUIRED = createField(DSL.name("geoc_stategeocoderequired"), SQLDataType.BIT.nullable(false), this, "");
124
125    /**
126     * The column <code>geocodecountries.geoc_postalcodepattern</code>.
127     */
128    public final TableField<com.echothree.model.jooq.server.records.geo.GeoCodeCountries, String> POSTAL_CODE_PATTERN = createField(DSL.name("geoc_postalcodepattern"), SQLDataType.VARCHAR(128), this, "");
129
130    /**
131     * The column <code>geocodecountries.geoc_postalcoderequired</code>.
132     */
133    public final TableField<com.echothree.model.jooq.server.records.geo.GeoCodeCountries, Boolean> POSTAL_CODE_REQUIRED = createField(DSL.name("geoc_postalcoderequired"), SQLDataType.BIT.nullable(false), this, "");
134
135    /**
136     * The column <code>geocodecountries.geoc_postalcodegeocoderequired</code>.
137     */
138    public final TableField<com.echothree.model.jooq.server.records.geo.GeoCodeCountries, Boolean> POSTAL_CODE_GEO_CODE_REQUIRED = createField(DSL.name("geoc_postalcodegeocoderequired"), SQLDataType.BIT.nullable(false), this, "");
139
140    /**
141     * The column <code>geocodecountries.geoc_postalcodelength</code>.
142     */
143    public final TableField<com.echothree.model.jooq.server.records.geo.GeoCodeCountries, Integer> POSTAL_CODE_LENGTH = createField(DSL.name("geoc_postalcodelength"), SQLDataType.INTEGER, this, "");
144
145    /**
146     * The column <code>geocodecountries.geoc_postalcodegeocodelength</code>.
147     */
148    public final TableField<com.echothree.model.jooq.server.records.geo.GeoCodeCountries, Integer> POSTAL_CODE_GEO_CODE_LENGTH = createField(DSL.name("geoc_postalcodegeocodelength"), SQLDataType.INTEGER, this, "");
149
150    /**
151     * The column <code>geocodecountries.geoc_postalcodeexample</code>.
152     */
153    public final TableField<com.echothree.model.jooq.server.records.geo.GeoCodeCountries, String> POSTAL_CODE_EXAMPLE = createField(DSL.name("geoc_postalcodeexample"), SQLDataType.VARCHAR(15), this, "");
154
155    /**
156     * The column <code>geocodecountries.geoc_fromtime</code>.
157     */
158    public final TableField<com.echothree.model.jooq.server.records.geo.GeoCodeCountries, Long> FROM_TIME = createField(DSL.name("geoc_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
159
160    /**
161     * The column <code>geocodecountries.geoc_thrutime</code>.
162     */
163    public final TableField<com.echothree.model.jooq.server.records.geo.GeoCodeCountries, Long> THRU_TIME = createField(DSL.name("geoc_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
164
165    private GeoCodeCountries(Name alias, Table<com.echothree.model.jooq.server.records.geo.GeoCodeCountries> aliased) {
166        this(alias, aliased, (Field<?>[]) null, null);
167    }
168
169    private GeoCodeCountries(Name alias, Table<com.echothree.model.jooq.server.records.geo.GeoCodeCountries> aliased, Field<?>[] parameters, Condition where) {
170        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
171    }
172
173    /**
174     * Create an aliased <code>geocodecountries</code> table reference
175     */
176    public GeoCodeCountries(String alias) {
177        this(DSL.name(alias), GeoCodeCountries);
178    }
179
180    /**
181     * Create an aliased <code>geocodecountries</code> table reference
182     */
183    public GeoCodeCountries(Name alias) {
184        this(alias, GeoCodeCountries);
185    }
186
187    /**
188     * Create a <code>geocodecountries</code> table reference
189     */
190    public GeoCodeCountries() {
191        this(DSL.name("geocodecountries"), null);
192    }
193
194    @Override
195    public UniqueKey<com.echothree.model.jooq.server.records.geo.GeoCodeCountries> getPrimaryKey() {
196        return KeyRegistry.GEO_CODE_COUNTRIES_PK;
197    }
198
199    @Override
200    public List<UniqueKey<com.echothree.model.jooq.server.records.geo.GeoCodeCountries>> getUniqueKeys() {
201        return Arrays.asList(KeyRegistry.GEO_CODE_COUNTRIES_GEO_CODE_AND_THRU_TIME_UK);
202    }
203
204    @Override
205    public List<ForeignKey<com.echothree.model.jooq.server.records.geo.GeoCodeCountries, ?>> getReferences() {
206        return Arrays.asList(KeyRegistry.GEO_CODE_COUNTRIES_GEO_CODE_FK, KeyRegistry.GEO_CODE_COUNTRIES_POSTAL_ADDRESS_FORMAT_FK);
207    }
208
209    private transient GeoCodesPath _geoc_geo_geocodeid_fk;
210
211    /**
212     * Get the implicit join path to the <code>geocodes</code> table.
213     */
214    public GeoCodesPath geoc_geo_geocodeid_fk() {
215        if (_geoc_geo_geocodeid_fk == null)
216            _geoc_geo_geocodeid_fk = new GeoCodesPath(this, KeyRegistry.GEO_CODE_COUNTRIES_GEO_CODE_FK, null);
217
218        return _geoc_geo_geocodeid_fk;
219    }
220
221    private transient PostalAddressFormatsPath _geoc_pstafmt_postaladdressformatid_fk;
222
223    /**
224     * Get the implicit join path to the <code>postaladdressformats</code>
225     * table.
226     */
227    public PostalAddressFormatsPath geoc_pstafmt_postaladdressformatid_fk() {
228        if (_geoc_pstafmt_postaladdressformatid_fk == null)
229            _geoc_pstafmt_postaladdressformatid_fk = new PostalAddressFormatsPath(this, KeyRegistry.GEO_CODE_COUNTRIES_POSTAL_ADDRESS_FORMAT_FK, null);
230
231        return _geoc_pstafmt_postaladdressformatid_fk;
232    }
233
234    @Override
235    public GeoCodeCountries as(String alias) {
236        return new GeoCodeCountries(DSL.name(alias), this);
237    }
238
239    @Override
240    public GeoCodeCountries as(Name alias) {
241        return new GeoCodeCountries(alias, this);
242    }
243
244    @Override
245    public GeoCodeCountries as(Table<?> alias) {
246        return new GeoCodeCountries(alias.getQualifiedName(), this);
247    }
248
249    /**
250     * Rename this table
251     */
252    @Override
253    public GeoCodeCountries rename(String name) {
254        return new GeoCodeCountries(DSL.name(name), null);
255    }
256
257    /**
258     * Rename this table
259     */
260    @Override
261    public GeoCodeCountries rename(Name name) {
262        return new GeoCodeCountries(name, null);
263    }
264
265    /**
266     * Rename this table
267     */
268    @Override
269    public GeoCodeCountries rename(Table<?> name) {
270        return new GeoCodeCountries(name.getQualifiedName(), null);
271    }
272
273    /**
274     * Create an inline derived table from this table
275     */
276    @Override
277    public GeoCodeCountries where(Condition condition) {
278        return new GeoCodeCountries(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
279    }
280
281    /**
282     * Create an inline derived table from this table
283     */
284    @Override
285    public GeoCodeCountries where(Collection<? extends Condition> conditions) {
286        return where(DSL.and(conditions));
287    }
288
289    /**
290     * Create an inline derived table from this table
291     */
292    @Override
293    public GeoCodeCountries where(Condition... conditions) {
294        return where(DSL.and(conditions));
295    }
296
297    /**
298     * Create an inline derived table from this table
299     */
300    @Override
301    public GeoCodeCountries where(Field<Boolean> condition) {
302        return where(DSL.condition(condition));
303    }
304
305    /**
306     * Create an inline derived table from this table
307     */
308    @Override
309    @PlainSQL
310    public GeoCodeCountries where(SQL condition) {
311        return where(DSL.condition(condition));
312    }
313
314    /**
315     * Create an inline derived table from this table
316     */
317    @Override
318    @PlainSQL
319    public GeoCodeCountries where(@Stringly.SQL String condition) {
320        return where(DSL.condition(condition));
321    }
322
323    /**
324     * Create an inline derived table from this table
325     */
326    @Override
327    @PlainSQL
328    public GeoCodeCountries where(@Stringly.SQL String condition, Object... binds) {
329        return where(DSL.condition(condition, binds));
330    }
331
332    /**
333     * Create an inline derived table from this table
334     */
335    @Override
336    @PlainSQL
337    public GeoCodeCountries where(@Stringly.SQL String condition, QueryPart... parts) {
338        return where(DSL.condition(condition, parts));
339    }
340
341    /**
342     * Create an inline derived table from this table
343     */
344    @Override
345    public GeoCodeCountries whereExists(TableLike<?> select) {
346        return where(DSL.exists(select));
347    }
348
349    /**
350     * Create an inline derived table from this table
351     */
352    @Override
353    public GeoCodeCountries whereNotExists(TableLike<?> select) {
354        return where(DSL.notExists(select));
355    }
356}