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 * PaymentMethodCreditCardValue.java
021 */
022
023package com.echothree.model.data.payment.server.value;
024
025import com.echothree.model.data.payment.common.pk.PaymentMethodCreditCardPK;
026
027import com.echothree.model.data.payment.server.factory.PaymentMethodCreditCardFactory;
028
029import com.echothree.model.data.payment.common.pk.PaymentMethodPK;
030
031import com.echothree.util.common.exception.PersistenceCloneException;
032import com.echothree.util.common.exception.PersistenceNotNullException;
033
034import com.echothree.util.server.persistence.BaseValue;
035
036import java.io.Serializable;
037
038import javax.annotation.Nonnull;
039import javax.annotation.Nullable;
040
041public class PaymentMethodCreditCardValue
042        extends BaseValue<PaymentMethodCreditCardPK>
043        implements Cloneable, Serializable {
044    
045    private PaymentMethodPK paymentMethodPK;
046    private boolean paymentMethodPKHasBeenModified = false;
047    private Boolean requestNameOnCard;
048    private boolean requestNameOnCardHasBeenModified = false;
049    private Boolean requireNameOnCard;
050    private boolean requireNameOnCardHasBeenModified = false;
051    private Boolean checkCardNumber;
052    private boolean checkCardNumberHasBeenModified = false;
053    private Boolean requestExpirationDate;
054    private boolean requestExpirationDateHasBeenModified = false;
055    private Boolean requireExpirationDate;
056    private boolean requireExpirationDateHasBeenModified = false;
057    private Boolean checkExpirationDate;
058    private boolean checkExpirationDateHasBeenModified = false;
059    private Boolean requestSecurityCode;
060    private boolean requestSecurityCodeHasBeenModified = false;
061    private Boolean requireSecurityCode;
062    private boolean requireSecurityCodeHasBeenModified = false;
063    private String cardNumberValidationPattern;
064    private boolean cardNumberValidationPatternHasBeenModified = false;
065    private String securityCodeValidationPattern;
066    private boolean securityCodeValidationPatternHasBeenModified = false;
067    private Boolean retainCreditCard;
068    private boolean retainCreditCardHasBeenModified = false;
069    private Boolean retainSecurityCode;
070    private boolean retainSecurityCodeHasBeenModified = false;
071    private Boolean requestBilling;
072    private boolean requestBillingHasBeenModified = false;
073    private Boolean requireBilling;
074    private boolean requireBillingHasBeenModified = false;
075    private Boolean requestIssuer;
076    private boolean requestIssuerHasBeenModified = false;
077    private Boolean requireIssuer;
078    private boolean requireIssuerHasBeenModified = false;
079    private Long fromTime;
080    private boolean fromTimeHasBeenModified = false;
081    private Long thruTime;
082    private boolean thruTimeHasBeenModified = false;
083    
084    private transient Integer _hashCode = null;
085    private transient String _stringValue = null;
086    
087    private void constructFields(PaymentMethodPK paymentMethodPK, Boolean requestNameOnCard, Boolean requireNameOnCard, Boolean checkCardNumber, Boolean requestExpirationDate, Boolean requireExpirationDate, Boolean checkExpirationDate, Boolean requestSecurityCode, Boolean requireSecurityCode, String cardNumberValidationPattern, String securityCodeValidationPattern, Boolean retainCreditCard, Boolean retainSecurityCode, Boolean requestBilling, Boolean requireBilling, Boolean requestIssuer, Boolean requireIssuer, Long fromTime, Long thruTime)
088            throws PersistenceNotNullException {
089        checkForNull(paymentMethodPK);
090        this.paymentMethodPK = paymentMethodPK;
091        checkForNull(requestNameOnCard);
092        this.requestNameOnCard = requestNameOnCard;
093        checkForNull(requireNameOnCard);
094        this.requireNameOnCard = requireNameOnCard;
095        checkForNull(checkCardNumber);
096        this.checkCardNumber = checkCardNumber;
097        checkForNull(requestExpirationDate);
098        this.requestExpirationDate = requestExpirationDate;
099        checkForNull(requireExpirationDate);
100        this.requireExpirationDate = requireExpirationDate;
101        checkForNull(checkExpirationDate);
102        this.checkExpirationDate = checkExpirationDate;
103        checkForNull(requestSecurityCode);
104        this.requestSecurityCode = requestSecurityCode;
105        checkForNull(requireSecurityCode);
106        this.requireSecurityCode = requireSecurityCode;
107        this.cardNumberValidationPattern = cardNumberValidationPattern;
108        this.securityCodeValidationPattern = securityCodeValidationPattern;
109        checkForNull(retainCreditCard);
110        this.retainCreditCard = retainCreditCard;
111        checkForNull(retainSecurityCode);
112        this.retainSecurityCode = retainSecurityCode;
113        checkForNull(requestBilling);
114        this.requestBilling = requestBilling;
115        checkForNull(requireBilling);
116        this.requireBilling = requireBilling;
117        checkForNull(requestIssuer);
118        this.requestIssuer = requestIssuer;
119        checkForNull(requireIssuer);
120        this.requireIssuer = requireIssuer;
121        checkForNull(fromTime);
122        this.fromTime = fromTime;
123        checkForNull(thruTime);
124        this.thruTime = thruTime;
125    }
126    
127    /** Creates a new instance of PaymentMethodCreditCardValue */
128    public PaymentMethodCreditCardValue(PaymentMethodCreditCardPK paymentMethodCreditCardPK, PaymentMethodPK paymentMethodPK, Boolean requestNameOnCard, Boolean requireNameOnCard, Boolean checkCardNumber, Boolean requestExpirationDate, Boolean requireExpirationDate, Boolean checkExpirationDate, Boolean requestSecurityCode, Boolean requireSecurityCode, String cardNumberValidationPattern, String securityCodeValidationPattern, Boolean retainCreditCard, Boolean retainSecurityCode, Boolean requestBilling, Boolean requireBilling, Boolean requestIssuer, Boolean requireIssuer, Long fromTime, Long thruTime)
129            throws PersistenceNotNullException {
130        super(paymentMethodCreditCardPK);
131        constructFields(paymentMethodPK, requestNameOnCard, requireNameOnCard, checkCardNumber, requestExpirationDate, requireExpirationDate, checkExpirationDate, requestSecurityCode, requireSecurityCode, cardNumberValidationPattern, securityCodeValidationPattern, retainCreditCard, retainSecurityCode, requestBilling, requireBilling, requestIssuer, requireIssuer, fromTime, thruTime);
132    }
133    
134    /** Creates a new instance of PaymentMethodCreditCardValue */
135    public PaymentMethodCreditCardValue(PaymentMethodPK paymentMethodPK, Boolean requestNameOnCard, Boolean requireNameOnCard, Boolean checkCardNumber, Boolean requestExpirationDate, Boolean requireExpirationDate, Boolean checkExpirationDate, Boolean requestSecurityCode, Boolean requireSecurityCode, String cardNumberValidationPattern, String securityCodeValidationPattern, Boolean retainCreditCard, Boolean retainSecurityCode, Boolean requestBilling, Boolean requireBilling, Boolean requestIssuer, Boolean requireIssuer, Long fromTime, Long thruTime)
136            throws PersistenceNotNullException {
137        super();
138        constructFields(paymentMethodPK, requestNameOnCard, requireNameOnCard, checkCardNumber, requestExpirationDate, requireExpirationDate, checkExpirationDate, requestSecurityCode, requireSecurityCode, cardNumberValidationPattern, securityCodeValidationPattern, retainCreditCard, retainSecurityCode, requestBilling, requireBilling, requestIssuer, requireIssuer, fromTime, thruTime);
139    }
140    
141    @Override
142    @Nonnull
143    public PaymentMethodCreditCardFactory getBaseFactoryInstance() {
144        return PaymentMethodCreditCardFactory.getInstance();
145    }
146    
147    @Override
148    @Nonnull
149    public PaymentMethodCreditCardValue clone() {
150        Object result;
151        
152        try {
153            result = super.clone();
154        } catch (CloneNotSupportedException cnse) {
155            // This shouldn't happen, fail when it does.
156            throw new PersistenceCloneException(cnse);
157        }
158        
159        return (PaymentMethodCreditCardValue)result;
160    }
161    
162    @Override
163    @Nonnull
164    public PaymentMethodCreditCardPK getPrimaryKey() {
165        if(_primaryKey == null) {
166            _primaryKey = new PaymentMethodCreditCardPK(entityId);
167        }
168        
169        return _primaryKey;
170    }
171    
172    private void clearHashAndString() {
173        _hashCode = null;
174        _stringValue = null;
175    }
176    
177    @Override
178    public int hashCode() {
179        if(_hashCode == null) {
180            int hashCode = 17;
181            
182            hashCode = 37 * hashCode + ((entityId != null) ? entityId.hashCode() : 0);
183            
184            hashCode = 37 * hashCode + ((paymentMethodPK != null) ? paymentMethodPK.hashCode() : 0);
185            hashCode = 37 * hashCode + ((requestNameOnCard != null) ? requestNameOnCard.hashCode() : 0);
186            hashCode = 37 * hashCode + ((requireNameOnCard != null) ? requireNameOnCard.hashCode() : 0);
187            hashCode = 37 * hashCode + ((checkCardNumber != null) ? checkCardNumber.hashCode() : 0);
188            hashCode = 37 * hashCode + ((requestExpirationDate != null) ? requestExpirationDate.hashCode() : 0);
189            hashCode = 37 * hashCode + ((requireExpirationDate != null) ? requireExpirationDate.hashCode() : 0);
190            hashCode = 37 * hashCode + ((checkExpirationDate != null) ? checkExpirationDate.hashCode() : 0);
191            hashCode = 37 * hashCode + ((requestSecurityCode != null) ? requestSecurityCode.hashCode() : 0);
192            hashCode = 37 * hashCode + ((requireSecurityCode != null) ? requireSecurityCode.hashCode() : 0);
193            hashCode = 37 * hashCode + ((cardNumberValidationPattern != null) ? cardNumberValidationPattern.hashCode() : 0);
194            hashCode = 37 * hashCode + ((securityCodeValidationPattern != null) ? securityCodeValidationPattern.hashCode() : 0);
195            hashCode = 37 * hashCode + ((retainCreditCard != null) ? retainCreditCard.hashCode() : 0);
196            hashCode = 37 * hashCode + ((retainSecurityCode != null) ? retainSecurityCode.hashCode() : 0);
197            hashCode = 37 * hashCode + ((requestBilling != null) ? requestBilling.hashCode() : 0);
198            hashCode = 37 * hashCode + ((requireBilling != null) ? requireBilling.hashCode() : 0);
199            hashCode = 37 * hashCode + ((requestIssuer != null) ? requestIssuer.hashCode() : 0);
200            hashCode = 37 * hashCode + ((requireIssuer != null) ? requireIssuer.hashCode() : 0);
201            hashCode = 37 * hashCode + ((fromTime != null) ? fromTime.hashCode() : 0);
202            hashCode = 37 * hashCode + ((thruTime != null) ? thruTime.hashCode() : 0);
203            
204            _hashCode = hashCode;
205        }
206        
207        return _hashCode;
208    }
209    
210    @Override
211    @Nonnull
212    public String toString() {
213        if(_stringValue == null) {
214            _stringValue = "{" + 
215                    "entityId=" + getEntityId() +
216                    ", paymentMethodPK=" + getPaymentMethodPK() +
217                    ", requestNameOnCard=" + getRequestNameOnCard() +
218                    ", requireNameOnCard=" + getRequireNameOnCard() +
219                    ", checkCardNumber=" + getCheckCardNumber() +
220                    ", requestExpirationDate=" + getRequestExpirationDate() +
221                    ", requireExpirationDate=" + getRequireExpirationDate() +
222                    ", checkExpirationDate=" + getCheckExpirationDate() +
223                    ", requestSecurityCode=" + getRequestSecurityCode() +
224                    ", requireSecurityCode=" + getRequireSecurityCode() +
225                    ", cardNumberValidationPattern=" + getCardNumberValidationPattern() +
226                    ", securityCodeValidationPattern=" + getSecurityCodeValidationPattern() +
227                    ", retainCreditCard=" + getRetainCreditCard() +
228                    ", retainSecurityCode=" + getRetainSecurityCode() +
229                    ", requestBilling=" + getRequestBilling() +
230                    ", requireBilling=" + getRequireBilling() +
231                    ", requestIssuer=" + getRequestIssuer() +
232                    ", requireIssuer=" + getRequireIssuer() +
233                    ", fromTime=" + getFromTime() +
234                    ", thruTime=" + getThruTime() +
235                    "}";
236        }
237        return _stringValue;
238    }
239    
240    @Override
241    public boolean equals(Object other) {
242        if(this == other)
243            return true;
244        
245        if(!hasIdentity())
246            return false;
247        
248        if(other instanceof  PaymentMethodCreditCardValue that) {
249            if(!that.hasIdentity())
250                return false;
251            
252            Long thisEntityId = getEntityId();
253            Long thatEntityId = that.getEntityId();
254            
255            boolean objectsEqual = thisEntityId.equals(thatEntityId);
256            if(objectsEqual)
257                objectsEqual = isIdentical(that);
258            
259            return objectsEqual;
260        } else {
261            return false;
262        }
263    }
264    
265    public boolean isIdentical(Object other) {
266        if(other instanceof PaymentMethodCreditCardValue that) {
267            boolean objectsEqual = true;
268            
269            
270            if(objectsEqual) {
271                PaymentMethodPK thisPaymentMethodPK = getPaymentMethodPK();
272                PaymentMethodPK thatPaymentMethodPK = that.getPaymentMethodPK();
273                
274                if(thisPaymentMethodPK == null) {
275                    objectsEqual = objectsEqual && (thatPaymentMethodPK == null);
276                } else {
277                    objectsEqual = objectsEqual && thisPaymentMethodPK.equals(thatPaymentMethodPK);
278                }
279            }
280            
281            if(objectsEqual) {
282                Boolean thisRequestNameOnCard = getRequestNameOnCard();
283                Boolean thatRequestNameOnCard = that.getRequestNameOnCard();
284                
285                if(thisRequestNameOnCard == null) {
286                    objectsEqual = objectsEqual && (thatRequestNameOnCard == null);
287                } else {
288                    objectsEqual = objectsEqual && thisRequestNameOnCard.equals(thatRequestNameOnCard);
289                }
290            }
291            
292            if(objectsEqual) {
293                Boolean thisRequireNameOnCard = getRequireNameOnCard();
294                Boolean thatRequireNameOnCard = that.getRequireNameOnCard();
295                
296                if(thisRequireNameOnCard == null) {
297                    objectsEqual = objectsEqual && (thatRequireNameOnCard == null);
298                } else {
299                    objectsEqual = objectsEqual && thisRequireNameOnCard.equals(thatRequireNameOnCard);
300                }
301            }
302            
303            if(objectsEqual) {
304                Boolean thisCheckCardNumber = getCheckCardNumber();
305                Boolean thatCheckCardNumber = that.getCheckCardNumber();
306                
307                if(thisCheckCardNumber == null) {
308                    objectsEqual = objectsEqual && (thatCheckCardNumber == null);
309                } else {
310                    objectsEqual = objectsEqual && thisCheckCardNumber.equals(thatCheckCardNumber);
311                }
312            }
313            
314            if(objectsEqual) {
315                Boolean thisRequestExpirationDate = getRequestExpirationDate();
316                Boolean thatRequestExpirationDate = that.getRequestExpirationDate();
317                
318                if(thisRequestExpirationDate == null) {
319                    objectsEqual = objectsEqual && (thatRequestExpirationDate == null);
320                } else {
321                    objectsEqual = objectsEqual && thisRequestExpirationDate.equals(thatRequestExpirationDate);
322                }
323            }
324            
325            if(objectsEqual) {
326                Boolean thisRequireExpirationDate = getRequireExpirationDate();
327                Boolean thatRequireExpirationDate = that.getRequireExpirationDate();
328                
329                if(thisRequireExpirationDate == null) {
330                    objectsEqual = objectsEqual && (thatRequireExpirationDate == null);
331                } else {
332                    objectsEqual = objectsEqual && thisRequireExpirationDate.equals(thatRequireExpirationDate);
333                }
334            }
335            
336            if(objectsEqual) {
337                Boolean thisCheckExpirationDate = getCheckExpirationDate();
338                Boolean thatCheckExpirationDate = that.getCheckExpirationDate();
339                
340                if(thisCheckExpirationDate == null) {
341                    objectsEqual = objectsEqual && (thatCheckExpirationDate == null);
342                } else {
343                    objectsEqual = objectsEqual && thisCheckExpirationDate.equals(thatCheckExpirationDate);
344                }
345            }
346            
347            if(objectsEqual) {
348                Boolean thisRequestSecurityCode = getRequestSecurityCode();
349                Boolean thatRequestSecurityCode = that.getRequestSecurityCode();
350                
351                if(thisRequestSecurityCode == null) {
352                    objectsEqual = objectsEqual && (thatRequestSecurityCode == null);
353                } else {
354                    objectsEqual = objectsEqual && thisRequestSecurityCode.equals(thatRequestSecurityCode);
355                }
356            }
357            
358            if(objectsEqual) {
359                Boolean thisRequireSecurityCode = getRequireSecurityCode();
360                Boolean thatRequireSecurityCode = that.getRequireSecurityCode();
361                
362                if(thisRequireSecurityCode == null) {
363                    objectsEqual = objectsEqual && (thatRequireSecurityCode == null);
364                } else {
365                    objectsEqual = objectsEqual && thisRequireSecurityCode.equals(thatRequireSecurityCode);
366                }
367            }
368            
369            if(objectsEqual) {
370                String thisCardNumberValidationPattern = getCardNumberValidationPattern();
371                String thatCardNumberValidationPattern = that.getCardNumberValidationPattern();
372                
373                if(thisCardNumberValidationPattern == null) {
374                    objectsEqual = objectsEqual && (thatCardNumberValidationPattern == null);
375                } else {
376                    objectsEqual = objectsEqual && thisCardNumberValidationPattern.equals(thatCardNumberValidationPattern);
377                }
378            }
379            
380            if(objectsEqual) {
381                String thisSecurityCodeValidationPattern = getSecurityCodeValidationPattern();
382                String thatSecurityCodeValidationPattern = that.getSecurityCodeValidationPattern();
383                
384                if(thisSecurityCodeValidationPattern == null) {
385                    objectsEqual = objectsEqual && (thatSecurityCodeValidationPattern == null);
386                } else {
387                    objectsEqual = objectsEqual && thisSecurityCodeValidationPattern.equals(thatSecurityCodeValidationPattern);
388                }
389            }
390            
391            if(objectsEqual) {
392                Boolean thisRetainCreditCard = getRetainCreditCard();
393                Boolean thatRetainCreditCard = that.getRetainCreditCard();
394                
395                if(thisRetainCreditCard == null) {
396                    objectsEqual = objectsEqual && (thatRetainCreditCard == null);
397                } else {
398                    objectsEqual = objectsEqual && thisRetainCreditCard.equals(thatRetainCreditCard);
399                }
400            }
401            
402            if(objectsEqual) {
403                Boolean thisRetainSecurityCode = getRetainSecurityCode();
404                Boolean thatRetainSecurityCode = that.getRetainSecurityCode();
405                
406                if(thisRetainSecurityCode == null) {
407                    objectsEqual = objectsEqual && (thatRetainSecurityCode == null);
408                } else {
409                    objectsEqual = objectsEqual && thisRetainSecurityCode.equals(thatRetainSecurityCode);
410                }
411            }
412            
413            if(objectsEqual) {
414                Boolean thisRequestBilling = getRequestBilling();
415                Boolean thatRequestBilling = that.getRequestBilling();
416                
417                if(thisRequestBilling == null) {
418                    objectsEqual = objectsEqual && (thatRequestBilling == null);
419                } else {
420                    objectsEqual = objectsEqual && thisRequestBilling.equals(thatRequestBilling);
421                }
422            }
423            
424            if(objectsEqual) {
425                Boolean thisRequireBilling = getRequireBilling();
426                Boolean thatRequireBilling = that.getRequireBilling();
427                
428                if(thisRequireBilling == null) {
429                    objectsEqual = objectsEqual && (thatRequireBilling == null);
430                } else {
431                    objectsEqual = objectsEqual && thisRequireBilling.equals(thatRequireBilling);
432                }
433            }
434            
435            if(objectsEqual) {
436                Boolean thisRequestIssuer = getRequestIssuer();
437                Boolean thatRequestIssuer = that.getRequestIssuer();
438                
439                if(thisRequestIssuer == null) {
440                    objectsEqual = objectsEqual && (thatRequestIssuer == null);
441                } else {
442                    objectsEqual = objectsEqual && thisRequestIssuer.equals(thatRequestIssuer);
443                }
444            }
445            
446            if(objectsEqual) {
447                Boolean thisRequireIssuer = getRequireIssuer();
448                Boolean thatRequireIssuer = that.getRequireIssuer();
449                
450                if(thisRequireIssuer == null) {
451                    objectsEqual = objectsEqual && (thatRequireIssuer == null);
452                } else {
453                    objectsEqual = objectsEqual && thisRequireIssuer.equals(thatRequireIssuer);
454                }
455            }
456            
457            if(objectsEqual) {
458                Long thisFromTime = getFromTime();
459                Long thatFromTime = that.getFromTime();
460                
461                if(thisFromTime == null) {
462                    objectsEqual = objectsEqual && (thatFromTime == null);
463                } else {
464                    objectsEqual = objectsEqual && thisFromTime.equals(thatFromTime);
465                }
466            }
467            
468            if(objectsEqual) {
469                Long thisThruTime = getThruTime();
470                Long thatThruTime = that.getThruTime();
471                
472                if(thisThruTime == null) {
473                    objectsEqual = objectsEqual && (thatThruTime == null);
474                } else {
475                    objectsEqual = objectsEqual && thisThruTime.equals(thatThruTime);
476                }
477            }
478            
479            return objectsEqual;
480        } else {
481            return false;
482        }
483    }
484    
485    @Override
486    public boolean hasBeenModified() {
487        return paymentMethodPKHasBeenModified || requestNameOnCardHasBeenModified || requireNameOnCardHasBeenModified || checkCardNumberHasBeenModified || requestExpirationDateHasBeenModified || requireExpirationDateHasBeenModified || checkExpirationDateHasBeenModified || requestSecurityCodeHasBeenModified || requireSecurityCodeHasBeenModified || cardNumberValidationPatternHasBeenModified || securityCodeValidationPatternHasBeenModified || retainCreditCardHasBeenModified || retainSecurityCodeHasBeenModified || requestBillingHasBeenModified || requireBillingHasBeenModified || requestIssuerHasBeenModified || requireIssuerHasBeenModified || fromTimeHasBeenModified || thruTimeHasBeenModified;
488    }
489    
490    @Override
491    public void clearHasBeenModified() {
492        paymentMethodPKHasBeenModified = false;
493        requestNameOnCardHasBeenModified = false;
494        requireNameOnCardHasBeenModified = false;
495        checkCardNumberHasBeenModified = false;
496        requestExpirationDateHasBeenModified = false;
497        requireExpirationDateHasBeenModified = false;
498        checkExpirationDateHasBeenModified = false;
499        requestSecurityCodeHasBeenModified = false;
500        requireSecurityCodeHasBeenModified = false;
501        cardNumberValidationPatternHasBeenModified = false;
502        securityCodeValidationPatternHasBeenModified = false;
503        retainCreditCardHasBeenModified = false;
504        retainSecurityCodeHasBeenModified = false;
505        requestBillingHasBeenModified = false;
506        requireBillingHasBeenModified = false;
507        requestIssuerHasBeenModified = false;
508        requireIssuerHasBeenModified = false;
509        fromTimeHasBeenModified = false;
510        thruTimeHasBeenModified = false;
511    }
512    
513    @Nonnull
514    public PaymentMethodPK getPaymentMethodPK() {
515        return paymentMethodPK;
516    }
517    
518    public void setPaymentMethodPK(@Nonnull PaymentMethodPK paymentMethodPK)
519            throws PersistenceNotNullException {
520        checkForNull(paymentMethodPK);
521        
522        boolean update = true;
523        
524        if(this.paymentMethodPK != null) {
525            if(this.paymentMethodPK.equals(paymentMethodPK)) {
526                update = false;
527            }
528        } else if(paymentMethodPK == null) {
529            update = false;
530        }
531        
532        if(update) {
533            this.paymentMethodPK = paymentMethodPK;
534            paymentMethodPKHasBeenModified = true;
535            clearHashAndString();
536        }
537    }
538    
539    public boolean getPaymentMethodPKHasBeenModified() {
540        return paymentMethodPKHasBeenModified;
541    }
542    
543    @Nonnull
544    public Boolean getRequestNameOnCard() {
545        return requestNameOnCard;
546    }
547    
548    public void setRequestNameOnCard(@Nonnull Boolean requestNameOnCard)
549            throws PersistenceNotNullException {
550        checkForNull(requestNameOnCard);
551        
552        boolean update = true;
553        
554        if(this.requestNameOnCard != null) {
555            if(this.requestNameOnCard.equals(requestNameOnCard)) {
556                update = false;
557            }
558        } else if(requestNameOnCard == null) {
559            update = false;
560        }
561        
562        if(update) {
563            this.requestNameOnCard = requestNameOnCard;
564            requestNameOnCardHasBeenModified = true;
565            clearHashAndString();
566        }
567    }
568    
569    public boolean getRequestNameOnCardHasBeenModified() {
570        return requestNameOnCardHasBeenModified;
571    }
572    
573    @Nonnull
574    public Boolean getRequireNameOnCard() {
575        return requireNameOnCard;
576    }
577    
578    public void setRequireNameOnCard(@Nonnull Boolean requireNameOnCard)
579            throws PersistenceNotNullException {
580        checkForNull(requireNameOnCard);
581        
582        boolean update = true;
583        
584        if(this.requireNameOnCard != null) {
585            if(this.requireNameOnCard.equals(requireNameOnCard)) {
586                update = false;
587            }
588        } else if(requireNameOnCard == null) {
589            update = false;
590        }
591        
592        if(update) {
593            this.requireNameOnCard = requireNameOnCard;
594            requireNameOnCardHasBeenModified = true;
595            clearHashAndString();
596        }
597    }
598    
599    public boolean getRequireNameOnCardHasBeenModified() {
600        return requireNameOnCardHasBeenModified;
601    }
602    
603    @Nonnull
604    public Boolean getCheckCardNumber() {
605        return checkCardNumber;
606    }
607    
608    public void setCheckCardNumber(@Nonnull Boolean checkCardNumber)
609            throws PersistenceNotNullException {
610        checkForNull(checkCardNumber);
611        
612        boolean update = true;
613        
614        if(this.checkCardNumber != null) {
615            if(this.checkCardNumber.equals(checkCardNumber)) {
616                update = false;
617            }
618        } else if(checkCardNumber == null) {
619            update = false;
620        }
621        
622        if(update) {
623            this.checkCardNumber = checkCardNumber;
624            checkCardNumberHasBeenModified = true;
625            clearHashAndString();
626        }
627    }
628    
629    public boolean getCheckCardNumberHasBeenModified() {
630        return checkCardNumberHasBeenModified;
631    }
632    
633    @Nonnull
634    public Boolean getRequestExpirationDate() {
635        return requestExpirationDate;
636    }
637    
638    public void setRequestExpirationDate(@Nonnull Boolean requestExpirationDate)
639            throws PersistenceNotNullException {
640        checkForNull(requestExpirationDate);
641        
642        boolean update = true;
643        
644        if(this.requestExpirationDate != null) {
645            if(this.requestExpirationDate.equals(requestExpirationDate)) {
646                update = false;
647            }
648        } else if(requestExpirationDate == null) {
649            update = false;
650        }
651        
652        if(update) {
653            this.requestExpirationDate = requestExpirationDate;
654            requestExpirationDateHasBeenModified = true;
655            clearHashAndString();
656        }
657    }
658    
659    public boolean getRequestExpirationDateHasBeenModified() {
660        return requestExpirationDateHasBeenModified;
661    }
662    
663    @Nonnull
664    public Boolean getRequireExpirationDate() {
665        return requireExpirationDate;
666    }
667    
668    public void setRequireExpirationDate(@Nonnull Boolean requireExpirationDate)
669            throws PersistenceNotNullException {
670        checkForNull(requireExpirationDate);
671        
672        boolean update = true;
673        
674        if(this.requireExpirationDate != null) {
675            if(this.requireExpirationDate.equals(requireExpirationDate)) {
676                update = false;
677            }
678        } else if(requireExpirationDate == null) {
679            update = false;
680        }
681        
682        if(update) {
683            this.requireExpirationDate = requireExpirationDate;
684            requireExpirationDateHasBeenModified = true;
685            clearHashAndString();
686        }
687    }
688    
689    public boolean getRequireExpirationDateHasBeenModified() {
690        return requireExpirationDateHasBeenModified;
691    }
692    
693    @Nonnull
694    public Boolean getCheckExpirationDate() {
695        return checkExpirationDate;
696    }
697    
698    public void setCheckExpirationDate(@Nonnull Boolean checkExpirationDate)
699            throws PersistenceNotNullException {
700        checkForNull(checkExpirationDate);
701        
702        boolean update = true;
703        
704        if(this.checkExpirationDate != null) {
705            if(this.checkExpirationDate.equals(checkExpirationDate)) {
706                update = false;
707            }
708        } else if(checkExpirationDate == null) {
709            update = false;
710        }
711        
712        if(update) {
713            this.checkExpirationDate = checkExpirationDate;
714            checkExpirationDateHasBeenModified = true;
715            clearHashAndString();
716        }
717    }
718    
719    public boolean getCheckExpirationDateHasBeenModified() {
720        return checkExpirationDateHasBeenModified;
721    }
722    
723    @Nonnull
724    public Boolean getRequestSecurityCode() {
725        return requestSecurityCode;
726    }
727    
728    public void setRequestSecurityCode(@Nonnull Boolean requestSecurityCode)
729            throws PersistenceNotNullException {
730        checkForNull(requestSecurityCode);
731        
732        boolean update = true;
733        
734        if(this.requestSecurityCode != null) {
735            if(this.requestSecurityCode.equals(requestSecurityCode)) {
736                update = false;
737            }
738        } else if(requestSecurityCode == null) {
739            update = false;
740        }
741        
742        if(update) {
743            this.requestSecurityCode = requestSecurityCode;
744            requestSecurityCodeHasBeenModified = true;
745            clearHashAndString();
746        }
747    }
748    
749    public boolean getRequestSecurityCodeHasBeenModified() {
750        return requestSecurityCodeHasBeenModified;
751    }
752    
753    @Nonnull
754    public Boolean getRequireSecurityCode() {
755        return requireSecurityCode;
756    }
757    
758    public void setRequireSecurityCode(@Nonnull Boolean requireSecurityCode)
759            throws PersistenceNotNullException {
760        checkForNull(requireSecurityCode);
761        
762        boolean update = true;
763        
764        if(this.requireSecurityCode != null) {
765            if(this.requireSecurityCode.equals(requireSecurityCode)) {
766                update = false;
767            }
768        } else if(requireSecurityCode == null) {
769            update = false;
770        }
771        
772        if(update) {
773            this.requireSecurityCode = requireSecurityCode;
774            requireSecurityCodeHasBeenModified = true;
775            clearHashAndString();
776        }
777    }
778    
779    public boolean getRequireSecurityCodeHasBeenModified() {
780        return requireSecurityCodeHasBeenModified;
781    }
782    
783    @Nullable
784    public String getCardNumberValidationPattern() {
785        return cardNumberValidationPattern;
786    }
787    
788    public void setCardNumberValidationPattern(@Nullable String cardNumberValidationPattern) {
789        boolean update = true;
790        
791        if(this.cardNumberValidationPattern != null) {
792            if(this.cardNumberValidationPattern.equals(cardNumberValidationPattern)) {
793                update = false;
794            }
795        } else if(cardNumberValidationPattern == null) {
796            update = false;
797        }
798        
799        if(update) {
800            this.cardNumberValidationPattern = cardNumberValidationPattern;
801            cardNumberValidationPatternHasBeenModified = true;
802            clearHashAndString();
803        }
804    }
805    
806    public boolean getCardNumberValidationPatternHasBeenModified() {
807        return cardNumberValidationPatternHasBeenModified;
808    }
809    
810    @Nullable
811    public String getSecurityCodeValidationPattern() {
812        return securityCodeValidationPattern;
813    }
814    
815    public void setSecurityCodeValidationPattern(@Nullable String securityCodeValidationPattern) {
816        boolean update = true;
817        
818        if(this.securityCodeValidationPattern != null) {
819            if(this.securityCodeValidationPattern.equals(securityCodeValidationPattern)) {
820                update = false;
821            }
822        } else if(securityCodeValidationPattern == null) {
823            update = false;
824        }
825        
826        if(update) {
827            this.securityCodeValidationPattern = securityCodeValidationPattern;
828            securityCodeValidationPatternHasBeenModified = true;
829            clearHashAndString();
830        }
831    }
832    
833    public boolean getSecurityCodeValidationPatternHasBeenModified() {
834        return securityCodeValidationPatternHasBeenModified;
835    }
836    
837    @Nonnull
838    public Boolean getRetainCreditCard() {
839        return retainCreditCard;
840    }
841    
842    public void setRetainCreditCard(@Nonnull Boolean retainCreditCard)
843            throws PersistenceNotNullException {
844        checkForNull(retainCreditCard);
845        
846        boolean update = true;
847        
848        if(this.retainCreditCard != null) {
849            if(this.retainCreditCard.equals(retainCreditCard)) {
850                update = false;
851            }
852        } else if(retainCreditCard == null) {
853            update = false;
854        }
855        
856        if(update) {
857            this.retainCreditCard = retainCreditCard;
858            retainCreditCardHasBeenModified = true;
859            clearHashAndString();
860        }
861    }
862    
863    public boolean getRetainCreditCardHasBeenModified() {
864        return retainCreditCardHasBeenModified;
865    }
866    
867    @Nonnull
868    public Boolean getRetainSecurityCode() {
869        return retainSecurityCode;
870    }
871    
872    public void setRetainSecurityCode(@Nonnull Boolean retainSecurityCode)
873            throws PersistenceNotNullException {
874        checkForNull(retainSecurityCode);
875        
876        boolean update = true;
877        
878        if(this.retainSecurityCode != null) {
879            if(this.retainSecurityCode.equals(retainSecurityCode)) {
880                update = false;
881            }
882        } else if(retainSecurityCode == null) {
883            update = false;
884        }
885        
886        if(update) {
887            this.retainSecurityCode = retainSecurityCode;
888            retainSecurityCodeHasBeenModified = true;
889            clearHashAndString();
890        }
891    }
892    
893    public boolean getRetainSecurityCodeHasBeenModified() {
894        return retainSecurityCodeHasBeenModified;
895    }
896    
897    @Nonnull
898    public Boolean getRequestBilling() {
899        return requestBilling;
900    }
901    
902    public void setRequestBilling(@Nonnull Boolean requestBilling)
903            throws PersistenceNotNullException {
904        checkForNull(requestBilling);
905        
906        boolean update = true;
907        
908        if(this.requestBilling != null) {
909            if(this.requestBilling.equals(requestBilling)) {
910                update = false;
911            }
912        } else if(requestBilling == null) {
913            update = false;
914        }
915        
916        if(update) {
917            this.requestBilling = requestBilling;
918            requestBillingHasBeenModified = true;
919            clearHashAndString();
920        }
921    }
922    
923    public boolean getRequestBillingHasBeenModified() {
924        return requestBillingHasBeenModified;
925    }
926    
927    @Nonnull
928    public Boolean getRequireBilling() {
929        return requireBilling;
930    }
931    
932    public void setRequireBilling(@Nonnull Boolean requireBilling)
933            throws PersistenceNotNullException {
934        checkForNull(requireBilling);
935        
936        boolean update = true;
937        
938        if(this.requireBilling != null) {
939            if(this.requireBilling.equals(requireBilling)) {
940                update = false;
941            }
942        } else if(requireBilling == null) {
943            update = false;
944        }
945        
946        if(update) {
947            this.requireBilling = requireBilling;
948            requireBillingHasBeenModified = true;
949            clearHashAndString();
950        }
951    }
952    
953    public boolean getRequireBillingHasBeenModified() {
954        return requireBillingHasBeenModified;
955    }
956    
957    @Nonnull
958    public Boolean getRequestIssuer() {
959        return requestIssuer;
960    }
961    
962    public void setRequestIssuer(@Nonnull Boolean requestIssuer)
963            throws PersistenceNotNullException {
964        checkForNull(requestIssuer);
965        
966        boolean update = true;
967        
968        if(this.requestIssuer != null) {
969            if(this.requestIssuer.equals(requestIssuer)) {
970                update = false;
971            }
972        } else if(requestIssuer == null) {
973            update = false;
974        }
975        
976        if(update) {
977            this.requestIssuer = requestIssuer;
978            requestIssuerHasBeenModified = true;
979            clearHashAndString();
980        }
981    }
982    
983    public boolean getRequestIssuerHasBeenModified() {
984        return requestIssuerHasBeenModified;
985    }
986    
987    @Nonnull
988    public Boolean getRequireIssuer() {
989        return requireIssuer;
990    }
991    
992    public void setRequireIssuer(@Nonnull Boolean requireIssuer)
993            throws PersistenceNotNullException {
994        checkForNull(requireIssuer);
995        
996        boolean update = true;
997        
998        if(this.requireIssuer != null) {
999            if(this.requireIssuer.equals(requireIssuer)) {
1000                update = false;
1001            }
1002        } else if(requireIssuer == null) {
1003            update = false;
1004        }
1005        
1006        if(update) {
1007            this.requireIssuer = requireIssuer;
1008            requireIssuerHasBeenModified = true;
1009            clearHashAndString();
1010        }
1011    }
1012    
1013    public boolean getRequireIssuerHasBeenModified() {
1014        return requireIssuerHasBeenModified;
1015    }
1016    
1017    @Nonnull
1018    public Long getFromTime() {
1019        return fromTime;
1020    }
1021    
1022    public void setFromTime(@Nonnull Long fromTime)
1023            throws PersistenceNotNullException {
1024        checkForNull(fromTime);
1025        
1026        boolean update = true;
1027        
1028        if(this.fromTime != null) {
1029            if(this.fromTime.equals(fromTime)) {
1030                update = false;
1031            }
1032        } else if(fromTime == null) {
1033            update = false;
1034        }
1035        
1036        if(update) {
1037            this.fromTime = fromTime;
1038            fromTimeHasBeenModified = true;
1039            clearHashAndString();
1040        }
1041    }
1042    
1043    public boolean getFromTimeHasBeenModified() {
1044        return fromTimeHasBeenModified;
1045    }
1046    
1047    @Nonnull
1048    public Long getThruTime() {
1049        return thruTime;
1050    }
1051    
1052    public void setThruTime(@Nonnull Long thruTime)
1053            throws PersistenceNotNullException {
1054        checkForNull(thruTime);
1055        
1056        boolean update = true;
1057        
1058        if(this.thruTime != null) {
1059            if(this.thruTime.equals(thruTime)) {
1060                update = false;
1061            }
1062        } else if(thruTime == null) {
1063            update = false;
1064        }
1065        
1066        if(update) {
1067            this.thruTime = thruTime;
1068            thruTimeHasBeenModified = true;
1069            clearHashAndString();
1070        }
1071    }
1072    
1073    public boolean getThruTimeHasBeenModified() {
1074        return thruTimeHasBeenModified;
1075    }
1076    
1077}