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