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 * PartyPaymentMethodCreditCardValue.java
021 */
022
023package com.echothree.model.data.payment.server.value;
024
025import com.echothree.model.data.payment.common.pk.PartyPaymentMethodCreditCardPK;
026
027import com.echothree.model.data.payment.server.factory.PartyPaymentMethodCreditCardFactory;
028
029import com.echothree.model.data.payment.common.pk.PartyPaymentMethodPK;
030import com.echothree.model.data.party.common.pk.PersonalTitlePK;
031import com.echothree.model.data.party.common.pk.NameSuffixPK;
032import com.echothree.model.data.contact.common.pk.PartyContactMechanismPK;
033
034import com.echothree.util.common.exception.PersistenceCloneException;
035import com.echothree.util.common.exception.PersistenceNotNullException;
036
037import com.echothree.util.server.persistence.BaseValue;
038
039import java.io.Serializable;
040
041import javax.annotation.Nonnull;
042import javax.annotation.Nullable;
043
044public class PartyPaymentMethodCreditCardValue
045        extends BaseValue<PartyPaymentMethodCreditCardPK>
046        implements Cloneable, Serializable {
047    
048    private PartyPaymentMethodPK partyPaymentMethodPK;
049    private boolean partyPaymentMethodPKHasBeenModified = false;
050    private String number;
051    private boolean numberHasBeenModified = false;
052    private Integer expirationMonth;
053    private boolean expirationMonthHasBeenModified = false;
054    private Integer expirationYear;
055    private boolean expirationYearHasBeenModified = false;
056    private PersonalTitlePK personalTitlePK;
057    private boolean personalTitlePKHasBeenModified = false;
058    private String firstName;
059    private boolean firstNameHasBeenModified = false;
060    private String firstNameSdx;
061    private boolean firstNameSdxHasBeenModified = false;
062    private String middleName;
063    private boolean middleNameHasBeenModified = false;
064    private String middleNameSdx;
065    private boolean middleNameSdxHasBeenModified = false;
066    private String lastName;
067    private boolean lastNameHasBeenModified = false;
068    private String lastNameSdx;
069    private boolean lastNameSdxHasBeenModified = false;
070    private NameSuffixPK nameSuffixPK;
071    private boolean nameSuffixPKHasBeenModified = false;
072    private String name;
073    private boolean nameHasBeenModified = false;
074    private PartyContactMechanismPK billingPartyContactMechanismPK;
075    private boolean billingPartyContactMechanismPKHasBeenModified = false;
076    private String issuerName;
077    private boolean issuerNameHasBeenModified = false;
078    private PartyContactMechanismPK issuerPartyContactMechanismPK;
079    private boolean issuerPartyContactMechanismPKHasBeenModified = false;
080    private Long fromTime;
081    private boolean fromTimeHasBeenModified = false;
082    private Long thruTime;
083    private boolean thruTimeHasBeenModified = false;
084    
085    private transient Integer _hashCode = null;
086    private transient String _stringValue = null;
087    
088    private void constructFields(PartyPaymentMethodPK partyPaymentMethodPK, String number, Integer expirationMonth, Integer expirationYear, PersonalTitlePK personalTitlePK, String firstName, String firstNameSdx, String middleName, String middleNameSdx, String lastName, String lastNameSdx, NameSuffixPK nameSuffixPK, String name, PartyContactMechanismPK billingPartyContactMechanismPK, String issuerName, PartyContactMechanismPK issuerPartyContactMechanismPK, Long fromTime, Long thruTime)
089            throws PersistenceNotNullException {
090        checkForNull(partyPaymentMethodPK);
091        this.partyPaymentMethodPK = partyPaymentMethodPK;
092        this.number = number;
093        this.expirationMonth = expirationMonth;
094        this.expirationYear = expirationYear;
095        this.personalTitlePK = personalTitlePK;
096        this.firstName = firstName;
097        this.firstNameSdx = firstNameSdx;
098        this.middleName = middleName;
099        this.middleNameSdx = middleNameSdx;
100        this.lastName = lastName;
101        this.lastNameSdx = lastNameSdx;
102        this.nameSuffixPK = nameSuffixPK;
103        this.name = name;
104        this.billingPartyContactMechanismPK = billingPartyContactMechanismPK;
105        this.issuerName = issuerName;
106        this.issuerPartyContactMechanismPK = issuerPartyContactMechanismPK;
107        checkForNull(fromTime);
108        this.fromTime = fromTime;
109        checkForNull(thruTime);
110        this.thruTime = thruTime;
111    }
112    
113    /** Creates a new instance of PartyPaymentMethodCreditCardValue */
114    public PartyPaymentMethodCreditCardValue(PartyPaymentMethodCreditCardPK partyPaymentMethodCreditCardPK, PartyPaymentMethodPK partyPaymentMethodPK, String number, Integer expirationMonth, Integer expirationYear, PersonalTitlePK personalTitlePK, String firstName, String firstNameSdx, String middleName, String middleNameSdx, String lastName, String lastNameSdx, NameSuffixPK nameSuffixPK, String name, PartyContactMechanismPK billingPartyContactMechanismPK, String issuerName, PartyContactMechanismPK issuerPartyContactMechanismPK, Long fromTime, Long thruTime)
115            throws PersistenceNotNullException {
116        super(partyPaymentMethodCreditCardPK);
117        constructFields(partyPaymentMethodPK, number, expirationMonth, expirationYear, personalTitlePK, firstName, firstNameSdx, middleName, middleNameSdx, lastName, lastNameSdx, nameSuffixPK, name, billingPartyContactMechanismPK, issuerName, issuerPartyContactMechanismPK, fromTime, thruTime);
118    }
119    
120    /** Creates a new instance of PartyPaymentMethodCreditCardValue */
121    public PartyPaymentMethodCreditCardValue(PartyPaymentMethodPK partyPaymentMethodPK, String number, Integer expirationMonth, Integer expirationYear, PersonalTitlePK personalTitlePK, String firstName, String firstNameSdx, String middleName, String middleNameSdx, String lastName, String lastNameSdx, NameSuffixPK nameSuffixPK, String name, PartyContactMechanismPK billingPartyContactMechanismPK, String issuerName, PartyContactMechanismPK issuerPartyContactMechanismPK, Long fromTime, Long thruTime)
122            throws PersistenceNotNullException {
123        super();
124        constructFields(partyPaymentMethodPK, number, expirationMonth, expirationYear, personalTitlePK, firstName, firstNameSdx, middleName, middleNameSdx, lastName, lastNameSdx, nameSuffixPK, name, billingPartyContactMechanismPK, issuerName, issuerPartyContactMechanismPK, fromTime, thruTime);
125    }
126    
127    @Override
128    @Nonnull
129    public PartyPaymentMethodCreditCardFactory getBaseFactoryInstance() {
130        return PartyPaymentMethodCreditCardFactory.getInstance();
131    }
132    
133    @Override
134    @Nonnull
135    public PartyPaymentMethodCreditCardValue clone() {
136        Object result;
137        
138        try {
139            result = super.clone();
140        } catch (CloneNotSupportedException cnse) {
141            // This shouldn't happen, fail when it does.
142            throw new PersistenceCloneException(cnse);
143        }
144        
145        return (PartyPaymentMethodCreditCardValue)result;
146    }
147    
148    @Override
149    @Nonnull
150    public PartyPaymentMethodCreditCardPK getPrimaryKey() {
151        if(_primaryKey == null) {
152            _primaryKey = new PartyPaymentMethodCreditCardPK(entityId);
153        }
154        
155        return _primaryKey;
156    }
157    
158    private void clearHashAndString() {
159        _hashCode = null;
160        _stringValue = null;
161    }
162    
163    @Override
164    public int hashCode() {
165        if(_hashCode == null) {
166            int hashCode = 17;
167            
168            hashCode = 37 * hashCode + ((entityId != null) ? entityId.hashCode() : 0);
169            
170            hashCode = 37 * hashCode + ((partyPaymentMethodPK != null) ? partyPaymentMethodPK.hashCode() : 0);
171            hashCode = 37 * hashCode + ((number != null) ? number.hashCode() : 0);
172            hashCode = 37 * hashCode + ((expirationMonth != null) ? expirationMonth.hashCode() : 0);
173            hashCode = 37 * hashCode + ((expirationYear != null) ? expirationYear.hashCode() : 0);
174            hashCode = 37 * hashCode + ((personalTitlePK != null) ? personalTitlePK.hashCode() : 0);
175            hashCode = 37 * hashCode + ((firstName != null) ? firstName.hashCode() : 0);
176            hashCode = 37 * hashCode + ((firstNameSdx != null) ? firstNameSdx.hashCode() : 0);
177            hashCode = 37 * hashCode + ((middleName != null) ? middleName.hashCode() : 0);
178            hashCode = 37 * hashCode + ((middleNameSdx != null) ? middleNameSdx.hashCode() : 0);
179            hashCode = 37 * hashCode + ((lastName != null) ? lastName.hashCode() : 0);
180            hashCode = 37 * hashCode + ((lastNameSdx != null) ? lastNameSdx.hashCode() : 0);
181            hashCode = 37 * hashCode + ((nameSuffixPK != null) ? nameSuffixPK.hashCode() : 0);
182            hashCode = 37 * hashCode + ((name != null) ? name.hashCode() : 0);
183            hashCode = 37 * hashCode + ((billingPartyContactMechanismPK != null) ? billingPartyContactMechanismPK.hashCode() : 0);
184            hashCode = 37 * hashCode + ((issuerName != null) ? issuerName.hashCode() : 0);
185            hashCode = 37 * hashCode + ((issuerPartyContactMechanismPK != null) ? issuerPartyContactMechanismPK.hashCode() : 0);
186            hashCode = 37 * hashCode + ((fromTime != null) ? fromTime.hashCode() : 0);
187            hashCode = 37 * hashCode + ((thruTime != null) ? thruTime.hashCode() : 0);
188            
189            _hashCode = hashCode;
190        }
191        
192        return _hashCode;
193    }
194    
195    @Override
196    @Nonnull
197    public String toString() {
198        if(_stringValue == null) {
199            _stringValue = "{" + 
200                    "entityId=" + getEntityId() +
201                    ", partyPaymentMethodPK=" + getPartyPaymentMethodPK() +
202                    ", number=" + getNumber() +
203                    ", expirationMonth=" + getExpirationMonth() +
204                    ", expirationYear=" + getExpirationYear() +
205                    ", personalTitlePK=" + getPersonalTitlePK() +
206                    ", firstName=" + getFirstName() +
207                    ", firstNameSdx=" + getFirstNameSdx() +
208                    ", middleName=" + getMiddleName() +
209                    ", middleNameSdx=" + getMiddleNameSdx() +
210                    ", lastName=" + getLastName() +
211                    ", lastNameSdx=" + getLastNameSdx() +
212                    ", nameSuffixPK=" + getNameSuffixPK() +
213                    ", name=" + getName() +
214                    ", billingPartyContactMechanismPK=" + getBillingPartyContactMechanismPK() +
215                    ", issuerName=" + getIssuerName() +
216                    ", issuerPartyContactMechanismPK=" + getIssuerPartyContactMechanismPK() +
217                    ", fromTime=" + getFromTime() +
218                    ", thruTime=" + getThruTime() +
219                    "}";
220        }
221        return _stringValue;
222    }
223    
224    @Override
225    public boolean equals(Object other) {
226        if(this == other)
227            return true;
228        
229        if(!hasIdentity())
230            return false;
231        
232        if(other instanceof  PartyPaymentMethodCreditCardValue that) {
233            if(!that.hasIdentity())
234                return false;
235            
236            Long thisEntityId = getEntityId();
237            Long thatEntityId = that.getEntityId();
238            
239            boolean objectsEqual = thisEntityId.equals(thatEntityId);
240            if(objectsEqual)
241                objectsEqual = isIdentical(that);
242            
243            return objectsEqual;
244        } else {
245            return false;
246        }
247    }
248    
249    public boolean isIdentical(Object other) {
250        if(other instanceof PartyPaymentMethodCreditCardValue that) {
251            boolean objectsEqual = true;
252            
253            
254            if(objectsEqual) {
255                PartyPaymentMethodPK thisPartyPaymentMethodPK = getPartyPaymentMethodPK();
256                PartyPaymentMethodPK thatPartyPaymentMethodPK = that.getPartyPaymentMethodPK();
257                
258                if(thisPartyPaymentMethodPK == null) {
259                    objectsEqual = objectsEqual && (thatPartyPaymentMethodPK == null);
260                } else {
261                    objectsEqual = objectsEqual && thisPartyPaymentMethodPK.equals(thatPartyPaymentMethodPK);
262                }
263            }
264            
265            if(objectsEqual) {
266                String thisNumber = getNumber();
267                String thatNumber = that.getNumber();
268                
269                if(thisNumber == null) {
270                    objectsEqual = objectsEqual && (thatNumber == null);
271                } else {
272                    objectsEqual = objectsEqual && thisNumber.equals(thatNumber);
273                }
274            }
275            
276            if(objectsEqual) {
277                Integer thisExpirationMonth = getExpirationMonth();
278                Integer thatExpirationMonth = that.getExpirationMonth();
279                
280                if(thisExpirationMonth == null) {
281                    objectsEqual = objectsEqual && (thatExpirationMonth == null);
282                } else {
283                    objectsEqual = objectsEqual && thisExpirationMonth.equals(thatExpirationMonth);
284                }
285            }
286            
287            if(objectsEqual) {
288                Integer thisExpirationYear = getExpirationYear();
289                Integer thatExpirationYear = that.getExpirationYear();
290                
291                if(thisExpirationYear == null) {
292                    objectsEqual = objectsEqual && (thatExpirationYear == null);
293                } else {
294                    objectsEqual = objectsEqual && thisExpirationYear.equals(thatExpirationYear);
295                }
296            }
297            
298            if(objectsEqual) {
299                PersonalTitlePK thisPersonalTitlePK = getPersonalTitlePK();
300                PersonalTitlePK thatPersonalTitlePK = that.getPersonalTitlePK();
301                
302                if(thisPersonalTitlePK == null) {
303                    objectsEqual = objectsEqual && (thatPersonalTitlePK == null);
304                } else {
305                    objectsEqual = objectsEqual && thisPersonalTitlePK.equals(thatPersonalTitlePK);
306                }
307            }
308            
309            if(objectsEqual) {
310                String thisFirstName = getFirstName();
311                String thatFirstName = that.getFirstName();
312                
313                if(thisFirstName == null) {
314                    objectsEqual = objectsEqual && (thatFirstName == null);
315                } else {
316                    objectsEqual = objectsEqual && thisFirstName.equals(thatFirstName);
317                }
318            }
319            
320            if(objectsEqual) {
321                String thisFirstNameSdx = getFirstNameSdx();
322                String thatFirstNameSdx = that.getFirstNameSdx();
323                
324                if(thisFirstNameSdx == null) {
325                    objectsEqual = objectsEqual && (thatFirstNameSdx == null);
326                } else {
327                    objectsEqual = objectsEqual && thisFirstNameSdx.equals(thatFirstNameSdx);
328                }
329            }
330            
331            if(objectsEqual) {
332                String thisMiddleName = getMiddleName();
333                String thatMiddleName = that.getMiddleName();
334                
335                if(thisMiddleName == null) {
336                    objectsEqual = objectsEqual && (thatMiddleName == null);
337                } else {
338                    objectsEqual = objectsEqual && thisMiddleName.equals(thatMiddleName);
339                }
340            }
341            
342            if(objectsEqual) {
343                String thisMiddleNameSdx = getMiddleNameSdx();
344                String thatMiddleNameSdx = that.getMiddleNameSdx();
345                
346                if(thisMiddleNameSdx == null) {
347                    objectsEqual = objectsEqual && (thatMiddleNameSdx == null);
348                } else {
349                    objectsEqual = objectsEqual && thisMiddleNameSdx.equals(thatMiddleNameSdx);
350                }
351            }
352            
353            if(objectsEqual) {
354                String thisLastName = getLastName();
355                String thatLastName = that.getLastName();
356                
357                if(thisLastName == null) {
358                    objectsEqual = objectsEqual && (thatLastName == null);
359                } else {
360                    objectsEqual = objectsEqual && thisLastName.equals(thatLastName);
361                }
362            }
363            
364            if(objectsEqual) {
365                String thisLastNameSdx = getLastNameSdx();
366                String thatLastNameSdx = that.getLastNameSdx();
367                
368                if(thisLastNameSdx == null) {
369                    objectsEqual = objectsEqual && (thatLastNameSdx == null);
370                } else {
371                    objectsEqual = objectsEqual && thisLastNameSdx.equals(thatLastNameSdx);
372                }
373            }
374            
375            if(objectsEqual) {
376                NameSuffixPK thisNameSuffixPK = getNameSuffixPK();
377                NameSuffixPK thatNameSuffixPK = that.getNameSuffixPK();
378                
379                if(thisNameSuffixPK == null) {
380                    objectsEqual = objectsEqual && (thatNameSuffixPK == null);
381                } else {
382                    objectsEqual = objectsEqual && thisNameSuffixPK.equals(thatNameSuffixPK);
383                }
384            }
385            
386            if(objectsEqual) {
387                String thisName = getName();
388                String thatName = that.getName();
389                
390                if(thisName == null) {
391                    objectsEqual = objectsEqual && (thatName == null);
392                } else {
393                    objectsEqual = objectsEqual && thisName.equals(thatName);
394                }
395            }
396            
397            if(objectsEqual) {
398                PartyContactMechanismPK thisBillingPartyContactMechanismPK = getBillingPartyContactMechanismPK();
399                PartyContactMechanismPK thatBillingPartyContactMechanismPK = that.getBillingPartyContactMechanismPK();
400                
401                if(thisBillingPartyContactMechanismPK == null) {
402                    objectsEqual = objectsEqual && (thatBillingPartyContactMechanismPK == null);
403                } else {
404                    objectsEqual = objectsEqual && thisBillingPartyContactMechanismPK.equals(thatBillingPartyContactMechanismPK);
405                }
406            }
407            
408            if(objectsEqual) {
409                String thisIssuerName = getIssuerName();
410                String thatIssuerName = that.getIssuerName();
411                
412                if(thisIssuerName == null) {
413                    objectsEqual = objectsEqual && (thatIssuerName == null);
414                } else {
415                    objectsEqual = objectsEqual && thisIssuerName.equals(thatIssuerName);
416                }
417            }
418            
419            if(objectsEqual) {
420                PartyContactMechanismPK thisIssuerPartyContactMechanismPK = getIssuerPartyContactMechanismPK();
421                PartyContactMechanismPK thatIssuerPartyContactMechanismPK = that.getIssuerPartyContactMechanismPK();
422                
423                if(thisIssuerPartyContactMechanismPK == null) {
424                    objectsEqual = objectsEqual && (thatIssuerPartyContactMechanismPK == null);
425                } else {
426                    objectsEqual = objectsEqual && thisIssuerPartyContactMechanismPK.equals(thatIssuerPartyContactMechanismPK);
427                }
428            }
429            
430            if(objectsEqual) {
431                Long thisFromTime = getFromTime();
432                Long thatFromTime = that.getFromTime();
433                
434                if(thisFromTime == null) {
435                    objectsEqual = objectsEqual && (thatFromTime == null);
436                } else {
437                    objectsEqual = objectsEqual && thisFromTime.equals(thatFromTime);
438                }
439            }
440            
441            if(objectsEqual) {
442                Long thisThruTime = getThruTime();
443                Long thatThruTime = that.getThruTime();
444                
445                if(thisThruTime == null) {
446                    objectsEqual = objectsEqual && (thatThruTime == null);
447                } else {
448                    objectsEqual = objectsEqual && thisThruTime.equals(thatThruTime);
449                }
450            }
451            
452            return objectsEqual;
453        } else {
454            return false;
455        }
456    }
457    
458    @Override
459    public boolean hasBeenModified() {
460        return partyPaymentMethodPKHasBeenModified || numberHasBeenModified || expirationMonthHasBeenModified || expirationYearHasBeenModified || personalTitlePKHasBeenModified || firstNameHasBeenModified || firstNameSdxHasBeenModified || middleNameHasBeenModified || middleNameSdxHasBeenModified || lastNameHasBeenModified || lastNameSdxHasBeenModified || nameSuffixPKHasBeenModified || nameHasBeenModified || billingPartyContactMechanismPKHasBeenModified || issuerNameHasBeenModified || issuerPartyContactMechanismPKHasBeenModified || fromTimeHasBeenModified || thruTimeHasBeenModified;
461    }
462    
463    @Override
464    public void clearHasBeenModified() {
465        partyPaymentMethodPKHasBeenModified = false;
466        numberHasBeenModified = false;
467        expirationMonthHasBeenModified = false;
468        expirationYearHasBeenModified = false;
469        personalTitlePKHasBeenModified = false;
470        firstNameHasBeenModified = false;
471        firstNameSdxHasBeenModified = false;
472        middleNameHasBeenModified = false;
473        middleNameSdxHasBeenModified = false;
474        lastNameHasBeenModified = false;
475        lastNameSdxHasBeenModified = false;
476        nameSuffixPKHasBeenModified = false;
477        nameHasBeenModified = false;
478        billingPartyContactMechanismPKHasBeenModified = false;
479        issuerNameHasBeenModified = false;
480        issuerPartyContactMechanismPKHasBeenModified = false;
481        fromTimeHasBeenModified = false;
482        thruTimeHasBeenModified = false;
483    }
484    
485    @Nonnull
486    public PartyPaymentMethodPK getPartyPaymentMethodPK() {
487        return partyPaymentMethodPK;
488    }
489    
490    public void setPartyPaymentMethodPK(@Nonnull PartyPaymentMethodPK partyPaymentMethodPK)
491            throws PersistenceNotNullException {
492        checkForNull(partyPaymentMethodPK);
493        
494        boolean update = true;
495        
496        if(this.partyPaymentMethodPK != null) {
497            if(this.partyPaymentMethodPK.equals(partyPaymentMethodPK)) {
498                update = false;
499            }
500        } else if(partyPaymentMethodPK == null) {
501            update = false;
502        }
503        
504        if(update) {
505            this.partyPaymentMethodPK = partyPaymentMethodPK;
506            partyPaymentMethodPKHasBeenModified = true;
507            clearHashAndString();
508        }
509    }
510    
511    public boolean getPartyPaymentMethodPKHasBeenModified() {
512        return partyPaymentMethodPKHasBeenModified;
513    }
514    
515    @Nullable
516    public String getNumber() {
517        return number;
518    }
519    
520    public void setNumber(@Nullable String number) {
521        boolean update = true;
522        
523        if(this.number != null) {
524            if(this.number.equals(number)) {
525                update = false;
526            }
527        } else if(number == null) {
528            update = false;
529        }
530        
531        if(update) {
532            this.number = number;
533            numberHasBeenModified = true;
534            clearHashAndString();
535        }
536    }
537    
538    public boolean getNumberHasBeenModified() {
539        return numberHasBeenModified;
540    }
541    
542    @Nullable
543    public Integer getExpirationMonth() {
544        return expirationMonth;
545    }
546    
547    public void setExpirationMonth(@Nullable Integer expirationMonth) {
548        boolean update = true;
549        
550        if(this.expirationMonth != null) {
551            if(this.expirationMonth.equals(expirationMonth)) {
552                update = false;
553            }
554        } else if(expirationMonth == null) {
555            update = false;
556        }
557        
558        if(update) {
559            this.expirationMonth = expirationMonth;
560            expirationMonthHasBeenModified = true;
561            clearHashAndString();
562        }
563    }
564    
565    public boolean getExpirationMonthHasBeenModified() {
566        return expirationMonthHasBeenModified;
567    }
568    
569    @Nullable
570    public Integer getExpirationYear() {
571        return expirationYear;
572    }
573    
574    public void setExpirationYear(@Nullable Integer expirationYear) {
575        boolean update = true;
576        
577        if(this.expirationYear != null) {
578            if(this.expirationYear.equals(expirationYear)) {
579                update = false;
580            }
581        } else if(expirationYear == null) {
582            update = false;
583        }
584        
585        if(update) {
586            this.expirationYear = expirationYear;
587            expirationYearHasBeenModified = true;
588            clearHashAndString();
589        }
590    }
591    
592    public boolean getExpirationYearHasBeenModified() {
593        return expirationYearHasBeenModified;
594    }
595    
596    @Nullable
597    public PersonalTitlePK getPersonalTitlePK() {
598        return personalTitlePK;
599    }
600    
601    public void setPersonalTitlePK(@Nullable PersonalTitlePK personalTitlePK) {
602        boolean update = true;
603        
604        if(this.personalTitlePK != null) {
605            if(this.personalTitlePK.equals(personalTitlePK)) {
606                update = false;
607            }
608        } else if(personalTitlePK == null) {
609            update = false;
610        }
611        
612        if(update) {
613            this.personalTitlePK = personalTitlePK;
614            personalTitlePKHasBeenModified = true;
615            clearHashAndString();
616        }
617    }
618    
619    public boolean getPersonalTitlePKHasBeenModified() {
620        return personalTitlePKHasBeenModified;
621    }
622    
623    @Nullable
624    public String getFirstName() {
625        return firstName;
626    }
627    
628    public void setFirstName(@Nullable String firstName) {
629        boolean update = true;
630        
631        if(this.firstName != null) {
632            if(this.firstName.equals(firstName)) {
633                update = false;
634            }
635        } else if(firstName == null) {
636            update = false;
637        }
638        
639        if(update) {
640            this.firstName = firstName;
641            firstNameHasBeenModified = true;
642            clearHashAndString();
643        }
644    }
645    
646    public boolean getFirstNameHasBeenModified() {
647        return firstNameHasBeenModified;
648    }
649    
650    @Nullable
651    public String getFirstNameSdx() {
652        return firstNameSdx;
653    }
654    
655    public void setFirstNameSdx(@Nullable String firstNameSdx) {
656        boolean update = true;
657        
658        if(this.firstNameSdx != null) {
659            if(this.firstNameSdx.equals(firstNameSdx)) {
660                update = false;
661            }
662        } else if(firstNameSdx == null) {
663            update = false;
664        }
665        
666        if(update) {
667            this.firstNameSdx = firstNameSdx;
668            firstNameSdxHasBeenModified = true;
669            clearHashAndString();
670        }
671    }
672    
673    public boolean getFirstNameSdxHasBeenModified() {
674        return firstNameSdxHasBeenModified;
675    }
676    
677    @Nullable
678    public String getMiddleName() {
679        return middleName;
680    }
681    
682    public void setMiddleName(@Nullable String middleName) {
683        boolean update = true;
684        
685        if(this.middleName != null) {
686            if(this.middleName.equals(middleName)) {
687                update = false;
688            }
689        } else if(middleName == null) {
690            update = false;
691        }
692        
693        if(update) {
694            this.middleName = middleName;
695            middleNameHasBeenModified = true;
696            clearHashAndString();
697        }
698    }
699    
700    public boolean getMiddleNameHasBeenModified() {
701        return middleNameHasBeenModified;
702    }
703    
704    @Nullable
705    public String getMiddleNameSdx() {
706        return middleNameSdx;
707    }
708    
709    public void setMiddleNameSdx(@Nullable String middleNameSdx) {
710        boolean update = true;
711        
712        if(this.middleNameSdx != null) {
713            if(this.middleNameSdx.equals(middleNameSdx)) {
714                update = false;
715            }
716        } else if(middleNameSdx == null) {
717            update = false;
718        }
719        
720        if(update) {
721            this.middleNameSdx = middleNameSdx;
722            middleNameSdxHasBeenModified = true;
723            clearHashAndString();
724        }
725    }
726    
727    public boolean getMiddleNameSdxHasBeenModified() {
728        return middleNameSdxHasBeenModified;
729    }
730    
731    @Nullable
732    public String getLastName() {
733        return lastName;
734    }
735    
736    public void setLastName(@Nullable String lastName) {
737        boolean update = true;
738        
739        if(this.lastName != null) {
740            if(this.lastName.equals(lastName)) {
741                update = false;
742            }
743        } else if(lastName == null) {
744            update = false;
745        }
746        
747        if(update) {
748            this.lastName = lastName;
749            lastNameHasBeenModified = true;
750            clearHashAndString();
751        }
752    }
753    
754    public boolean getLastNameHasBeenModified() {
755        return lastNameHasBeenModified;
756    }
757    
758    @Nullable
759    public String getLastNameSdx() {
760        return lastNameSdx;
761    }
762    
763    public void setLastNameSdx(@Nullable String lastNameSdx) {
764        boolean update = true;
765        
766        if(this.lastNameSdx != null) {
767            if(this.lastNameSdx.equals(lastNameSdx)) {
768                update = false;
769            }
770        } else if(lastNameSdx == null) {
771            update = false;
772        }
773        
774        if(update) {
775            this.lastNameSdx = lastNameSdx;
776            lastNameSdxHasBeenModified = true;
777            clearHashAndString();
778        }
779    }
780    
781    public boolean getLastNameSdxHasBeenModified() {
782        return lastNameSdxHasBeenModified;
783    }
784    
785    @Nullable
786    public NameSuffixPK getNameSuffixPK() {
787        return nameSuffixPK;
788    }
789    
790    public void setNameSuffixPK(@Nullable NameSuffixPK nameSuffixPK) {
791        boolean update = true;
792        
793        if(this.nameSuffixPK != null) {
794            if(this.nameSuffixPK.equals(nameSuffixPK)) {
795                update = false;
796            }
797        } else if(nameSuffixPK == null) {
798            update = false;
799        }
800        
801        if(update) {
802            this.nameSuffixPK = nameSuffixPK;
803            nameSuffixPKHasBeenModified = true;
804            clearHashAndString();
805        }
806    }
807    
808    public boolean getNameSuffixPKHasBeenModified() {
809        return nameSuffixPKHasBeenModified;
810    }
811    
812    @Nullable
813    public String getName() {
814        return name;
815    }
816    
817    public void setName(@Nullable String name) {
818        boolean update = true;
819        
820        if(this.name != null) {
821            if(this.name.equals(name)) {
822                update = false;
823            }
824        } else if(name == null) {
825            update = false;
826        }
827        
828        if(update) {
829            this.name = name;
830            nameHasBeenModified = true;
831            clearHashAndString();
832        }
833    }
834    
835    public boolean getNameHasBeenModified() {
836        return nameHasBeenModified;
837    }
838    
839    @Nullable
840    public PartyContactMechanismPK getBillingPartyContactMechanismPK() {
841        return billingPartyContactMechanismPK;
842    }
843    
844    public void setBillingPartyContactMechanismPK(@Nullable PartyContactMechanismPK billingPartyContactMechanismPK) {
845        boolean update = true;
846        
847        if(this.billingPartyContactMechanismPK != null) {
848            if(this.billingPartyContactMechanismPK.equals(billingPartyContactMechanismPK)) {
849                update = false;
850            }
851        } else if(billingPartyContactMechanismPK == null) {
852            update = false;
853        }
854        
855        if(update) {
856            this.billingPartyContactMechanismPK = billingPartyContactMechanismPK;
857            billingPartyContactMechanismPKHasBeenModified = true;
858            clearHashAndString();
859        }
860    }
861    
862    public boolean getBillingPartyContactMechanismPKHasBeenModified() {
863        return billingPartyContactMechanismPKHasBeenModified;
864    }
865    
866    @Nullable
867    public String getIssuerName() {
868        return issuerName;
869    }
870    
871    public void setIssuerName(@Nullable String issuerName) {
872        boolean update = true;
873        
874        if(this.issuerName != null) {
875            if(this.issuerName.equals(issuerName)) {
876                update = false;
877            }
878        } else if(issuerName == null) {
879            update = false;
880        }
881        
882        if(update) {
883            this.issuerName = issuerName;
884            issuerNameHasBeenModified = true;
885            clearHashAndString();
886        }
887    }
888    
889    public boolean getIssuerNameHasBeenModified() {
890        return issuerNameHasBeenModified;
891    }
892    
893    @Nullable
894    public PartyContactMechanismPK getIssuerPartyContactMechanismPK() {
895        return issuerPartyContactMechanismPK;
896    }
897    
898    public void setIssuerPartyContactMechanismPK(@Nullable PartyContactMechanismPK issuerPartyContactMechanismPK) {
899        boolean update = true;
900        
901        if(this.issuerPartyContactMechanismPK != null) {
902            if(this.issuerPartyContactMechanismPK.equals(issuerPartyContactMechanismPK)) {
903                update = false;
904            }
905        } else if(issuerPartyContactMechanismPK == null) {
906            update = false;
907        }
908        
909        if(update) {
910            this.issuerPartyContactMechanismPK = issuerPartyContactMechanismPK;
911            issuerPartyContactMechanismPKHasBeenModified = true;
912            clearHashAndString();
913        }
914    }
915    
916    public boolean getIssuerPartyContactMechanismPKHasBeenModified() {
917        return issuerPartyContactMechanismPKHasBeenModified;
918    }
919    
920    @Nonnull
921    public Long getFromTime() {
922        return fromTime;
923    }
924    
925    public void setFromTime(@Nonnull Long fromTime)
926            throws PersistenceNotNullException {
927        checkForNull(fromTime);
928        
929        boolean update = true;
930        
931        if(this.fromTime != null) {
932            if(this.fromTime.equals(fromTime)) {
933                update = false;
934            }
935        } else if(fromTime == null) {
936            update = false;
937        }
938        
939        if(update) {
940            this.fromTime = fromTime;
941            fromTimeHasBeenModified = true;
942            clearHashAndString();
943        }
944    }
945    
946    public boolean getFromTimeHasBeenModified() {
947        return fromTimeHasBeenModified;
948    }
949    
950    @Nonnull
951    public Long getThruTime() {
952        return thruTime;
953    }
954    
955    public void setThruTime(@Nonnull Long thruTime)
956            throws PersistenceNotNullException {
957        checkForNull(thruTime);
958        
959        boolean update = true;
960        
961        if(this.thruTime != null) {
962            if(this.thruTime.equals(thruTime)) {
963                update = false;
964            }
965        } else if(thruTime == null) {
966            update = false;
967        }
968        
969        if(update) {
970            this.thruTime = thruTime;
971            thruTimeHasBeenModified = true;
972            clearHashAndString();
973        }
974    }
975    
976    public boolean getThruTimeHasBeenModified() {
977        return thruTimeHasBeenModified;
978    }
979    
980}