001// --------------------------------------------------------------------------------
002// Copyright 2002-2025 Echo Three, LLC
003//
004// Licensed under the Apache License, Version 2.0 (the "License");
005// you may not use this file except in compliance with the License.
006// You may obtain a copy of the License at
007//
008//     http://www.apache.org/licenses/LICENSE-2.0
009//
010// Unless required by applicable law or agreed to in writing, software
011// distributed under the License is distributed on an "AS IS" BASIS,
012// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013// See the License for the specific language governing permissions and
014// limitations under the License.
015// --------------------------------------------------------------------------------
016// Generated File -- DO NOT EDIT BY HAND
017// --------------------------------------------------------------------------------
018
019/**
020 * VendorItemDetail.java
021 */
022
023package com.echothree.model.data.vendor.server.entity;
024
025import com.echothree.model.data.vendor.common.pk.VendorItemDetailPK;
026
027import com.echothree.model.data.vendor.common.pk.VendorItemPK;
028import com.echothree.model.data.item.common.pk.ItemPK;
029import com.echothree.model.data.party.common.pk.PartyPK;
030import com.echothree.model.data.cancellationpolicy.common.pk.CancellationPolicyPK;
031import com.echothree.model.data.returnpolicy.common.pk.ReturnPolicyPK;
032
033import com.echothree.model.data.vendor.server.entity.VendorItem;
034import com.echothree.model.data.item.server.entity.Item;
035import com.echothree.model.data.party.server.entity.Party;
036import com.echothree.model.data.cancellationpolicy.server.entity.CancellationPolicy;
037import com.echothree.model.data.returnpolicy.server.entity.ReturnPolicy;
038
039import com.echothree.model.data.vendor.server.factory.VendorItemFactory;
040import com.echothree.model.data.item.server.factory.ItemFactory;
041import com.echothree.model.data.party.server.factory.PartyFactory;
042import com.echothree.model.data.cancellationpolicy.server.factory.CancellationPolicyFactory;
043import com.echothree.model.data.returnpolicy.server.factory.ReturnPolicyFactory;
044
045import com.echothree.model.data.vendor.common.pk.VendorItemDetailPK;
046
047import com.echothree.model.data.vendor.server.value.VendorItemDetailValue;
048
049import com.echothree.model.data.vendor.server.factory.VendorItemDetailFactory;
050
051import com.echothree.util.common.exception.PersistenceException;
052import com.echothree.util.common.exception.PersistenceDatabaseException;
053import com.echothree.util.common.exception.PersistenceNotNullException;
054import com.echothree.util.common.exception.PersistenceReadOnlyException;
055
056import com.echothree.util.common.persistence.BasePK;
057
058import com.echothree.util.common.persistence.type.ByteArray;
059
060import com.echothree.util.server.persistence.BaseEntity;
061import com.echothree.util.server.persistence.EntityPermission;
062import com.echothree.util.server.persistence.Session;
063import com.echothree.util.server.persistence.ThreadSession;
064
065import java.io.Serializable;
066
067public class VendorItemDetail
068        extends BaseEntity
069        implements Serializable {
070    
071    private VendorItemDetailPK _pk;
072    private VendorItemDetailValue _value;
073    
074    /** Creates a new instance of VendorItemDetail */
075    public VendorItemDetail()
076            throws PersistenceException {
077        super();
078    }
079    
080    /** Creates a new instance of VendorItemDetail */
081    public VendorItemDetail(VendorItemDetailValue value, EntityPermission entityPermission) {
082        super(entityPermission);
083        
084        _value = value;
085        _pk = value.getPrimaryKey();
086    }
087    
088    @Override
089    public VendorItemDetailFactory getBaseFactoryInstance() {
090        return VendorItemDetailFactory.getInstance();
091    }
092    
093    @Override
094    public boolean hasBeenModified() {
095        return _value.hasBeenModified();
096    }
097    
098    @Override
099    public int hashCode() {
100        return _pk.hashCode();
101    }
102    
103    @Override
104    public String toString() {
105        return _pk.toString();
106    }
107    
108    @Override
109    public boolean equals(Object other) {
110        if(this == other)
111            return true;
112        
113        if(other instanceof VendorItemDetail that) {
114            VendorItemDetailValue thatValue = that.getVendorItemDetailValue();
115            return _value.equals(thatValue);
116        } else {
117            return false;
118        }
119    }
120    
121    @Override
122    public void store(Session session)
123            throws PersistenceDatabaseException {
124        getBaseFactoryInstance().store(session, this);
125    }
126    
127    @Override
128    public void remove(Session session)
129            throws PersistenceDatabaseException {
130        getBaseFactoryInstance().remove(session, this);
131    }
132    
133    @Override
134    public void remove()
135            throws PersistenceDatabaseException {
136        getBaseFactoryInstance().remove(ThreadSession.currentSession(), this);
137    }
138    
139    public VendorItemDetailValue getVendorItemDetailValue() {
140        return _value;
141    }
142    
143    public void setVendorItemDetailValue(VendorItemDetailValue value)
144            throws PersistenceReadOnlyException {
145        checkReadWrite();
146        _value = value;
147    }
148    
149    @Override
150    public VendorItemDetailPK getPrimaryKey() {
151        return _pk;
152    }
153    
154    public VendorItemPK getVendorItemPK() {
155        return _value.getVendorItemPK();
156    }
157    
158    public VendorItem getVendorItem(Session session, EntityPermission entityPermission) {
159        return VendorItemFactory.getInstance().getEntityFromPK(session, entityPermission, getVendorItemPK());
160    }
161    
162    public VendorItem getVendorItem(EntityPermission entityPermission) {
163        return getVendorItem(ThreadSession.currentSession(), entityPermission);
164    }
165    
166    public VendorItem getVendorItem(Session session) {
167        return getVendorItem(session, EntityPermission.READ_ONLY);
168    }
169    
170    public VendorItem getVendorItem() {
171        return getVendorItem(ThreadSession.currentSession(), EntityPermission.READ_ONLY);
172    }
173    
174    public VendorItem getVendorItemForUpdate(Session session) {
175        return getVendorItem(session, EntityPermission.READ_WRITE);
176    }
177    
178    public VendorItem getVendorItemForUpdate() {
179        return getVendorItem(ThreadSession.currentSession(), EntityPermission.READ_WRITE);
180    }
181    
182    public void setVendorItemPK(VendorItemPK vendorItemPK)
183            throws PersistenceNotNullException, PersistenceReadOnlyException {
184        checkReadWrite();
185        _value.setVendorItemPK(vendorItemPK);
186    }
187    
188    public void setVendorItem(VendorItem entity) {
189        setVendorItemPK(entity == null? null: entity.getPrimaryKey());
190    }
191    
192    public boolean getVendorItemPKHasBeenModified() {
193        return _value.getVendorItemPKHasBeenModified();
194    }
195    
196    public ItemPK getItemPK() {
197        return _value.getItemPK();
198    }
199    
200    public Item getItem(Session session, EntityPermission entityPermission) {
201        return ItemFactory.getInstance().getEntityFromPK(session, entityPermission, getItemPK());
202    }
203    
204    public Item getItem(EntityPermission entityPermission) {
205        return getItem(ThreadSession.currentSession(), entityPermission);
206    }
207    
208    public Item getItem(Session session) {
209        return getItem(session, EntityPermission.READ_ONLY);
210    }
211    
212    public Item getItem() {
213        return getItem(ThreadSession.currentSession(), EntityPermission.READ_ONLY);
214    }
215    
216    public Item getItemForUpdate(Session session) {
217        return getItem(session, EntityPermission.READ_WRITE);
218    }
219    
220    public Item getItemForUpdate() {
221        return getItem(ThreadSession.currentSession(), EntityPermission.READ_WRITE);
222    }
223    
224    public void setItemPK(ItemPK itemPK)
225            throws PersistenceNotNullException, PersistenceReadOnlyException {
226        checkReadWrite();
227        _value.setItemPK(itemPK);
228    }
229    
230    public void setItem(Item entity) {
231        setItemPK(entity == null? null: entity.getPrimaryKey());
232    }
233    
234    public boolean getItemPKHasBeenModified() {
235        return _value.getItemPKHasBeenModified();
236    }
237    
238    public PartyPK getVendorPartyPK() {
239        return _value.getVendorPartyPK();
240    }
241    
242    public Party getVendorParty(Session session, EntityPermission entityPermission) {
243        return PartyFactory.getInstance().getEntityFromPK(session, entityPermission, getVendorPartyPK());
244    }
245    
246    public Party getVendorParty(EntityPermission entityPermission) {
247        return getVendorParty(ThreadSession.currentSession(), entityPermission);
248    }
249    
250    public Party getVendorParty(Session session) {
251        return getVendorParty(session, EntityPermission.READ_ONLY);
252    }
253    
254    public Party getVendorParty() {
255        return getVendorParty(ThreadSession.currentSession(), EntityPermission.READ_ONLY);
256    }
257    
258    public Party getVendorPartyForUpdate(Session session) {
259        return getVendorParty(session, EntityPermission.READ_WRITE);
260    }
261    
262    public Party getVendorPartyForUpdate() {
263        return getVendorParty(ThreadSession.currentSession(), EntityPermission.READ_WRITE);
264    }
265    
266    public void setVendorPartyPK(PartyPK vendorPartyPK)
267            throws PersistenceNotNullException, PersistenceReadOnlyException {
268        checkReadWrite();
269        _value.setVendorPartyPK(vendorPartyPK);
270    }
271    
272    public void setVendorParty(Party entity) {
273        setVendorPartyPK(entity == null? null: entity.getPrimaryKey());
274    }
275    
276    public boolean getVendorPartyPKHasBeenModified() {
277        return _value.getVendorPartyPKHasBeenModified();
278    }
279    
280    public String getVendorItemName() {
281        return _value.getVendorItemName();
282    }
283    
284    public void setVendorItemName(String vendorItemName)
285            throws PersistenceNotNullException, PersistenceReadOnlyException {
286        checkReadWrite();
287        _value.setVendorItemName(vendorItemName);
288    }
289    
290    public boolean getVendorItemNameHasBeenModified() {
291        return _value.getVendorItemNameHasBeenModified();
292    }
293    
294    public String getDescription() {
295        return _value.getDescription();
296    }
297    
298    public void setDescription(String description)
299            throws PersistenceNotNullException, PersistenceReadOnlyException {
300        checkReadWrite();
301        _value.setDescription(description);
302    }
303    
304    public boolean getDescriptionHasBeenModified() {
305        return _value.getDescriptionHasBeenModified();
306    }
307    
308    public Integer getPriority() {
309        return _value.getPriority();
310    }
311    
312    public void setPriority(Integer priority)
313            throws PersistenceNotNullException, PersistenceReadOnlyException {
314        checkReadWrite();
315        _value.setPriority(priority);
316    }
317    
318    public boolean getPriorityHasBeenModified() {
319        return _value.getPriorityHasBeenModified();
320    }
321    
322    public CancellationPolicyPK getCancellationPolicyPK() {
323        return _value.getCancellationPolicyPK();
324    }
325    
326    public CancellationPolicy getCancellationPolicy(Session session, EntityPermission entityPermission) {
327        CancellationPolicyPK pk = getCancellationPolicyPK();
328        CancellationPolicy entity = pk == null? null: CancellationPolicyFactory.getInstance().getEntityFromPK(session, entityPermission, pk);
329        
330        return entity;
331    }
332    
333    public CancellationPolicy getCancellationPolicy(EntityPermission entityPermission) {
334        return getCancellationPolicy(ThreadSession.currentSession(), entityPermission);
335    }
336    
337    public CancellationPolicy getCancellationPolicy(Session session) {
338        return getCancellationPolicy(session, EntityPermission.READ_ONLY);
339    }
340    
341    public CancellationPolicy getCancellationPolicy() {
342        return getCancellationPolicy(ThreadSession.currentSession(), EntityPermission.READ_ONLY);
343    }
344    
345    public CancellationPolicy getCancellationPolicyForUpdate(Session session) {
346        return getCancellationPolicy(session, EntityPermission.READ_WRITE);
347    }
348    
349    public CancellationPolicy getCancellationPolicyForUpdate() {
350        return getCancellationPolicy(ThreadSession.currentSession(), EntityPermission.READ_WRITE);
351    }
352    
353    public void setCancellationPolicyPK(CancellationPolicyPK cancellationPolicyPK)
354            throws PersistenceNotNullException, PersistenceReadOnlyException {
355        checkReadWrite();
356        _value.setCancellationPolicyPK(cancellationPolicyPK);
357    }
358    
359    public void setCancellationPolicy(CancellationPolicy entity) {
360        setCancellationPolicyPK(entity == null? null: entity.getPrimaryKey());
361    }
362    
363    public boolean getCancellationPolicyPKHasBeenModified() {
364        return _value.getCancellationPolicyPKHasBeenModified();
365    }
366    
367    public ReturnPolicyPK getReturnPolicyPK() {
368        return _value.getReturnPolicyPK();
369    }
370    
371    public ReturnPolicy getReturnPolicy(Session session, EntityPermission entityPermission) {
372        ReturnPolicyPK pk = getReturnPolicyPK();
373        ReturnPolicy entity = pk == null? null: ReturnPolicyFactory.getInstance().getEntityFromPK(session, entityPermission, pk);
374        
375        return entity;
376    }
377    
378    public ReturnPolicy getReturnPolicy(EntityPermission entityPermission) {
379        return getReturnPolicy(ThreadSession.currentSession(), entityPermission);
380    }
381    
382    public ReturnPolicy getReturnPolicy(Session session) {
383        return getReturnPolicy(session, EntityPermission.READ_ONLY);
384    }
385    
386    public ReturnPolicy getReturnPolicy() {
387        return getReturnPolicy(ThreadSession.currentSession(), EntityPermission.READ_ONLY);
388    }
389    
390    public ReturnPolicy getReturnPolicyForUpdate(Session session) {
391        return getReturnPolicy(session, EntityPermission.READ_WRITE);
392    }
393    
394    public ReturnPolicy getReturnPolicyForUpdate() {
395        return getReturnPolicy(ThreadSession.currentSession(), EntityPermission.READ_WRITE);
396    }
397    
398    public void setReturnPolicyPK(ReturnPolicyPK returnPolicyPK)
399            throws PersistenceNotNullException, PersistenceReadOnlyException {
400        checkReadWrite();
401        _value.setReturnPolicyPK(returnPolicyPK);
402    }
403    
404    public void setReturnPolicy(ReturnPolicy entity) {
405        setReturnPolicyPK(entity == null? null: entity.getPrimaryKey());
406    }
407    
408    public boolean getReturnPolicyPKHasBeenModified() {
409        return _value.getReturnPolicyPKHasBeenModified();
410    }
411    
412    public Long getFromTime() {
413        return _value.getFromTime();
414    }
415    
416    public void setFromTime(Long fromTime)
417            throws PersistenceNotNullException, PersistenceReadOnlyException {
418        checkReadWrite();
419        _value.setFromTime(fromTime);
420    }
421    
422    public boolean getFromTimeHasBeenModified() {
423        return _value.getFromTimeHasBeenModified();
424    }
425    
426    public Long getThruTime() {
427        return _value.getThruTime();
428    }
429    
430    public void setThruTime(Long thruTime)
431            throws PersistenceNotNullException, PersistenceReadOnlyException {
432        checkReadWrite();
433        _value.setThruTime(thruTime);
434    }
435    
436    public boolean getThruTimeHasBeenModified() {
437        return _value.getThruTimeHasBeenModified();
438    }
439    
440}