001/*
002 * This file is generated by jOOQ.
003 */
004package com.echothree.model.jooq.server.tables.inventory;
005
006
007import com.echothree.model.data.inventory.common.pk.InventoryDispositionPK;
008import com.echothree.model.data.inventory.common.pk.InventoryTransactionReasonDetailPK;
009import com.echothree.model.data.inventory.common.pk.InventoryTransactionReasonPK;
010import com.echothree.model.data.inventory.common.pk.InventoryTransactionTypePK;
011import com.echothree.model.jooq.server.KeyRegistry;
012import com.echothree.model.jooq.server.tables.inventory.InventoryDispositions.InventoryDispositionsPath;
013import com.echothree.model.jooq.server.tables.inventory.InventoryTransactionReasons.InventoryTransactionReasonsPath;
014import com.echothree.model.jooq.server.tables.inventory.InventoryTransactionTypes.InventoryTransactionTypesPath;
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 InventoryTransactionReasonDetails extends TableImpl<com.echothree.model.jooq.server.records.inventory.InventoryTransactionReasonDetails> {
048
049    private static final long serialVersionUID = 1L;
050
051    /**
052     * The reference instance of <code>inventorytransactionreasondetails</code>
053     */
054    public static final InventoryTransactionReasonDetails InventoryTransactionReasonDetails = new InventoryTransactionReasonDetails();
055
056    /**
057     * The class holding records for this type
058     */
059    @Override
060    public Class<com.echothree.model.jooq.server.records.inventory.InventoryTransactionReasonDetails> getRecordType() {
061        return com.echothree.model.jooq.server.records.inventory.InventoryTransactionReasonDetails.class;
062    }
063
064    /**
065     * The column
066     * <code>inventorytransactionreasondetails.invtrxrsndt_inventorytransactionreasondetailid</code>.
067     */
068    public final TableField<com.echothree.model.jooq.server.records.inventory.InventoryTransactionReasonDetails, InventoryTransactionReasonDetailPK> INVENTORY_TRANSACTION_REASON_DETAIL = createField(DSL.name("invtrxrsndt_inventorytransactionreasondetailid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, InventoryTransactionReasonDetailPK.class, id -> new com.echothree.model.data.inventory.common.pk.InventoryTransactionReasonDetailPK(id), primaryKey -> primaryKey.getEntityId()));
069
070    /**
071     * The column
072     * <code>inventorytransactionreasondetails.invtrxrsndt_invtrxrsn_inventorytransactionreasonid</code>.
073     */
074    public final TableField<com.echothree.model.jooq.server.records.inventory.InventoryTransactionReasonDetails, InventoryTransactionReasonPK> INVENTORY_TRANSACTION_REASON = createField(DSL.name("invtrxrsndt_invtrxrsn_inventorytransactionreasonid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, InventoryTransactionReasonPK.class, id -> new com.echothree.model.data.inventory.common.pk.InventoryTransactionReasonPK(id), primaryKey -> primaryKey.getEntityId()));
075
076    /**
077     * The column
078     * <code>inventorytransactionreasondetails.invtrxrsndt_invtrxtyp_inventorytransactiontypeid</code>.
079     */
080    public final TableField<com.echothree.model.jooq.server.records.inventory.InventoryTransactionReasonDetails, InventoryTransactionTypePK> INVENTORY_TRANSACTION_TYPE = createField(DSL.name("invtrxrsndt_invtrxtyp_inventorytransactiontypeid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, InventoryTransactionTypePK.class, id -> new com.echothree.model.data.inventory.common.pk.InventoryTransactionTypePK(id), primaryKey -> primaryKey.getEntityId()));
081
082    /**
083     * The column
084     * <code>inventorytransactionreasondetails.invtrxrsndt_inventorytransactionreasonname</code>.
085     */
086    public final TableField<com.echothree.model.jooq.server.records.inventory.InventoryTransactionReasonDetails, String> INVENTORY_TRANSACTION_REASON_NAME = createField(DSL.name("invtrxrsndt_inventorytransactionreasonname"), SQLDataType.VARCHAR(40).nullable(false), this, "");
087
088    /**
089     * The column
090     * <code>inventorytransactionreasondetails.invtrxrsndt_invdsp_inventorydispositionid</code>.
091     */
092    public final TableField<com.echothree.model.jooq.server.records.inventory.InventoryTransactionReasonDetails, InventoryDispositionPK> INVENTORY_DISPOSITION = createField(DSL.name("invtrxrsndt_invdsp_inventorydispositionid"), SQLDataType.BIGINT.nullable(false), this, "", Converter.ofNullable(Long.class, InventoryDispositionPK.class, id -> new com.echothree.model.data.inventory.common.pk.InventoryDispositionPK(id), primaryKey -> primaryKey.getEntityId()));
093
094    /**
095     * The column
096     * <code>inventorytransactionreasondetails.invtrxrsndt_isdefault</code>.
097     */
098    public final TableField<com.echothree.model.jooq.server.records.inventory.InventoryTransactionReasonDetails, Boolean> IS_DEFAULT = createField(DSL.name("invtrxrsndt_isdefault"), SQLDataType.BIT.nullable(false), this, "");
099
100    /**
101     * The column
102     * <code>inventorytransactionreasondetails.invtrxrsndt_sortorder</code>.
103     */
104    public final TableField<com.echothree.model.jooq.server.records.inventory.InventoryTransactionReasonDetails, Integer> SORT_ORDER = createField(DSL.name("invtrxrsndt_sortorder"), SQLDataType.INTEGER.nullable(false), this, "");
105
106    /**
107     * The column
108     * <code>inventorytransactionreasondetails.invtrxrsndt_fromtime</code>.
109     */
110    public final TableField<com.echothree.model.jooq.server.records.inventory.InventoryTransactionReasonDetails, Long> FROM_TIME = createField(DSL.name("invtrxrsndt_fromtime"), SQLDataType.BIGINT.nullable(false), this, "");
111
112    /**
113     * The column
114     * <code>inventorytransactionreasondetails.invtrxrsndt_thrutime</code>.
115     */
116    public final TableField<com.echothree.model.jooq.server.records.inventory.InventoryTransactionReasonDetails, Long> THRU_TIME = createField(DSL.name("invtrxrsndt_thrutime"), SQLDataType.BIGINT.nullable(false), this, "");
117
118    private InventoryTransactionReasonDetails(Name alias, Table<com.echothree.model.jooq.server.records.inventory.InventoryTransactionReasonDetails> aliased) {
119        this(alias, aliased, (Field<?>[]) null, null);
120    }
121
122    private InventoryTransactionReasonDetails(Name alias, Table<com.echothree.model.jooq.server.records.inventory.InventoryTransactionReasonDetails> aliased, Field<?>[] parameters, Condition where) {
123        super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table(), where);
124    }
125
126    /**
127     * Create an aliased <code>inventorytransactionreasondetails</code> table
128     * reference
129     */
130    public InventoryTransactionReasonDetails(String alias) {
131        this(DSL.name(alias), InventoryTransactionReasonDetails);
132    }
133
134    /**
135     * Create an aliased <code>inventorytransactionreasondetails</code> table
136     * reference
137     */
138    public InventoryTransactionReasonDetails(Name alias) {
139        this(alias, InventoryTransactionReasonDetails);
140    }
141
142    /**
143     * Create a <code>inventorytransactionreasondetails</code> table reference
144     */
145    public InventoryTransactionReasonDetails() {
146        this(DSL.name("inventorytransactionreasondetails"), null);
147    }
148
149    public <O extends Record> InventoryTransactionReasonDetails(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.inventory.InventoryTransactionReasonDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.inventory.InventoryTransactionReasonDetails> parentPath) {
150        super(path, childPath, parentPath, InventoryTransactionReasonDetails);
151    }
152
153    /**
154     * A subtype implementing {@link Path} for simplified path-based joins.
155     */
156    public static class InventoryTransactionReasonDetailsPath extends InventoryTransactionReasonDetails implements Path<com.echothree.model.jooq.server.records.inventory.InventoryTransactionReasonDetails> {
157
158        private static final long serialVersionUID = 1L;
159        public <O extends Record> InventoryTransactionReasonDetailsPath(Table<O> path, ForeignKey<O, com.echothree.model.jooq.server.records.inventory.InventoryTransactionReasonDetails> childPath, InverseForeignKey<O, com.echothree.model.jooq.server.records.inventory.InventoryTransactionReasonDetails> parentPath) {
160            super(path, childPath, parentPath);
161        }
162        private InventoryTransactionReasonDetailsPath(Name alias, Table<com.echothree.model.jooq.server.records.inventory.InventoryTransactionReasonDetails> aliased) {
163            super(alias, aliased);
164        }
165
166        @Override
167        public InventoryTransactionReasonDetailsPath as(String alias) {
168            return new InventoryTransactionReasonDetailsPath(DSL.name(alias), this);
169        }
170
171        @Override
172        public InventoryTransactionReasonDetailsPath as(Name alias) {
173            return new InventoryTransactionReasonDetailsPath(alias, this);
174        }
175
176        @Override
177        public InventoryTransactionReasonDetailsPath as(Table<?> alias) {
178            return new InventoryTransactionReasonDetailsPath(alias.getQualifiedName(), this);
179        }
180    }
181
182    @Override
183    public UniqueKey<com.echothree.model.jooq.server.records.inventory.InventoryTransactionReasonDetails> getPrimaryKey() {
184        return KeyRegistry.INVENTORY_TRANSACTION_REASON_DETAILS_PK;
185    }
186
187    @Override
188    public List<UniqueKey<com.echothree.model.jooq.server.records.inventory.InventoryTransactionReasonDetails>> getUniqueKeys() {
189        return Arrays.asList(KeyRegistry.INVENTORY_TRANSACTION_REASON_DETAILS_INVENTORY_TRANSACTION_REASON_AND_THRU_TIME_UK, KeyRegistry.INVENTORY_TRANSACTION_REASON_DETAILS_INVENTORY_TRANSACTION_TYPE_AND_INVENTORY_TRANSACTION_REASON_NAME_AND_THRU_TIME_UK);
190    }
191
192    @Override
193    public List<ForeignKey<com.echothree.model.jooq.server.records.inventory.InventoryTransactionReasonDetails, ?>> getReferences() {
194        return Arrays.asList(KeyRegistry.INVENTORY_TRANSACTION_REASON_DETAILS_INVENTORY_DISPOSITION_FK, KeyRegistry.INVENTORY_TRANSACTION_REASON_DETAILS_INVENTORY_TRANSACTION_REASON_FK, KeyRegistry.INVENTORY_TRANSACTION_REASON_DETAILS_INVENTORY_TRANSACTION_TYPE_FK);
195    }
196
197    private transient InventoryDispositionsPath _invtrxrsndt_invdsp_inventorydispositionid_fk;
198
199    /**
200     * Get the implicit join path to the <code>inventorydispositions</code>
201     * table.
202     */
203    public InventoryDispositionsPath invtrxrsndt_invdsp_inventorydispositionid_fk() {
204        if (_invtrxrsndt_invdsp_inventorydispositionid_fk == null)
205            _invtrxrsndt_invdsp_inventorydispositionid_fk = new InventoryDispositionsPath(this, KeyRegistry.INVENTORY_TRANSACTION_REASON_DETAILS_INVENTORY_DISPOSITION_FK, null);
206
207        return _invtrxrsndt_invdsp_inventorydispositionid_fk;
208    }
209
210    private transient InventoryTransactionReasonsPath _invtrxrsndt_invtrxrsn_inventorytransactionreasonid_fk;
211
212    /**
213     * Get the implicit join path to the
214     * <code>inventorytransactionreasons</code> table.
215     */
216    public InventoryTransactionReasonsPath invtrxrsndt_invtrxrsn_inventorytransactionreasonid_fk() {
217        if (_invtrxrsndt_invtrxrsn_inventorytransactionreasonid_fk == null)
218            _invtrxrsndt_invtrxrsn_inventorytransactionreasonid_fk = new InventoryTransactionReasonsPath(this, KeyRegistry.INVENTORY_TRANSACTION_REASON_DETAILS_INVENTORY_TRANSACTION_REASON_FK, null);
219
220        return _invtrxrsndt_invtrxrsn_inventorytransactionreasonid_fk;
221    }
222
223    private transient InventoryTransactionTypesPath _invtrxrsndt_invtrxtyp_inventorytransactiontypeid_fk;
224
225    /**
226     * Get the implicit join path to the <code>inventorytransactiontypes</code>
227     * table.
228     */
229    public InventoryTransactionTypesPath invtrxrsndt_invtrxtyp_inventorytransactiontypeid_fk() {
230        if (_invtrxrsndt_invtrxtyp_inventorytransactiontypeid_fk == null)
231            _invtrxrsndt_invtrxtyp_inventorytransactiontypeid_fk = new InventoryTransactionTypesPath(this, KeyRegistry.INVENTORY_TRANSACTION_REASON_DETAILS_INVENTORY_TRANSACTION_TYPE_FK, null);
232
233        return _invtrxrsndt_invtrxtyp_inventorytransactiontypeid_fk;
234    }
235
236    @Override
237    public InventoryTransactionReasonDetails as(String alias) {
238        return new InventoryTransactionReasonDetails(DSL.name(alias), this);
239    }
240
241    @Override
242    public InventoryTransactionReasonDetails as(Name alias) {
243        return new InventoryTransactionReasonDetails(alias, this);
244    }
245
246    @Override
247    public InventoryTransactionReasonDetails as(Table<?> alias) {
248        return new InventoryTransactionReasonDetails(alias.getQualifiedName(), this);
249    }
250
251    /**
252     * Rename this table
253     */
254    @Override
255    public InventoryTransactionReasonDetails rename(String name) {
256        return new InventoryTransactionReasonDetails(DSL.name(name), null);
257    }
258
259    /**
260     * Rename this table
261     */
262    @Override
263    public InventoryTransactionReasonDetails rename(Name name) {
264        return new InventoryTransactionReasonDetails(name, null);
265    }
266
267    /**
268     * Rename this table
269     */
270    @Override
271    public InventoryTransactionReasonDetails rename(Table<?> name) {
272        return new InventoryTransactionReasonDetails(name.getQualifiedName(), null);
273    }
274
275    /**
276     * Create an inline derived table from this table
277     */
278    @Override
279    public InventoryTransactionReasonDetails where(Condition condition) {
280        return new InventoryTransactionReasonDetails(getQualifiedName(), aliased() ? this : null, null, Internal.condition(this, condition));
281    }
282
283    /**
284     * Create an inline derived table from this table
285     */
286    @Override
287    public InventoryTransactionReasonDetails where(Collection<? extends Condition> conditions) {
288        return where(DSL.and(conditions));
289    }
290
291    /**
292     * Create an inline derived table from this table
293     */
294    @Override
295    public InventoryTransactionReasonDetails where(Condition... conditions) {
296        return where(DSL.and(conditions));
297    }
298
299    /**
300     * Create an inline derived table from this table
301     */
302    @Override
303    public InventoryTransactionReasonDetails where(Field<Boolean> condition) {
304        return where(DSL.condition(condition));
305    }
306
307    /**
308     * Create an inline derived table from this table
309     */
310    @Override
311    @PlainSQL
312    public InventoryTransactionReasonDetails where(SQL condition) {
313        return where(DSL.condition(condition));
314    }
315
316    /**
317     * Create an inline derived table from this table
318     */
319    @Override
320    @PlainSQL
321    public InventoryTransactionReasonDetails where(@Stringly.SQL String condition) {
322        return where(DSL.condition(condition));
323    }
324
325    /**
326     * Create an inline derived table from this table
327     */
328    @Override
329    @PlainSQL
330    public InventoryTransactionReasonDetails where(@Stringly.SQL String condition, Object... binds) {
331        return where(DSL.condition(condition, binds));
332    }
333
334    /**
335     * Create an inline derived table from this table
336     */
337    @Override
338    @PlainSQL
339    public InventoryTransactionReasonDetails where(@Stringly.SQL String condition, QueryPart... parts) {
340        return where(DSL.condition(condition, parts));
341    }
342
343    /**
344     * Create an inline derived table from this table
345     */
346    @Override
347    public InventoryTransactionReasonDetails whereExists(TableLike<?> select) {
348        return where(DSL.exists(select));
349    }
350
351    /**
352     * Create an inline derived table from this table
353     */
354    @Override
355    public InventoryTransactionReasonDetails whereNotExists(TableLike<?> select) {
356        return where(DSL.notExists(select));
357    }
358}