001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.payment;
005
006
007import com.echothree.model.data.contact.common.pk.PartyContactMechanismPK;
008import com.echothree.model.data.party.common.pk.PartyPK;
009import com.echothree.model.data.payment.common.pk.BillingAccountPK;
010import com.echothree.model.data.payment.common.pk.BillingAccountRolePK;
011import com.echothree.model.data.payment.common.pk.BillingAccountRoleTypePK;
012import com.echothree.model.jooq.server.KeyRegistry;
013import com.echothree.model.jooq.server.tables.contact.PartyContactMechanisms.PartyContactMechanismsPath;
014import com.echothree.model.jooq.server.tables.party.Parties.PartiesPath;
015import com.echothree.model.jooq.server.tables.payment.BillingAccountRoleTypes.BillingAccountRoleTypesPath;
016import com.echothree.model.jooq.server.tables.payment.BillingAccounts.BillingAccountsPath;
017
018import java.util.Arrays;
019import java.util.Collection;
020import java.util.List;
021
022import org.jooq.Condition;
023import org.jooq.Converter;
024import org.jooq.Field;
025import org.jooq.ForeignKey;
026import org.jooq.Name;
027import org.jooq.PlainSQL;
028import org.jooq.QueryPart;
029import org.jooq.SQL;
030import org.jooq.Stringly;
031import org.jooq.Table;
032import org.jooq.TableField;
033import org.jooq.TableLike;
034import org.jooq.TableOptions;
035import org.jooq.UniqueKey;
036import org.jooq.impl.DSL;
037import org.jooq.impl.Internal;
038import org.jooq.impl.SQLDataType;
039import org.jooq.impl.TableImpl;
040
041
042/**
043 * This class is generated by jOOQ.
044 */
045@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
046public class BillingAccountRoles extends TableImpl<com.echothree.model.jooq.server.records.payment.BillingAccountRoles> {
047
048    private static final long serialVersionUID = 1L;
049
050    /**
051     * The reference instance of <code>billingaccountroles</code>
052     */
053    public static final BillingAccountRoles BillingAccountRoles = new BillingAccountRoles();
054
055    /**
056     * The class holding records for this type
057     */
058    @Override
059    public Class<com.echothree.model.jooq.server.records.payment.BillingAccountRoles> getRecordType() {
060        return com.echothree.model.jooq.server.records.payment.BillingAccountRoles.class;
061    }
062
063    /**
064     * The column <code>billingaccountroles.bllactr_billingaccountroleid</code>.
065     */
066    public final TableField<com.echothree.model.jooq.server.records.payment.BillingAccountRoles, BillingAccountRolePK> BILLING_ACCOUNT_ROLE = createField(DSL.name("bllactr_billingaccountroleid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, BillingAccountRolePK.class, id -> new com.echothree.model.data.payment.common.pk.BillingAccountRolePK(id), primaryKey -> primaryKey.getEntityId()));
067
068    /**
069     * The column
070     * <code>billingaccountroles.bllactr_bllact_billingaccountid</code>.
071     */
072    public final TableField<com.echothree.model.jooq.server.records.payment.BillingAccountRoles, BillingAccountPK> BILLING_ACCOUNT = createField(DSL.name("bllactr_bllact_billingaccountid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, BillingAccountPK.class, id -> new com.echothree.model.data.payment.common.pk.BillingAccountPK(id), primaryKey -> primaryKey.getEntityId()));
073
074    /**
075     * The column <code>billingaccountroles.bllactr_par_partyid</code>.
076     */
077    public final TableField<com.echothree.model.jooq.server.records.payment.BillingAccountRoles, PartyPK> PARTY = createField(DSL.name("bllactr_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()));
078
079    /**
080     * The column
081     * <code>billingaccountroles.bllactr_pcm_partycontactmechanismid</code>.
082     */
083    public final TableField<com.echothree.model.jooq.server.records.payment.BillingAccountRoles, PartyContactMechanismPK> PARTY_CONTACT_MECHANISM = createField(DSL.name("bllactr_pcm_partycontactmechanismid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, PartyContactMechanismPK.class, id -> new com.echothree.model.data.contact.common.pk.PartyContactMechanismPK(id), primaryKey -> primaryKey.getEntityId()));
084
085    /**
086     * The column
087     * <code>billingaccountroles.bllactr_bllactrtyp_billingaccountroletypeid</code>.
088     */
089    public final TableField<com.echothree.model.jooq.server.records.payment.BillingAccountRoles, BillingAccountRoleTypePK> BILLING_ACCOUNT_ROLE_TYPE = createField(DSL.name("bllactr_bllactrtyp_billingaccountroletypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, BillingAccountRoleTypePK.class, id -> new com.echothree.model.data.payment.common.pk.BillingAccountRoleTypePK(id), primaryKey -> primaryKey.getEntityId()));
090
091    /**
092     * The column <code>billingaccountroles.bllactr_fromtime</code>.
093     */
094    public final TableField<com.echothree.model.jooq.server.records.payment.BillingAccountRoles, Long> FROM_TIME = createField(DSL.name("bllactr_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
095
096    /**
097     * The column <code>billingaccountroles.bllactr_thrutime</code>.
098     */
099    public final TableField<com.echothree.model.jooq.server.records.payment.BillingAccountRoles, Long> THRU_TIME = createField(DSL.name("bllactr_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
100
101    private BillingAccountRoles(Name alias, Table<com.echothree.model.jooq.server.records.payment.BillingAccountRoles> aliased) {
102        this(alias, aliased, (Field<?>[]) null, null);
103    }
104
105    private BillingAccountRoles(Name alias, Table<com.echothree.model.jooq.server.records.payment.BillingAccountRoles> aliased, Field<?>[] parameters, Condition where) {
106        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
107    }
108
109    /**
110     * Create an aliased <code>billingaccountroles</code> table reference
111     */
112    public BillingAccountRoles(String alias) {
113        this(DSL.name(alias), BillingAccountRoles);
114    }
115
116    /**
117     * Create an aliased <code>billingaccountroles</code> table reference
118     */
119    public BillingAccountRoles(Name alias) {
120        this(alias, BillingAccountRoles);
121    }
122
123    /**
124     * Create a <code>billingaccountroles</code> table reference
125     */
126    public BillingAccountRoles() {
127        this(DSL.name("billingaccountroles"), null);
128    }
129
130    @Override
131    public UniqueKey<com.echothree.model.jooq.server.records.payment.BillingAccountRoles> getPrimaryKey() {
132        return KeyRegistry.BILLING_ACCOUNT_ROLES_PK;
133    }
134
135    @Override
136    public List<UniqueKey<com.echothree.model.jooq.server.records.payment.BillingAccountRoles>> getUniqueKeys() {
137        return Arrays.asList(KeyRegistry.BILLING_ACCOUNT_ROLES_BILLING_ACCOUNT_AND_BILLING_ACCOUNT_ROLE_TYPE_AND_THRU_TIME_UK);
138    }
139
140    @Override
141    public List<ForeignKey<com.echothree.model.jooq.server.records.payment.BillingAccountRoles, ?>> getReferences() {
142        return Arrays.asList(KeyRegistry.BILLING_ACCOUNT_ROLES_BILLING_ACCOUNT_FK, KeyRegistry.BILLING_ACCOUNT_ROLES_BILLING_ACCOUNT_ROLE_TYPE_FK, KeyRegistry.BILLING_ACCOUNT_ROLES_PARTY_FK, KeyRegistry.BILLING_ACCOUNT_ROLES_PARTY_CONTACT_MECHANISM_FK);
143    }
144
145    private transient BillingAccountsPath _bllactr_bllact_billingaccountid_fk;
146
147    /**
148     * Get the implicit join path to the <code>billingaccounts</code> table.
149     */
150    public BillingAccountsPath bllactr_bllact_billingaccountid_fk() {
151        if (_bllactr_bllact_billingaccountid_fk == null)
152            _bllactr_bllact_billingaccountid_fk = new BillingAccountsPath(this, KeyRegistry.BILLING_ACCOUNT_ROLES_BILLING_ACCOUNT_FK, null);
153
154        return _bllactr_bllact_billingaccountid_fk;
155    }
156
157    private transient BillingAccountRoleTypesPath _bllactr_bllactrtyp_billingaccountroletypeid_fk;
158
159    /**
160     * Get the implicit join path to the <code>billingaccountroletypes</code>
161     * table.
162     */
163    public BillingAccountRoleTypesPath bllactr_bllactrtyp_billingaccountroletypeid_fk() {
164        if (_bllactr_bllactrtyp_billingaccountroletypeid_fk == null)
165            _bllactr_bllactrtyp_billingaccountroletypeid_fk = new BillingAccountRoleTypesPath(this, KeyRegistry.BILLING_ACCOUNT_ROLES_BILLING_ACCOUNT_ROLE_TYPE_FK, null);
166
167        return _bllactr_bllactrtyp_billingaccountroletypeid_fk;
168    }
169
170    private transient PartiesPath _bllactr_par_partyid_fk;
171
172    /**
173     * Get the implicit join path to the <code>parties</code> table.
174     */
175    public PartiesPath bllactr_par_partyid_fk() {
176        if (_bllactr_par_partyid_fk == null)
177            _bllactr_par_partyid_fk = new PartiesPath(this, KeyRegistry.BILLING_ACCOUNT_ROLES_PARTY_FK, null);
178
179        return _bllactr_par_partyid_fk;
180    }
181
182    private transient PartyContactMechanismsPath _bllactr_pcm_partycontactmechanismid_fk;
183
184    /**
185     * Get the implicit join path to the <code>partycontactmechanisms</code>
186     * table.
187     */
188    public PartyContactMechanismsPath bllactr_pcm_partycontactmechanismid_fk() {
189        if (_bllactr_pcm_partycontactmechanismid_fk == null)
190            _bllactr_pcm_partycontactmechanismid_fk = new PartyContactMechanismsPath(this, KeyRegistry.BILLING_ACCOUNT_ROLES_PARTY_CONTACT_MECHANISM_FK, null);
191
192        return _bllactr_pcm_partycontactmechanismid_fk;
193    }
194
195    @Override
196    public BillingAccountRoles as(String alias) {
197        return new BillingAccountRoles(DSL.name(alias), this);
198    }
199
200    @Override
201    public BillingAccountRoles as(Name alias) {
202        return new BillingAccountRoles(alias, this);
203    }
204
205    @Override
206    public BillingAccountRoles as(Table<?> alias) {
207        return new BillingAccountRoles(alias.getQualifiedName(), this);
208    }
209
210    /**
211     * Rename this table
212     */
213    @Override
214    public BillingAccountRoles rename(String name) {
215        return new BillingAccountRoles(DSL.name(name), null);
216    }
217
218    /**
219     * Rename this table
220     */
221    @Override
222    public BillingAccountRoles rename(Name name) {
223        return new BillingAccountRoles(name, null);
224    }
225
226    /**
227     * Rename this table
228     */
229    @Override
230    public BillingAccountRoles rename(Table<?> name) {
231        return new BillingAccountRoles(name.getQualifiedName(), null);
232    }
233
234    /**
235     * Create an inline derived table from this table
236     */
237    @Override
238    public BillingAccountRoles where(Condition condition) {
239        return new BillingAccountRoles(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
240    }
241
242    /**
243     * Create an inline derived table from this table
244     */
245    @Override
246    public BillingAccountRoles where(Collection<? extends Condition> conditions) {
247        return where(DSL.and(conditions));
248    }
249
250    /**
251     * Create an inline derived table from this table
252     */
253    @Override
254    public BillingAccountRoles where(Condition... conditions) {
255        return where(DSL.and(conditions));
256    }
257
258    /**
259     * Create an inline derived table from this table
260     */
261    @Override
262    public BillingAccountRoles where(Field<Boolean> condition) {
263        return where(DSL.condition(condition));
264    }
265
266    /**
267     * Create an inline derived table from this table
268     */
269    @Override
270    @PlainSQL
271    public BillingAccountRoles where(SQL condition) {
272        return where(DSL.condition(condition));
273    }
274
275    /**
276     * Create an inline derived table from this table
277     */
278    @Override
279    @PlainSQL
280    public BillingAccountRoles where(@Stringly.SQL String condition) {
281        return where(DSL.condition(condition));
282    }
283
284    /**
285     * Create an inline derived table from this table
286     */
287    @Override
288    @PlainSQL
289    public BillingAccountRoles where(@Stringly.SQL String condition, Object... binds) {
290        return where(DSL.condition(condition, binds));
291    }
292
293    /**
294     * Create an inline derived table from this table
295     */
296    @Override
297    @PlainSQL
298    public BillingAccountRoles where(@Stringly.SQL String condition, QueryPart... parts) {
299        return where(DSL.condition(condition, parts));
300    }
301
302    /**
303     * Create an inline derived table from this table
304     */
305    @Override
306    public BillingAccountRoles whereExists(TableLike<?> select) {
307        return where(DSL.exists(select));
308    }
309
310    /**
311     * Create an inline derived table from this table
312     */
313    @Override
314    public BillingAccountRoles whereNotExists(TableLike<?> select) {
315        return where(DSL.notExists(select));
316    }
317}