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