001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.accounting;
005
006
007import com.echothree.model.data.accounting.common.pk.GlAccountPK;
008import com.echothree.model.data.accounting.common.pk.GlAccountSummaryPK;
009import com.echothree.model.data.party.common.pk.PartyPK;
010import com.echothree.model.data.period.common.pk.PeriodPK;
011import com.echothree.model.jooq.server.KeyRegistry;
012import com.echothree.model.jooq.server.tables.accounting.GlAccounts.GlAccountsPath;
013import com.echothree.model.jooq.server.tables.party.Parties.PartiesPath;
014import com.echothree.model.jooq.server.tables.period.Periods.PeriodsPath;
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.Name;
025import org.jooq.PlainSQL;
026import org.jooq.QueryPart;
027import org.jooq.SQL;
028import org.jooq.Stringly;
029import org.jooq.Table;
030import org.jooq.TableField;
031import org.jooq.TableLike;
032import org.jooq.TableOptions;
033import org.jooq.UniqueKey;
034import org.jooq.impl.DSL;
035import org.jooq.impl.Internal;
036import org.jooq.impl.SQLDataType;
037import org.jooq.impl.TableImpl;
038
039
040/**
041 * This class is generated by jOOQ.
042 */
043@SuppressWarnings({ "all", "unchecked", "rawtypes", "this-escape" })
044public class GlAccountSummaries extends TableImpl<com.echothree.model.jooq.server.records.accounting.GlAccountSummaries> {
045
046    private static final long serialVersionUID = 1L;
047
048    /**
049     * The reference instance of <code>glaccountsummaries</code>
050     */
051    public static final GlAccountSummaries GlAccountSummaries = new GlAccountSummaries();
052
053    /**
054     * The class holding records for this type
055     */
056    @Override
057    public Class<com.echothree.model.jooq.server.records.accounting.GlAccountSummaries> getRecordType() {
058        return com.echothree.model.jooq.server.records.accounting.GlAccountSummaries.class;
059    }
060
061    /**
062     * The column <code>glaccountsummaries.glasmy_glaccountsummaryid</code>.
063     */
064    public final TableField<com.echothree.model.jooq.server.records.accounting.GlAccountSummaries, GlAccountSummaryPK> GL_ACCOUNT_SUMMARY = createField(DSL.name("glasmy_glaccountsummaryid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, GlAccountSummaryPK.class, id -> new com.echothree.model.data.accounting.common.pk.GlAccountSummaryPK(id), primaryKey -> primaryKey.getEntityId()));
065
066    /**
067     * The column <code>glaccountsummaries.glasmy_gla_glaccountid</code>.
068     */
069    public final TableField<com.echothree.model.jooq.server.records.accounting.GlAccountSummaries, GlAccountPK> GL_ACCOUNT = createField(DSL.name("glasmy_gla_glaccountid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, GlAccountPK.class, id -> new com.echothree.model.data.accounting.common.pk.GlAccountPK(id), primaryKey -> primaryKey.getEntityId()));
070
071    /**
072     * The column <code>glaccountsummaries.glasmy_grouppartyid</code>.
073     */
074    public final TableField<com.echothree.model.jooq.server.records.accounting.GlAccountSummaries, PartyPK> GROUP_PARTY = createField(DSL.name("glasmy_grouppartyid"), 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()));
075
076    /**
077     * The column <code>glaccountsummaries.glasmy_prd_periodid</code>.
078     */
079    public final TableField<com.echothree.model.jooq.server.records.accounting.GlAccountSummaries, PeriodPK> PERIOD = createField(DSL.name("glasmy_prd_periodid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, PeriodPK.class, id -> new com.echothree.model.data.period.common.pk.PeriodPK(id), primaryKey -> primaryKey.getEntityId()));
080
081    /**
082     * The column <code>glaccountsummaries.glasmy_debittotal</code>.
083     */
084    public final TableField<com.echothree.model.jooq.server.records.accounting.GlAccountSummaries, Long> DEBIT_TOTAL = createField(DSL.name("glasmy_debittotal"), SQLDataType.BIGINT.nullable(false), this, "");
085
086    /**
087     * The column <code>glaccountsummaries.glasmy_credittotal</code>.
088     */
089    public final TableField<com.echothree.model.jooq.server.records.accounting.GlAccountSummaries, Long> CREDIT_TOTAL = createField(DSL.name("glasmy_credittotal"), SQLDataType.BIGINT.nullable(false), this, "");
090
091    /**
092     * The column <code>glaccountsummaries.glasmy_balance</code>.
093     */
094    public final TableField<com.echothree.model.jooq.server.records.accounting.GlAccountSummaries, Long> BALANCE = createField(DSL.name("glasmy_balance"), SQLDataType.BIGINT.nullable(false), this, "");
095
096    private GlAccountSummaries(Name alias, Table<com.echothree.model.jooq.server.records.accounting.GlAccountSummaries> aliased) {
097        this(alias, aliased, (Field<?>[]) null, null);
098    }
099
100    private GlAccountSummaries(Name alias, Table<com.echothree.model.jooq.server.records.accounting.GlAccountSummaries> aliased, Field<?>[] parameters, Condition where) {
101        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
102    }
103
104    /**
105     * Create an aliased <code>glaccountsummaries</code> table reference
106     */
107    public GlAccountSummaries(String alias) {
108        this(DSL.name(alias), GlAccountSummaries);
109    }
110
111    /**
112     * Create an aliased <code>glaccountsummaries</code> table reference
113     */
114    public GlAccountSummaries(Name alias) {
115        this(alias, GlAccountSummaries);
116    }
117
118    /**
119     * Create a <code>glaccountsummaries</code> table reference
120     */
121    public GlAccountSummaries() {
122        this(DSL.name("glaccountsummaries"), null);
123    }
124
125    @Override
126    public UniqueKey<com.echothree.model.jooq.server.records.accounting.GlAccountSummaries> getPrimaryKey() {
127        return KeyRegistry.GL_ACCOUNT_SUMMARIES_PK;
128    }
129
130    @Override
131    public List<UniqueKey<com.echothree.model.jooq.server.records.accounting.GlAccountSummaries>> getUniqueKeys() {
132        return Arrays.asList(KeyRegistry.GL_ACCOUNT_SUMMARIES_GL_ACCOUNT_AND_GROUP_PARTY_AND_PERIOD_UK);
133    }
134
135    @Override
136    public List<ForeignKey<com.echothree.model.jooq.server.records.accounting.GlAccountSummaries, ?>> getReferences() {
137        return Arrays.asList(KeyRegistry.GL_ACCOUNT_SUMMARIES_GL_ACCOUNT_FK, KeyRegistry.GL_ACCOUNT_SUMMARIES_GROUP_PARTY_FK, KeyRegistry.GL_ACCOUNT_SUMMARIES_PERIOD_FK);
138    }
139
140    private transient GlAccountsPath _glasmy_gla_glaccountid_fk;
141
142    /**
143     * Get the implicit join path to the <code>glaccounts</code> table.
144     */
145    public GlAccountsPath glasmy_gla_glaccountid_fk() {
146        if (_glasmy_gla_glaccountid_fk == null)
147            _glasmy_gla_glaccountid_fk = new GlAccountsPath(this, KeyRegistry.GL_ACCOUNT_SUMMARIES_GL_ACCOUNT_FK, null);
148
149        return _glasmy_gla_glaccountid_fk;
150    }
151
152    private transient PartiesPath _glasmy_grouppartyid_fk;
153
154    /**
155     * Get the implicit join path to the <code>parties</code> table.
156     */
157    public PartiesPath glasmy_grouppartyid_fk() {
158        if (_glasmy_grouppartyid_fk == null)
159            _glasmy_grouppartyid_fk = new PartiesPath(this, KeyRegistry.GL_ACCOUNT_SUMMARIES_GROUP_PARTY_FK, null);
160
161        return _glasmy_grouppartyid_fk;
162    }
163
164    private transient PeriodsPath _glasmy_prd_periodid_fk;
165
166    /**
167     * Get the implicit join path to the <code>periods</code> table.
168     */
169    public PeriodsPath glasmy_prd_periodid_fk() {
170        if (_glasmy_prd_periodid_fk == null)
171            _glasmy_prd_periodid_fk = new PeriodsPath(this, KeyRegistry.GL_ACCOUNT_SUMMARIES_PERIOD_FK, null);
172
173        return _glasmy_prd_periodid_fk;
174    }
175
176    @Override
177    public GlAccountSummaries as(String alias) {
178        return new GlAccountSummaries(DSL.name(alias), this);
179    }
180
181    @Override
182    public GlAccountSummaries as(Name alias) {
183        return new GlAccountSummaries(alias, this);
184    }
185
186    @Override
187    public GlAccountSummaries as(Table<?> alias) {
188        return new GlAccountSummaries(alias.getQualifiedName(), this);
189    }
190
191    /**
192     * Rename this table
193     */
194    @Override
195    public GlAccountSummaries rename(String name) {
196        return new GlAccountSummaries(DSL.name(name), null);
197    }
198
199    /**
200     * Rename this table
201     */
202    @Override
203    public GlAccountSummaries rename(Name name) {
204        return new GlAccountSummaries(name, null);
205    }
206
207    /**
208     * Rename this table
209     */
210    @Override
211    public GlAccountSummaries rename(Table<?> name) {
212        return new GlAccountSummaries(name.getQualifiedName(), null);
213    }
214
215    /**
216     * Create an inline derived table from this table
217     */
218    @Override
219    public GlAccountSummaries where(Condition condition) {
220        return new GlAccountSummaries(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
221    }
222
223    /**
224     * Create an inline derived table from this table
225     */
226    @Override
227    public GlAccountSummaries where(Collection<? extends Condition> conditions) {
228        return where(DSL.and(conditions));
229    }
230
231    /**
232     * Create an inline derived table from this table
233     */
234    @Override
235    public GlAccountSummaries where(Condition... conditions) {
236        return where(DSL.and(conditions));
237    }
238
239    /**
240     * Create an inline derived table from this table
241     */
242    @Override
243    public GlAccountSummaries where(Field<Boolean> condition) {
244        return where(DSL.condition(condition));
245    }
246
247    /**
248     * Create an inline derived table from this table
249     */
250    @Override
251    @PlainSQL
252    public GlAccountSummaries where(SQL condition) {
253        return where(DSL.condition(condition));
254    }
255
256    /**
257     * Create an inline derived table from this table
258     */
259    @Override
260    @PlainSQL
261    public GlAccountSummaries where(@Stringly.SQL String condition) {
262        return where(DSL.condition(condition));
263    }
264
265    /**
266     * Create an inline derived table from this table
267     */
268    @Override
269    @PlainSQL
270    public GlAccountSummaries where(@Stringly.SQL String condition, Object... binds) {
271        return where(DSL.condition(condition, binds));
272    }
273
274    /**
275     * Create an inline derived table from this table
276     */
277    @Override
278    @PlainSQL
279    public GlAccountSummaries where(@Stringly.SQL String condition, QueryPart... parts) {
280        return where(DSL.condition(condition, parts));
281    }
282
283    /**
284     * Create an inline derived table from this table
285     */
286    @Override
287    public GlAccountSummaries whereExists(TableLike<?> select) {
288        return where(DSL.exists(select));
289    }
290
291    /**
292     * Create an inline derived table from this table
293     */
294    @Override
295    public GlAccountSummaries whereNotExists(TableLike<?> select) {
296        return where(DSL.notExists(select));
297    }
298}