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