001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.subscription;
005
006
007import com.echothree.model.data.party.common.pk.PartyPK;
008import com.echothree.model.data.subscription.common.pk.SubscriptionDetailPK;
009import com.echothree.model.data.subscription.common.pk.SubscriptionPK;
010import com.echothree.model.data.subscription.common.pk.SubscriptionTypePK;
011import com.echothree.model.jooq.server.KeyRegistry;
012import com.echothree.model.jooq.server.tables.party.Parties.PartiesPath;
013import com.echothree.model.jooq.server.tables.subscription.SubscriptionTypes.SubscriptionTypesPath;
014import com.echothree.model.jooq.server.tables.subscription.Subscriptions.SubscriptionsPath;
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 SubscriptionDetails extends TableImpl<com.echothree.model.jooq.server.records.subscription.SubscriptionDetails> {
048
049    private static final long serialVersionUID = 1L;
050
051    /**
052     * The reference instance of <code>subscriptiondetails</code>
053     */
054    public static final SubscriptionDetails SubscriptionDetails = new SubscriptionDetails();
055
056    /**
057     * The class holding records for this type
058     */
059    @Override
060    public Class<com.echothree.model.jooq.server.records.subscription.SubscriptionDetails> getRecordType() {
061        return com.echothree.model.jooq.server.records.subscription.SubscriptionDetails.class;
062    }
063
064    /**
065     * The column
066     * <code>subscriptiondetails.subscrdt_subscriptiondetailid</code>.
067     */
068    public final TableField<com.echothree.model.jooq.server.records.subscription.SubscriptionDetails, SubscriptionDetailPK> SUBSCRIPTION_DETAIL = createField(DSL.name("subscrdt_subscriptiondetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, SubscriptionDetailPK.class, id -> new com.echothree.model.data.subscription.common.pk.SubscriptionDetailPK(id), primaryKey -> primaryKey.getEntityId()));
069
070    /**
071     * The column
072     * <code>subscriptiondetails.subscrdt_subscr_subscriptionid</code>.
073     */
074    public final TableField<com.echothree.model.jooq.server.records.subscription.SubscriptionDetails, SubscriptionPK> SUBSCRIPTION = createField(DSL.name("subscrdt_subscr_subscriptionid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, SubscriptionPK.class, id -> new com.echothree.model.data.subscription.common.pk.SubscriptionPK(id), primaryKey -> primaryKey.getEntityId()));
075
076    /**
077     * The column <code>subscriptiondetails.subscrdt_subscriptionname</code>.
078     */
079    public final TableField<com.echothree.model.jooq.server.records.subscription.SubscriptionDetails, String> SUBSCRIPTION_NAME = createField(DSL.name("subscrdt_subscriptionname"), SQLDataType.VARCHAR(40).nullable(false), this, "");
080
081    /**
082     * The column
083     * <code>subscriptiondetails.subscrdt_subscrtyp_subscriptiontypeid</code>.
084     */
085    public final TableField<com.echothree.model.jooq.server.records.subscription.SubscriptionDetails, SubscriptionTypePK> SUBSCRIPTION_TYPE = createField(DSL.name("subscrdt_subscrtyp_subscriptiontypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, SubscriptionTypePK.class, id -> new com.echothree.model.data.subscription.common.pk.SubscriptionTypePK(id), primaryKey -> primaryKey.getEntityId()));
086
087    /**
088     * The column <code>subscriptiondetails.subscrdt_par_partyid</code>.
089     */
090    public final TableField<com.echothree.model.jooq.server.records.subscription.SubscriptionDetails, PartyPK> PARTY = createField(DSL.name("subscrdt_par_partyid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, PartyPK.class, id -> new com.echothree.model.data.party.common.pk.PartyPK(id), primaryKey -> primaryKey.getEntityId()));
091
092    /**
093     * The column <code>subscriptiondetails.subscrdt_starttime</code>.
094     */
095    public final TableField<com.echothree.model.jooq.server.records.subscription.SubscriptionDetails, Long> START_TIME = createField(DSL.name("subscrdt_starttime"), SQLDataType.BIGINT.nullable(false), this, "");
096
097    /**
098     * The column <code>subscriptiondetails.subscrdt_endtime</code>.
099     */
100    public final TableField<com.echothree.model.jooq.server.records.subscription.SubscriptionDetails, Long> END_TIME = createField(DSL.name("subscrdt_endtime"), SQLDataType.BIGINT, this, "");
101
102    /**
103     * The column <code>subscriptiondetails.subscrdt_fromtime</code>.
104     */
105    public final TableField<com.echothree.model.jooq.server.records.subscription.SubscriptionDetails, Long> FROM_TIME = createField(DSL.name("subscrdt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
106
107    /**
108     * The column <code>subscriptiondetails.subscrdt_thrutime</code>.
109     */
110    public final TableField<com.echothree.model.jooq.server.records.subscription.SubscriptionDetails, Long> THRU_TIME = createField(DSL.name("subscrdt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
111
112    private SubscriptionDetails(Name alias, Table<com.echothree.model.jooq.server.records.subscription.SubscriptionDetails> aliased) {
113        this(alias, aliased, (Field<?>[]) null, null);
114    }
115
116    private SubscriptionDetails(Name alias, Table<com.echothree.model.jooq.server.records.subscription.SubscriptionDetails> aliased, Field<?>[] parameters, Condition where) {
117        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
118    }
119
120    /**
121     * Create an aliased <code>subscriptiondetails</code> table reference
122     */
123    public SubscriptionDetails(String alias) {
124        this(DSL.name(alias), SubscriptionDetails);
125    }
126
127    /**
128     * Create an aliased <code>subscriptiondetails</code> table reference
129     */
130    public SubscriptionDetails(Name alias) {
131        this(alias, SubscriptionDetails);
132    }
133
134    /**
135     * Create a <code>subscriptiondetails</code> table reference
136     */
137    public SubscriptionDetails() {
138        this(DSL.name("subscriptiondetails"), null);
139    }
140
141    public <O extends Record> SubscriptionDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.subscription.SubscriptionDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.subscription.SubscriptionDetails> parentPath) {
142        super(path, childPath, parentPath, SubscriptionDetails);
143    }
144
145    /**
146     * A subtype implementing {@link Path} for simplified path-based joins.
147     */
148    public static class SubscriptionDetailsPath extends SubscriptionDetails implements Path<com.echothree.model.jooq.server.records.subscription.SubscriptionDetails> {
149
150        private static final long serialVersionUID = 1L;
151        public <O extends Record> SubscriptionDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.subscription.SubscriptionDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.subscription.SubscriptionDetails> parentPath) {
152            super(path, childPath, parentPath);
153        }
154        private SubscriptionDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.subscription.SubscriptionDetails> aliased) {
155            super(alias, aliased);
156        }
157
158        @Override
159        public SubscriptionDetailsPath as(String alias) {
160            return new SubscriptionDetailsPath(DSL.name(alias), this);
161        }
162
163        @Override
164        public SubscriptionDetailsPath as(Name alias) {
165            return new SubscriptionDetailsPath(alias, this);
166        }
167
168        @Override
169        public SubscriptionDetailsPath as(Table<?> alias) {
170            return new SubscriptionDetailsPath(alias.getQualifiedName(), this);
171        }
172    }
173
174    @Override
175    public UniqueKey<com.echothree.model.jooq.server.records.subscription.SubscriptionDetails> getPrimaryKey() {
176        return KeyRegistry.SUBSCRIPTION_DETAILS_PK;
177    }
178
179    @Override
180    public List<UniqueKey<com.echothree.model.jooq.server.records.subscription.SubscriptionDetails>> getUniqueKeys() {
181        return Arrays.asList(KeyRegistry.SUBSCRIPTION_DETAILS_SUBSCRIPTION_AND_THRU_TIME_UK, KeyRegistry.SUBSCRIPTION_DETAILS_SUBSCRIPTION_NAME_AND_THRU_TIME_UK);
182    }
183
184    @Override
185    public List<ForeignKey<com.echothree.model.jooq.server.records.subscription.SubscriptionDetails, ?>> getReferences() {
186        return Arrays.asList(KeyRegistry.SUBSCRIPTION_DETAILS_PARTY_FK, KeyRegistry.SUBSCRIPTION_DETAILS_SUBSCRIPTION_FK, KeyRegistry.SUBSCRIPTION_DETAILS_SUBSCRIPTION_TYPE_FK);
187    }
188
189    private transient PartiesPath _subscrdt_par_partyid_fk;
190
191    /**
192     * Get the implicit join path to the <code>parties</code> table.
193     */
194    public PartiesPath subscrdt_par_partyid_fk() {
195        if (_subscrdt_par_partyid_fk == null)
196            _subscrdt_par_partyid_fk = new PartiesPath(this, KeyRegistry.SUBSCRIPTION_DETAILS_PARTY_FK, null);
197
198        return _subscrdt_par_partyid_fk;
199    }
200
201    private transient SubscriptionsPath _subscrdt_subscr_subscriptionid_fk;
202
203    /**
204     * Get the implicit join path to the <code>subscriptions</code> table.
205     */
206    public SubscriptionsPath subscrdt_subscr_subscriptionid_fk() {
207        if (_subscrdt_subscr_subscriptionid_fk == null)
208            _subscrdt_subscr_subscriptionid_fk = new SubscriptionsPath(this, KeyRegistry.SUBSCRIPTION_DETAILS_SUBSCRIPTION_FK, null);
209
210        return _subscrdt_subscr_subscriptionid_fk;
211    }
212
213    private transient SubscriptionTypesPath _subscrdt_subscrtyp_subscriptiontypeid_fk;
214
215    /**
216     * Get the implicit join path to the <code>subscriptiontypes</code> table.
217     */
218    public SubscriptionTypesPath subscrdt_subscrtyp_subscriptiontypeid_fk() {
219        if (_subscrdt_subscrtyp_subscriptiontypeid_fk == null)
220            _subscrdt_subscrtyp_subscriptiontypeid_fk = new SubscriptionTypesPath(this, KeyRegistry.SUBSCRIPTION_DETAILS_SUBSCRIPTION_TYPE_FK, null);
221
222        return _subscrdt_subscrtyp_subscriptiontypeid_fk;
223    }
224
225    @Override
226    public SubscriptionDetails as(String alias) {
227        return new SubscriptionDetails(DSL.name(alias), this);
228    }
229
230    @Override
231    public SubscriptionDetails as(Name alias) {
232        return new SubscriptionDetails(alias, this);
233    }
234
235    @Override
236    public SubscriptionDetails as(Table<?> alias) {
237        return new SubscriptionDetails(alias.getQualifiedName(), this);
238    }
239
240    /**
241     * Rename this table
242     */
243    @Override
244    public SubscriptionDetails rename(String name) {
245        return new SubscriptionDetails(DSL.name(name), null);
246    }
247
248    /**
249     * Rename this table
250     */
251    @Override
252    public SubscriptionDetails rename(Name name) {
253        return new SubscriptionDetails(name, null);
254    }
255
256    /**
257     * Rename this table
258     */
259    @Override
260    public SubscriptionDetails rename(Table<?> name) {
261        return new SubscriptionDetails(name.getQualifiedName(), null);
262    }
263
264    /**
265     * Create an inline derived table from this table
266     */
267    @Override
268    public SubscriptionDetails where(Condition condition) {
269        return new SubscriptionDetails(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
270    }
271
272    /**
273     * Create an inline derived table from this table
274     */
275    @Override
276    public SubscriptionDetails where(Collection<? extends Condition> conditions) {
277        return where(DSL.and(conditions));
278    }
279
280    /**
281     * Create an inline derived table from this table
282     */
283    @Override
284    public SubscriptionDetails where(Condition... conditions) {
285        return where(DSL.and(conditions));
286    }
287
288    /**
289     * Create an inline derived table from this table
290     */
291    @Override
292    public SubscriptionDetails where(Field<Boolean> condition) {
293        return where(DSL.condition(condition));
294    }
295
296    /**
297     * Create an inline derived table from this table
298     */
299    @Override
300    @PlainSQL
301    public SubscriptionDetails where(SQL 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 SubscriptionDetails where(@Stringly.SQL String 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 SubscriptionDetails where(@Stringly.SQL String condition, Object... binds) {
320        return where(DSL.condition(condition, binds));
321    }
322
323    /**
324     * Create an inline derived table from this table
325     */
326    @Override
327    @PlainSQL
328    public SubscriptionDetails where(@Stringly.SQL String condition, QueryPart... parts) {
329        return where(DSL.condition(condition, parts));
330    }
331
332    /**
333     * Create an inline derived table from this table
334     */
335    @Override
336    public SubscriptionDetails whereExists(TableLike<?> select) {
337        return where(DSL.exists(select));
338    }
339
340    /**
341     * Create an inline derived table from this table
342     */
343    @Override
344    public SubscriptionDetails whereNotExists(TableLike<?> select) {
345        return where(DSL.notExists(select));
346    }
347}