001// --------------------------------------------------------------------------------
002// Copyright 2002-2026 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 * OfferDetail.java
021 */
022
023package com.echothree.model.data.offer.server.entity;
024
025import com.echothree.model.data.offer.common.pk.OfferDetailPK;
026
027import com.echothree.model.data.offer.common.pk.OfferPK;
028import com.echothree.model.data.sequence.common.pk.SequencePK;
029import com.echothree.model.data.party.common.pk.PartyPK;
030import com.echothree.model.data.selector.common.pk.SelectorPK;
031import com.echothree.model.data.filter.common.pk.FilterPK;
032
033import com.echothree.model.data.offer.server.entity.Offer;
034import com.echothree.model.data.sequence.server.entity.Sequence;
035import com.echothree.model.data.party.server.entity.Party;
036import com.echothree.model.data.selector.server.entity.Selector;
037import com.echothree.model.data.filter.server.entity.Filter;
038
039import com.echothree.model.data.offer.server.factory.OfferFactory;
040import com.echothree.model.data.sequence.server.factory.SequenceFactory;
041import com.echothree.model.data.party.server.factory.PartyFactory;
042import com.echothree.model.data.selector.server.factory.SelectorFactory;
043import com.echothree.model.data.filter.server.factory.FilterFactory;
044
045import com.echothree.model.data.offer.common.pk.OfferDetailPK;
046
047import com.echothree.model.data.offer.server.value.OfferDetailValue;
048
049import com.echothree.model.data.offer.server.factory.OfferDetailFactory;
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 OfferDetail
068        extends BaseEntity
069        implements Serializable {
070    
071    private OfferDetailPK _pk;
072    private OfferDetailValue _value;
073    
074    /** Creates a new instance of OfferDetail */
075    public OfferDetail()
076            throws PersistenceException {
077        super();
078    }
079    
080    /** Creates a new instance of OfferDetail */
081    public OfferDetail(OfferDetailValue value, EntityPermission entityPermission) {
082        super(entityPermission);
083        
084        _value = value;
085        _pk = value.getPrimaryKey();
086    }
087    
088    @Override
089    public OfferDetailFactory getBaseFactoryInstance() {
090        return OfferDetailFactory.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 OfferDetail that) {
114            OfferDetailValue thatValue = that.getOfferDetailValue();
115            return _value.equals(thatValue);
116        } else {
117            return false;
118        }
119    }
120    
121    @Override
122    public void store()
123            throws PersistenceDatabaseException {
124        getBaseFactoryInstance().store(this);
125    }
126    
127    @Override
128    public void remove()
129            throws PersistenceDatabaseException {
130        getBaseFactoryInstance().remove(this);
131    }
132    
133    public OfferDetailValue getOfferDetailValue() {
134        return _value;
135    }
136    
137    public void setOfferDetailValue(OfferDetailValue value)
138            throws PersistenceReadOnlyException {
139        checkReadWrite();
140        _value = value;
141    }
142    
143    @Override
144    public OfferDetailPK getPrimaryKey() {
145        return _pk;
146    }
147    
148    public OfferPK getOfferPK() {
149        return _value.getOfferPK();
150    }
151    
152    public Offer getOffer(EntityPermission entityPermission) {
153        return OfferFactory.getInstance().getEntityFromPK(entityPermission, getOfferPK());
154    }
155    
156    public Offer getOffer() {
157        return getOffer(EntityPermission.READ_ONLY);
158    }
159    
160    public Offer getOfferForUpdate() {
161        return getOffer(EntityPermission.READ_WRITE);
162    }
163    
164    public void setOfferPK(OfferPK offerPK)
165            throws PersistenceNotNullException, PersistenceReadOnlyException {
166        checkReadWrite();
167        _value.setOfferPK(offerPK);
168    }
169    
170    public void setOffer(Offer entity) {
171        setOfferPK(entity == null? null: entity.getPrimaryKey());
172    }
173    
174    public boolean getOfferPKHasBeenModified() {
175        return _value.getOfferPKHasBeenModified();
176    }
177    
178    public String getOfferName() {
179        return _value.getOfferName();
180    }
181    
182    public void setOfferName(String offerName)
183            throws PersistenceNotNullException, PersistenceReadOnlyException {
184        checkReadWrite();
185        _value.setOfferName(offerName);
186    }
187    
188    public boolean getOfferNameHasBeenModified() {
189        return _value.getOfferNameHasBeenModified();
190    }
191    
192    public SequencePK getSalesOrderSequencePK() {
193        return _value.getSalesOrderSequencePK();
194    }
195    
196    public Sequence getSalesOrderSequence(EntityPermission entityPermission) {
197        SequencePK pk = getSalesOrderSequencePK();
198        Sequence entity = pk == null? null: SequenceFactory.getInstance().getEntityFromPK(entityPermission, pk);
199        
200        return entity;
201    }
202    
203    public Sequence getSalesOrderSequence() {
204        return getSalesOrderSequence(EntityPermission.READ_ONLY);
205    }
206    
207    public Sequence getSalesOrderSequenceForUpdate() {
208        return getSalesOrderSequence(EntityPermission.READ_WRITE);
209    }
210    
211    public void setSalesOrderSequencePK(SequencePK salesOrderSequencePK)
212            throws PersistenceNotNullException, PersistenceReadOnlyException {
213        checkReadWrite();
214        _value.setSalesOrderSequencePK(salesOrderSequencePK);
215    }
216    
217    public void setSalesOrderSequence(Sequence entity) {
218        setSalesOrderSequencePK(entity == null? null: entity.getPrimaryKey());
219    }
220    
221    public boolean getSalesOrderSequencePKHasBeenModified() {
222        return _value.getSalesOrderSequencePKHasBeenModified();
223    }
224    
225    public PartyPK getDepartmentPartyPK() {
226        return _value.getDepartmentPartyPK();
227    }
228    
229    public Party getDepartmentParty(EntityPermission entityPermission) {
230        return PartyFactory.getInstance().getEntityFromPK(entityPermission, getDepartmentPartyPK());
231    }
232    
233    public Party getDepartmentParty() {
234        return getDepartmentParty(EntityPermission.READ_ONLY);
235    }
236    
237    public Party getDepartmentPartyForUpdate() {
238        return getDepartmentParty(EntityPermission.READ_WRITE);
239    }
240    
241    public void setDepartmentPartyPK(PartyPK departmentPartyPK)
242            throws PersistenceNotNullException, PersistenceReadOnlyException {
243        checkReadWrite();
244        _value.setDepartmentPartyPK(departmentPartyPK);
245    }
246    
247    public void setDepartmentParty(Party entity) {
248        setDepartmentPartyPK(entity == null? null: entity.getPrimaryKey());
249    }
250    
251    public boolean getDepartmentPartyPKHasBeenModified() {
252        return _value.getDepartmentPartyPKHasBeenModified();
253    }
254    
255    public SelectorPK getOfferItemSelectorPK() {
256        return _value.getOfferItemSelectorPK();
257    }
258    
259    public Selector getOfferItemSelector(EntityPermission entityPermission) {
260        SelectorPK pk = getOfferItemSelectorPK();
261        Selector entity = pk == null? null: SelectorFactory.getInstance().getEntityFromPK(entityPermission, pk);
262        
263        return entity;
264    }
265    
266    public Selector getOfferItemSelector() {
267        return getOfferItemSelector(EntityPermission.READ_ONLY);
268    }
269    
270    public Selector getOfferItemSelectorForUpdate() {
271        return getOfferItemSelector(EntityPermission.READ_WRITE);
272    }
273    
274    public void setOfferItemSelectorPK(SelectorPK offerItemSelectorPK)
275            throws PersistenceNotNullException, PersistenceReadOnlyException {
276        checkReadWrite();
277        _value.setOfferItemSelectorPK(offerItemSelectorPK);
278    }
279    
280    public void setOfferItemSelector(Selector entity) {
281        setOfferItemSelectorPK(entity == null? null: entity.getPrimaryKey());
282    }
283    
284    public boolean getOfferItemSelectorPKHasBeenModified() {
285        return _value.getOfferItemSelectorPKHasBeenModified();
286    }
287    
288    public FilterPK getOfferItemPriceFilterPK() {
289        return _value.getOfferItemPriceFilterPK();
290    }
291    
292    public Filter getOfferItemPriceFilter(EntityPermission entityPermission) {
293        FilterPK pk = getOfferItemPriceFilterPK();
294        Filter entity = pk == null? null: FilterFactory.getInstance().getEntityFromPK(entityPermission, pk);
295        
296        return entity;
297    }
298    
299    public Filter getOfferItemPriceFilter() {
300        return getOfferItemPriceFilter(EntityPermission.READ_ONLY);
301    }
302    
303    public Filter getOfferItemPriceFilterForUpdate() {
304        return getOfferItemPriceFilter(EntityPermission.READ_WRITE);
305    }
306    
307    public void setOfferItemPriceFilterPK(FilterPK offerItemPriceFilterPK)
308            throws PersistenceNotNullException, PersistenceReadOnlyException {
309        checkReadWrite();
310        _value.setOfferItemPriceFilterPK(offerItemPriceFilterPK);
311    }
312    
313    public void setOfferItemPriceFilter(Filter entity) {
314        setOfferItemPriceFilterPK(entity == null? null: entity.getPrimaryKey());
315    }
316    
317    public boolean getOfferItemPriceFilterPKHasBeenModified() {
318        return _value.getOfferItemPriceFilterPKHasBeenModified();
319    }
320    
321    public Boolean getIsDefault() {
322        return _value.getIsDefault();
323    }
324    
325    public void setIsDefault(Boolean isDefault)
326            throws PersistenceNotNullException, PersistenceReadOnlyException {
327        checkReadWrite();
328        _value.setIsDefault(isDefault);
329    }
330    
331    public boolean getIsDefaultHasBeenModified() {
332        return _value.getIsDefaultHasBeenModified();
333    }
334    
335    public Integer getSortOrder() {
336        return _value.getSortOrder();
337    }
338    
339    public void setSortOrder(Integer sortOrder)
340            throws PersistenceNotNullException, PersistenceReadOnlyException {
341        checkReadWrite();
342        _value.setSortOrder(sortOrder);
343    }
344    
345    public boolean getSortOrderHasBeenModified() {
346        return _value.getSortOrderHasBeenModified();
347    }
348    
349    public Long getFromTime() {
350        return _value.getFromTime();
351    }
352    
353    public void setFromTime(Long fromTime)
354            throws PersistenceNotNullException, PersistenceReadOnlyException {
355        checkReadWrite();
356        _value.setFromTime(fromTime);
357    }
358    
359    public boolean getFromTimeHasBeenModified() {
360        return _value.getFromTimeHasBeenModified();
361    }
362    
363    public Long getThruTime() {
364        return _value.getThruTime();
365    }
366    
367    public void setThruTime(Long thruTime)
368            throws PersistenceNotNullException, PersistenceReadOnlyException {
369        checkReadWrite();
370        _value.setThruTime(thruTime);
371    }
372    
373    public boolean getThruTimeHasBeenModified() {
374        return _value.getThruTimeHasBeenModified();
375    }
376    
377}