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 * PartyDetail.java
021 */
022
023package com.echothree.model.data.party.server.entity;
024
025import com.echothree.model.data.party.common.pk.PartyDetailPK;
026
027import com.echothree.model.data.party.common.pk.PartyPK;
028import com.echothree.model.data.party.common.pk.PartyTypePK;
029import com.echothree.model.data.party.common.pk.LanguagePK;
030import com.echothree.model.data.accounting.common.pk.CurrencyPK;
031import com.echothree.model.data.party.common.pk.TimeZonePK;
032import com.echothree.model.data.party.common.pk.DateTimeFormatPK;
033
034import com.echothree.model.data.party.server.entity.Party;
035import com.echothree.model.data.party.server.entity.PartyType;
036import com.echothree.model.data.party.server.entity.Language;
037import com.echothree.model.data.accounting.server.entity.Currency;
038import com.echothree.model.data.party.server.entity.TimeZone;
039import com.echothree.model.data.party.server.entity.DateTimeFormat;
040
041import com.echothree.model.data.party.server.factory.PartyFactory;
042import com.echothree.model.data.party.server.factory.PartyTypeFactory;
043import com.echothree.model.data.party.server.factory.LanguageFactory;
044import com.echothree.model.data.accounting.server.factory.CurrencyFactory;
045import com.echothree.model.data.party.server.factory.TimeZoneFactory;
046import com.echothree.model.data.party.server.factory.DateTimeFormatFactory;
047
048import com.echothree.model.data.party.common.pk.PartyDetailPK;
049
050import com.echothree.model.data.party.server.value.PartyDetailValue;
051
052import com.echothree.model.data.party.server.factory.PartyDetailFactory;
053
054import com.echothree.util.common.exception.PersistenceException;
055import com.echothree.util.common.exception.PersistenceDatabaseException;
056import com.echothree.util.common.exception.PersistenceNotNullException;
057import com.echothree.util.common.exception.PersistenceReadOnlyException;
058
059import com.echothree.util.common.persistence.BasePK;
060
061import com.echothree.util.common.persistence.type.ByteArray;
062
063import com.echothree.util.server.persistence.BaseEntity;
064import com.echothree.util.server.persistence.EntityPermission;
065import com.echothree.util.server.persistence.Session;
066import com.echothree.util.server.persistence.ThreadSession;
067
068import java.io.Serializable;
069
070public class PartyDetail
071        extends BaseEntity
072        implements Serializable {
073    
074    private PartyDetailPK _pk;
075    private PartyDetailValue _value;
076    
077    /** Creates a new instance of PartyDetail */
078    public PartyDetail()
079            throws PersistenceException {
080        super();
081    }
082    
083    /** Creates a new instance of PartyDetail */
084    public PartyDetail(PartyDetailValue value, EntityPermission entityPermission) {
085        super(entityPermission);
086        
087        _value = value;
088        _pk = value.getPrimaryKey();
089    }
090    
091    @Override
092    public PartyDetailFactory getBaseFactoryInstance() {
093        return PartyDetailFactory.getInstance();
094    }
095    
096    @Override
097    public boolean hasBeenModified() {
098        return _value.hasBeenModified();
099    }
100    
101    @Override
102    public int hashCode() {
103        return _pk.hashCode();
104    }
105    
106    @Override
107    public String toString() {
108        return _pk.toString();
109    }
110    
111    @Override
112    public boolean equals(Object other) {
113        if(this == other)
114            return true;
115        
116        if(other instanceof PartyDetail that) {
117            PartyDetailValue thatValue = that.getPartyDetailValue();
118            return _value.equals(thatValue);
119        } else {
120            return false;
121        }
122    }
123    
124    @Override
125    public void store()
126            throws PersistenceDatabaseException {
127        getBaseFactoryInstance().store(this);
128    }
129    
130    @Override
131    public void remove()
132            throws PersistenceDatabaseException {
133        getBaseFactoryInstance().remove(this);
134    }
135    
136    public PartyDetailValue getPartyDetailValue() {
137        return _value;
138    }
139    
140    public void setPartyDetailValue(PartyDetailValue value)
141            throws PersistenceReadOnlyException {
142        checkReadWrite();
143        _value = value;
144    }
145    
146    @Override
147    public PartyDetailPK getPrimaryKey() {
148        return _pk;
149    }
150    
151    public PartyPK getPartyPK() {
152        return _value.getPartyPK();
153    }
154    
155    public Party getParty(EntityPermission entityPermission) {
156        return PartyFactory.getInstance().getEntityFromPK(entityPermission, getPartyPK());
157    }
158    
159    public Party getParty() {
160        return getParty(EntityPermission.READ_ONLY);
161    }
162    
163    public Party getPartyForUpdate() {
164        return getParty(EntityPermission.READ_WRITE);
165    }
166    
167    public void setPartyPK(PartyPK partyPK)
168            throws PersistenceNotNullException, PersistenceReadOnlyException {
169        checkReadWrite();
170        _value.setPartyPK(partyPK);
171    }
172    
173    public void setParty(Party entity) {
174        setPartyPK(entity == null? null: entity.getPrimaryKey());
175    }
176    
177    public boolean getPartyPKHasBeenModified() {
178        return _value.getPartyPKHasBeenModified();
179    }
180    
181    public String getPartyName() {
182        return _value.getPartyName();
183    }
184    
185    public void setPartyName(String partyName)
186            throws PersistenceNotNullException, PersistenceReadOnlyException {
187        checkReadWrite();
188        _value.setPartyName(partyName);
189    }
190    
191    public boolean getPartyNameHasBeenModified() {
192        return _value.getPartyNameHasBeenModified();
193    }
194    
195    public PartyTypePK getPartyTypePK() {
196        return _value.getPartyTypePK();
197    }
198    
199    public PartyType getPartyType(EntityPermission entityPermission) {
200        return PartyTypeFactory.getInstance().getEntityFromPK(entityPermission, getPartyTypePK());
201    }
202    
203    public PartyType getPartyType() {
204        return getPartyType(EntityPermission.READ_ONLY);
205    }
206    
207    public PartyType getPartyTypeForUpdate() {
208        return getPartyType(EntityPermission.READ_WRITE);
209    }
210    
211    public void setPartyTypePK(PartyTypePK partyTypePK)
212            throws PersistenceNotNullException, PersistenceReadOnlyException {
213        checkReadWrite();
214        _value.setPartyTypePK(partyTypePK);
215    }
216    
217    public void setPartyType(PartyType entity) {
218        setPartyTypePK(entity == null? null: entity.getPrimaryKey());
219    }
220    
221    public boolean getPartyTypePKHasBeenModified() {
222        return _value.getPartyTypePKHasBeenModified();
223    }
224    
225    public LanguagePK getPreferredLanguagePK() {
226        return _value.getPreferredLanguagePK();
227    }
228    
229    public Language getPreferredLanguage(EntityPermission entityPermission) {
230        LanguagePK pk = getPreferredLanguagePK();
231        Language entity = pk == null? null: LanguageFactory.getInstance().getEntityFromPK(entityPermission, pk);
232        
233        return entity;
234    }
235    
236    public Language getPreferredLanguage() {
237        return getPreferredLanguage(EntityPermission.READ_ONLY);
238    }
239    
240    public Language getPreferredLanguageForUpdate() {
241        return getPreferredLanguage(EntityPermission.READ_WRITE);
242    }
243    
244    public void setPreferredLanguagePK(LanguagePK preferredLanguagePK)
245            throws PersistenceNotNullException, PersistenceReadOnlyException {
246        checkReadWrite();
247        _value.setPreferredLanguagePK(preferredLanguagePK);
248    }
249    
250    public void setPreferredLanguage(Language entity) {
251        setPreferredLanguagePK(entity == null? null: entity.getPrimaryKey());
252    }
253    
254    public boolean getPreferredLanguagePKHasBeenModified() {
255        return _value.getPreferredLanguagePKHasBeenModified();
256    }
257    
258    public CurrencyPK getPreferredCurrencyPK() {
259        return _value.getPreferredCurrencyPK();
260    }
261    
262    public Currency getPreferredCurrency(EntityPermission entityPermission) {
263        CurrencyPK pk = getPreferredCurrencyPK();
264        Currency entity = pk == null? null: CurrencyFactory.getInstance().getEntityFromPK(entityPermission, pk);
265        
266        return entity;
267    }
268    
269    public Currency getPreferredCurrency() {
270        return getPreferredCurrency(EntityPermission.READ_ONLY);
271    }
272    
273    public Currency getPreferredCurrencyForUpdate() {
274        return getPreferredCurrency(EntityPermission.READ_WRITE);
275    }
276    
277    public void setPreferredCurrencyPK(CurrencyPK preferredCurrencyPK)
278            throws PersistenceNotNullException, PersistenceReadOnlyException {
279        checkReadWrite();
280        _value.setPreferredCurrencyPK(preferredCurrencyPK);
281    }
282    
283    public void setPreferredCurrency(Currency entity) {
284        setPreferredCurrencyPK(entity == null? null: entity.getPrimaryKey());
285    }
286    
287    public boolean getPreferredCurrencyPKHasBeenModified() {
288        return _value.getPreferredCurrencyPKHasBeenModified();
289    }
290    
291    public TimeZonePK getPreferredTimeZonePK() {
292        return _value.getPreferredTimeZonePK();
293    }
294    
295    public TimeZone getPreferredTimeZone(EntityPermission entityPermission) {
296        TimeZonePK pk = getPreferredTimeZonePK();
297        TimeZone entity = pk == null? null: TimeZoneFactory.getInstance().getEntityFromPK(entityPermission, pk);
298        
299        return entity;
300    }
301    
302    public TimeZone getPreferredTimeZone() {
303        return getPreferredTimeZone(EntityPermission.READ_ONLY);
304    }
305    
306    public TimeZone getPreferredTimeZoneForUpdate() {
307        return getPreferredTimeZone(EntityPermission.READ_WRITE);
308    }
309    
310    public void setPreferredTimeZonePK(TimeZonePK preferredTimeZonePK)
311            throws PersistenceNotNullException, PersistenceReadOnlyException {
312        checkReadWrite();
313        _value.setPreferredTimeZonePK(preferredTimeZonePK);
314    }
315    
316    public void setPreferredTimeZone(TimeZone entity) {
317        setPreferredTimeZonePK(entity == null? null: entity.getPrimaryKey());
318    }
319    
320    public boolean getPreferredTimeZonePKHasBeenModified() {
321        return _value.getPreferredTimeZonePKHasBeenModified();
322    }
323    
324    public DateTimeFormatPK getPreferredDateTimeFormatPK() {
325        return _value.getPreferredDateTimeFormatPK();
326    }
327    
328    public DateTimeFormat getPreferredDateTimeFormat(EntityPermission entityPermission) {
329        DateTimeFormatPK pk = getPreferredDateTimeFormatPK();
330        DateTimeFormat entity = pk == null? null: DateTimeFormatFactory.getInstance().getEntityFromPK(entityPermission, pk);
331        
332        return entity;
333    }
334    
335    public DateTimeFormat getPreferredDateTimeFormat() {
336        return getPreferredDateTimeFormat(EntityPermission.READ_ONLY);
337    }
338    
339    public DateTimeFormat getPreferredDateTimeFormatForUpdate() {
340        return getPreferredDateTimeFormat(EntityPermission.READ_WRITE);
341    }
342    
343    public void setPreferredDateTimeFormatPK(DateTimeFormatPK preferredDateTimeFormatPK)
344            throws PersistenceNotNullException, PersistenceReadOnlyException {
345        checkReadWrite();
346        _value.setPreferredDateTimeFormatPK(preferredDateTimeFormatPK);
347    }
348    
349    public void setPreferredDateTimeFormat(DateTimeFormat entity) {
350        setPreferredDateTimeFormatPK(entity == null? null: entity.getPrimaryKey());
351    }
352    
353    public boolean getPreferredDateTimeFormatPKHasBeenModified() {
354        return _value.getPreferredDateTimeFormatPKHasBeenModified();
355    }
356    
357    public Long getFromTime() {
358        return _value.getFromTime();
359    }
360    
361    public void setFromTime(Long fromTime)
362            throws PersistenceNotNullException, PersistenceReadOnlyException {
363        checkReadWrite();
364        _value.setFromTime(fromTime);
365    }
366    
367    public boolean getFromTimeHasBeenModified() {
368        return _value.getFromTimeHasBeenModified();
369    }
370    
371    public Long getThruTime() {
372        return _value.getThruTime();
373    }
374    
375    public void setThruTime(Long thruTime)
376            throws PersistenceNotNullException, PersistenceReadOnlyException {
377        checkReadWrite();
378        _value.setThruTime(thruTime);
379    }
380    
381    public boolean getThruTimeHasBeenModified() {
382        return _value.getThruTimeHasBeenModified();
383    }
384    
385}