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 * AssociateProgramDetail.java
021 */
022
023package com.echothree.model.data.associate.server.entity;
024
025import com.echothree.model.data.associate.common.pk.AssociateProgramDetailPK;
026
027import com.echothree.model.data.associate.common.pk.AssociateProgramPK;
028import com.echothree.model.data.sequence.common.pk.SequencePK;
029
030import com.echothree.model.data.associate.server.entity.AssociateProgram;
031import com.echothree.model.data.sequence.server.entity.Sequence;
032
033import com.echothree.model.data.associate.server.factory.AssociateProgramFactory;
034import com.echothree.model.data.sequence.server.factory.SequenceFactory;
035
036import com.echothree.model.data.associate.common.pk.AssociateProgramDetailPK;
037
038import com.echothree.model.data.associate.server.value.AssociateProgramDetailValue;
039
040import com.echothree.model.data.associate.server.factory.AssociateProgramDetailFactory;
041
042import com.echothree.util.common.exception.PersistenceException;
043import com.echothree.util.common.exception.PersistenceDatabaseException;
044import com.echothree.util.common.exception.PersistenceNotNullException;
045import com.echothree.util.common.exception.PersistenceReadOnlyException;
046
047import com.echothree.util.common.persistence.BasePK;
048
049import com.echothree.util.common.persistence.type.ByteArray;
050
051import com.echothree.util.server.persistence.BaseEntity;
052import com.echothree.util.server.persistence.EntityPermission;
053import com.echothree.util.server.persistence.Session;
054import com.echothree.util.server.persistence.ThreadSession;
055
056import java.io.Serializable;
057
058public class AssociateProgramDetail
059        extends BaseEntity
060        implements Serializable {
061    
062    private AssociateProgramDetailPK _pk;
063    private AssociateProgramDetailValue _value;
064    
065    /** Creates a new instance of AssociateProgramDetail */
066    public AssociateProgramDetail()
067            throws PersistenceException {
068        super();
069    }
070    
071    /** Creates a new instance of AssociateProgramDetail */
072    public AssociateProgramDetail(AssociateProgramDetailValue value, EntityPermission entityPermission) {
073        super(entityPermission);
074        
075        _value = value;
076        _pk = value.getPrimaryKey();
077    }
078    
079    @Override
080    public AssociateProgramDetailFactory getBaseFactoryInstance() {
081        return AssociateProgramDetailFactory.getInstance();
082    }
083    
084    @Override
085    public boolean hasBeenModified() {
086        return _value.hasBeenModified();
087    }
088    
089    @Override
090    public int hashCode() {
091        return _pk.hashCode();
092    }
093    
094    @Override
095    public String toString() {
096        return _pk.toString();
097    }
098    
099    @Override
100    public boolean equals(Object other) {
101        if(this == other)
102            return true;
103        
104        if(other instanceof AssociateProgramDetail that) {
105            AssociateProgramDetailValue thatValue = that.getAssociateProgramDetailValue();
106            return _value.equals(thatValue);
107        } else {
108            return false;
109        }
110    }
111    
112    @Override
113    public void store(Session session)
114            throws PersistenceDatabaseException {
115        getBaseFactoryInstance().store(session, this);
116    }
117    
118    @Override
119    public void remove(Session session)
120            throws PersistenceDatabaseException {
121        getBaseFactoryInstance().remove(session, this);
122    }
123    
124    @Override
125    public void remove()
126            throws PersistenceDatabaseException {
127        getBaseFactoryInstance().remove(ThreadSession.currentSession(), this);
128    }
129    
130    public AssociateProgramDetailValue getAssociateProgramDetailValue() {
131        return _value;
132    }
133    
134    public void setAssociateProgramDetailValue(AssociateProgramDetailValue value)
135            throws PersistenceReadOnlyException {
136        checkReadWrite();
137        _value = value;
138    }
139    
140    @Override
141    public AssociateProgramDetailPK getPrimaryKey() {
142        return _pk;
143    }
144    
145    public AssociateProgramPK getAssociateProgramPK() {
146        return _value.getAssociateProgramPK();
147    }
148    
149    public AssociateProgram getAssociateProgram(Session session, EntityPermission entityPermission) {
150        AssociateProgramPK pk = getAssociateProgramPK();
151        AssociateProgram entity = pk == null? null: AssociateProgramFactory.getInstance().getEntityFromPK(session, entityPermission, pk);
152        
153        return entity;
154    }
155    
156    public AssociateProgram getAssociateProgram(EntityPermission entityPermission) {
157        return getAssociateProgram(ThreadSession.currentSession(), entityPermission);
158    }
159    
160    public AssociateProgram getAssociateProgram(Session session) {
161        return getAssociateProgram(session, EntityPermission.READ_ONLY);
162    }
163    
164    public AssociateProgram getAssociateProgram() {
165        return getAssociateProgram(ThreadSession.currentSession(), EntityPermission.READ_ONLY);
166    }
167    
168    public AssociateProgram getAssociateProgramForUpdate(Session session) {
169        return getAssociateProgram(session, EntityPermission.READ_WRITE);
170    }
171    
172    public AssociateProgram getAssociateProgramForUpdate() {
173        return getAssociateProgram(ThreadSession.currentSession(), EntityPermission.READ_WRITE);
174    }
175    
176    public void setAssociateProgramPK(AssociateProgramPK associateProgramPK)
177            throws PersistenceNotNullException, PersistenceReadOnlyException {
178        checkReadWrite();
179        _value.setAssociateProgramPK(associateProgramPK);
180    }
181    
182    public void setAssociateProgram(AssociateProgram entity) {
183        setAssociateProgramPK(entity == null? null: entity.getPrimaryKey());
184    }
185    
186    public boolean getAssociateProgramPKHasBeenModified() {
187        return _value.getAssociateProgramPKHasBeenModified();
188    }
189    
190    public String getAssociateProgramName() {
191        return _value.getAssociateProgramName();
192    }
193    
194    public void setAssociateProgramName(String associateProgramName)
195            throws PersistenceNotNullException, PersistenceReadOnlyException {
196        checkReadWrite();
197        _value.setAssociateProgramName(associateProgramName);
198    }
199    
200    public boolean getAssociateProgramNameHasBeenModified() {
201        return _value.getAssociateProgramNameHasBeenModified();
202    }
203    
204    public SequencePK getAssociateSequencePK() {
205        return _value.getAssociateSequencePK();
206    }
207    
208    public Sequence getAssociateSequence(Session session, EntityPermission entityPermission) {
209        SequencePK pk = getAssociateSequencePK();
210        Sequence entity = pk == null? null: SequenceFactory.getInstance().getEntityFromPK(session, entityPermission, pk);
211        
212        return entity;
213    }
214    
215    public Sequence getAssociateSequence(EntityPermission entityPermission) {
216        return getAssociateSequence(ThreadSession.currentSession(), entityPermission);
217    }
218    
219    public Sequence getAssociateSequence(Session session) {
220        return getAssociateSequence(session, EntityPermission.READ_ONLY);
221    }
222    
223    public Sequence getAssociateSequence() {
224        return getAssociateSequence(ThreadSession.currentSession(), EntityPermission.READ_ONLY);
225    }
226    
227    public Sequence getAssociateSequenceForUpdate(Session session) {
228        return getAssociateSequence(session, EntityPermission.READ_WRITE);
229    }
230    
231    public Sequence getAssociateSequenceForUpdate() {
232        return getAssociateSequence(ThreadSession.currentSession(), EntityPermission.READ_WRITE);
233    }
234    
235    public void setAssociateSequencePK(SequencePK associateSequencePK)
236            throws PersistenceNotNullException, PersistenceReadOnlyException {
237        checkReadWrite();
238        _value.setAssociateSequencePK(associateSequencePK);
239    }
240    
241    public void setAssociateSequence(Sequence entity) {
242        setAssociateSequencePK(entity == null? null: entity.getPrimaryKey());
243    }
244    
245    public boolean getAssociateSequencePKHasBeenModified() {
246        return _value.getAssociateSequencePKHasBeenModified();
247    }
248    
249    public SequencePK getAssociatePartyContactMechanismSequencePK() {
250        return _value.getAssociatePartyContactMechanismSequencePK();
251    }
252    
253    public Sequence getAssociatePartyContactMechanismSequence(Session session, EntityPermission entityPermission) {
254        SequencePK pk = getAssociatePartyContactMechanismSequencePK();
255        Sequence entity = pk == null? null: SequenceFactory.getInstance().getEntityFromPK(session, entityPermission, pk);
256        
257        return entity;
258    }
259    
260    public Sequence getAssociatePartyContactMechanismSequence(EntityPermission entityPermission) {
261        return getAssociatePartyContactMechanismSequence(ThreadSession.currentSession(), entityPermission);
262    }
263    
264    public Sequence getAssociatePartyContactMechanismSequence(Session session) {
265        return getAssociatePartyContactMechanismSequence(session, EntityPermission.READ_ONLY);
266    }
267    
268    public Sequence getAssociatePartyContactMechanismSequence() {
269        return getAssociatePartyContactMechanismSequence(ThreadSession.currentSession(), EntityPermission.READ_ONLY);
270    }
271    
272    public Sequence getAssociatePartyContactMechanismSequenceForUpdate(Session session) {
273        return getAssociatePartyContactMechanismSequence(session, EntityPermission.READ_WRITE);
274    }
275    
276    public Sequence getAssociatePartyContactMechanismSequenceForUpdate() {
277        return getAssociatePartyContactMechanismSequence(ThreadSession.currentSession(), EntityPermission.READ_WRITE);
278    }
279    
280    public void setAssociatePartyContactMechanismSequencePK(SequencePK associatePartyContactMechanismSequencePK)
281            throws PersistenceNotNullException, PersistenceReadOnlyException {
282        checkReadWrite();
283        _value.setAssociatePartyContactMechanismSequencePK(associatePartyContactMechanismSequencePK);
284    }
285    
286    public void setAssociatePartyContactMechanismSequence(Sequence entity) {
287        setAssociatePartyContactMechanismSequencePK(entity == null? null: entity.getPrimaryKey());
288    }
289    
290    public boolean getAssociatePartyContactMechanismSequencePKHasBeenModified() {
291        return _value.getAssociatePartyContactMechanismSequencePKHasBeenModified();
292    }
293    
294    public SequencePK getAssociateReferralSequencePK() {
295        return _value.getAssociateReferralSequencePK();
296    }
297    
298    public Sequence getAssociateReferralSequence(Session session, EntityPermission entityPermission) {
299        SequencePK pk = getAssociateReferralSequencePK();
300        Sequence entity = pk == null? null: SequenceFactory.getInstance().getEntityFromPK(session, entityPermission, pk);
301        
302        return entity;
303    }
304    
305    public Sequence getAssociateReferralSequence(EntityPermission entityPermission) {
306        return getAssociateReferralSequence(ThreadSession.currentSession(), entityPermission);
307    }
308    
309    public Sequence getAssociateReferralSequence(Session session) {
310        return getAssociateReferralSequence(session, EntityPermission.READ_ONLY);
311    }
312    
313    public Sequence getAssociateReferralSequence() {
314        return getAssociateReferralSequence(ThreadSession.currentSession(), EntityPermission.READ_ONLY);
315    }
316    
317    public Sequence getAssociateReferralSequenceForUpdate(Session session) {
318        return getAssociateReferralSequence(session, EntityPermission.READ_WRITE);
319    }
320    
321    public Sequence getAssociateReferralSequenceForUpdate() {
322        return getAssociateReferralSequence(ThreadSession.currentSession(), EntityPermission.READ_WRITE);
323    }
324    
325    public void setAssociateReferralSequencePK(SequencePK associateReferralSequencePK)
326            throws PersistenceNotNullException, PersistenceReadOnlyException {
327        checkReadWrite();
328        _value.setAssociateReferralSequencePK(associateReferralSequencePK);
329    }
330    
331    public void setAssociateReferralSequence(Sequence entity) {
332        setAssociateReferralSequencePK(entity == null? null: entity.getPrimaryKey());
333    }
334    
335    public boolean getAssociateReferralSequencePKHasBeenModified() {
336        return _value.getAssociateReferralSequencePKHasBeenModified();
337    }
338    
339    public Integer getItemIndirectSalePercent() {
340        return _value.getItemIndirectSalePercent();
341    }
342    
343    public void setItemIndirectSalePercent(Integer itemIndirectSalePercent)
344            throws PersistenceNotNullException, PersistenceReadOnlyException {
345        checkReadWrite();
346        _value.setItemIndirectSalePercent(itemIndirectSalePercent);
347    }
348    
349    public boolean getItemIndirectSalePercentHasBeenModified() {
350        return _value.getItemIndirectSalePercentHasBeenModified();
351    }
352    
353    public Integer getItemDirectSalePercent() {
354        return _value.getItemDirectSalePercent();
355    }
356    
357    public void setItemDirectSalePercent(Integer itemDirectSalePercent)
358            throws PersistenceNotNullException, PersistenceReadOnlyException {
359        checkReadWrite();
360        _value.setItemDirectSalePercent(itemDirectSalePercent);
361    }
362    
363    public boolean getItemDirectSalePercentHasBeenModified() {
364        return _value.getItemDirectSalePercentHasBeenModified();
365    }
366    
367    public Boolean getIsDefault() {
368        return _value.getIsDefault();
369    }
370    
371    public void setIsDefault(Boolean isDefault)
372            throws PersistenceNotNullException, PersistenceReadOnlyException {
373        checkReadWrite();
374        _value.setIsDefault(isDefault);
375    }
376    
377    public boolean getIsDefaultHasBeenModified() {
378        return _value.getIsDefaultHasBeenModified();
379    }
380    
381    public Integer getSortOrder() {
382        return _value.getSortOrder();
383    }
384    
385    public void setSortOrder(Integer sortOrder)
386            throws PersistenceNotNullException, PersistenceReadOnlyException {
387        checkReadWrite();
388        _value.setSortOrder(sortOrder);
389    }
390    
391    public boolean getSortOrderHasBeenModified() {
392        return _value.getSortOrderHasBeenModified();
393    }
394    
395    public Long getFromTime() {
396        return _value.getFromTime();
397    }
398    
399    public void setFromTime(Long fromTime)
400            throws PersistenceNotNullException, PersistenceReadOnlyException {
401        checkReadWrite();
402        _value.setFromTime(fromTime);
403    }
404    
405    public boolean getFromTimeHasBeenModified() {
406        return _value.getFromTimeHasBeenModified();
407    }
408    
409    public Long getThruTime() {
410        return _value.getThruTime();
411    }
412    
413    public void setThruTime(Long thruTime)
414            throws PersistenceNotNullException, PersistenceReadOnlyException {
415        checkReadWrite();
416        _value.setThruTime(thruTime);
417    }
418    
419    public boolean getThruTimeHasBeenModified() {
420        return _value.getThruTimeHasBeenModified();
421    }
422    
423}