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