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 * GeoCodeCountryValue.java
021 */
022
023package com.echothree.model.data.geo.server.value;
024
025import com.echothree.model.data.geo.common.pk.GeoCodeCountryPK;
026
027import com.echothree.model.data.geo.server.factory.GeoCodeCountryFactory;
028
029import com.echothree.model.data.geo.common.pk.GeoCodePK;
030import com.echothree.model.data.contact.common.pk.PostalAddressFormatPK;
031
032import com.echothree.util.common.exception.PersistenceCloneException;
033import com.echothree.util.common.exception.PersistenceNotNullException;
034
035import com.echothree.util.server.persistence.BaseValue;
036
037import java.io.Serializable;
038
039import javax.annotation.Nonnull;
040import javax.annotation.Nullable;
041
042public class GeoCodeCountryValue
043        extends BaseValue<GeoCodeCountryPK>
044        implements Cloneable, Serializable {
045    
046    private GeoCodePK geoCodePK;
047    private boolean geoCodePKHasBeenModified = false;
048    private String telephoneCode;
049    private boolean telephoneCodeHasBeenModified = false;
050    private String areaCodePattern;
051    private boolean areaCodePatternHasBeenModified = false;
052    private Boolean areaCodeRequired;
053    private boolean areaCodeRequiredHasBeenModified = false;
054    private String areaCodeExample;
055    private boolean areaCodeExampleHasBeenModified = false;
056    private String telephoneNumberPattern;
057    private boolean telephoneNumberPatternHasBeenModified = false;
058    private String telephoneNumberExample;
059    private boolean telephoneNumberExampleHasBeenModified = false;
060    private PostalAddressFormatPK postalAddressFormatPK;
061    private boolean postalAddressFormatPKHasBeenModified = false;
062    private Boolean cityRequired;
063    private boolean cityRequiredHasBeenModified = false;
064    private Boolean cityGeoCodeRequired;
065    private boolean cityGeoCodeRequiredHasBeenModified = false;
066    private Boolean stateRequired;
067    private boolean stateRequiredHasBeenModified = false;
068    private Boolean stateGeoCodeRequired;
069    private boolean stateGeoCodeRequiredHasBeenModified = false;
070    private String postalCodePattern;
071    private boolean postalCodePatternHasBeenModified = false;
072    private Boolean postalCodeRequired;
073    private boolean postalCodeRequiredHasBeenModified = false;
074    private Boolean postalCodeGeoCodeRequired;
075    private boolean postalCodeGeoCodeRequiredHasBeenModified = false;
076    private Integer postalCodeLength;
077    private boolean postalCodeLengthHasBeenModified = false;
078    private Integer postalCodeGeoCodeLength;
079    private boolean postalCodeGeoCodeLengthHasBeenModified = false;
080    private String postalCodeExample;
081    private boolean postalCodeExampleHasBeenModified = false;
082    private Long fromTime;
083    private boolean fromTimeHasBeenModified = false;
084    private Long thruTime;
085    private boolean thruTimeHasBeenModified = false;
086    
087    private transient Integer _hashCode = null;
088    private transient String _stringValue = null;
089    
090    private void constructFields(GeoCodePK geoCodePK, String telephoneCode, String areaCodePattern, Boolean areaCodeRequired, String areaCodeExample, String telephoneNumberPattern, String telephoneNumberExample, PostalAddressFormatPK postalAddressFormatPK, Boolean cityRequired, Boolean cityGeoCodeRequired, Boolean stateRequired, Boolean stateGeoCodeRequired, String postalCodePattern, Boolean postalCodeRequired, Boolean postalCodeGeoCodeRequired, Integer postalCodeLength, Integer postalCodeGeoCodeLength, String postalCodeExample, Long fromTime, Long thruTime)
091            throws PersistenceNotNullException {
092        checkForNull(geoCodePK);
093        this.geoCodePK = geoCodePK;
094        this.telephoneCode = telephoneCode;
095        this.areaCodePattern = areaCodePattern;
096        checkForNull(areaCodeRequired);
097        this.areaCodeRequired = areaCodeRequired;
098        this.areaCodeExample = areaCodeExample;
099        this.telephoneNumberPattern = telephoneNumberPattern;
100        this.telephoneNumberExample = telephoneNumberExample;
101        checkForNull(postalAddressFormatPK);
102        this.postalAddressFormatPK = postalAddressFormatPK;
103        checkForNull(cityRequired);
104        this.cityRequired = cityRequired;
105        checkForNull(cityGeoCodeRequired);
106        this.cityGeoCodeRequired = cityGeoCodeRequired;
107        checkForNull(stateRequired);
108        this.stateRequired = stateRequired;
109        checkForNull(stateGeoCodeRequired);
110        this.stateGeoCodeRequired = stateGeoCodeRequired;
111        this.postalCodePattern = postalCodePattern;
112        checkForNull(postalCodeRequired);
113        this.postalCodeRequired = postalCodeRequired;
114        checkForNull(postalCodeGeoCodeRequired);
115        this.postalCodeGeoCodeRequired = postalCodeGeoCodeRequired;
116        this.postalCodeLength = postalCodeLength;
117        this.postalCodeGeoCodeLength = postalCodeGeoCodeLength;
118        this.postalCodeExample = postalCodeExample;
119        checkForNull(fromTime);
120        this.fromTime = fromTime;
121        checkForNull(thruTime);
122        this.thruTime = thruTime;
123    }
124    
125    /** Creates a new instance of GeoCodeCountryValue */
126    public GeoCodeCountryValue(GeoCodeCountryPK geoCodeCountryPK, GeoCodePK geoCodePK, String telephoneCode, String areaCodePattern, Boolean areaCodeRequired, String areaCodeExample, String telephoneNumberPattern, String telephoneNumberExample, PostalAddressFormatPK postalAddressFormatPK, Boolean cityRequired, Boolean cityGeoCodeRequired, Boolean stateRequired, Boolean stateGeoCodeRequired, String postalCodePattern, Boolean postalCodeRequired, Boolean postalCodeGeoCodeRequired, Integer postalCodeLength, Integer postalCodeGeoCodeLength, String postalCodeExample, Long fromTime, Long thruTime)
127            throws PersistenceNotNullException {
128        super(geoCodeCountryPK);
129        constructFields(geoCodePK, telephoneCode, areaCodePattern, areaCodeRequired, areaCodeExample, telephoneNumberPattern, telephoneNumberExample, postalAddressFormatPK, cityRequired, cityGeoCodeRequired, stateRequired, stateGeoCodeRequired, postalCodePattern, postalCodeRequired, postalCodeGeoCodeRequired, postalCodeLength, postalCodeGeoCodeLength, postalCodeExample, fromTime, thruTime);
130    }
131    
132    /** Creates a new instance of GeoCodeCountryValue */
133    public GeoCodeCountryValue(GeoCodePK geoCodePK, String telephoneCode, String areaCodePattern, Boolean areaCodeRequired, String areaCodeExample, String telephoneNumberPattern, String telephoneNumberExample, PostalAddressFormatPK postalAddressFormatPK, Boolean cityRequired, Boolean cityGeoCodeRequired, Boolean stateRequired, Boolean stateGeoCodeRequired, String postalCodePattern, Boolean postalCodeRequired, Boolean postalCodeGeoCodeRequired, Integer postalCodeLength, Integer postalCodeGeoCodeLength, String postalCodeExample, Long fromTime, Long thruTime)
134            throws PersistenceNotNullException {
135        super();
136        constructFields(geoCodePK, telephoneCode, areaCodePattern, areaCodeRequired, areaCodeExample, telephoneNumberPattern, telephoneNumberExample, postalAddressFormatPK, cityRequired, cityGeoCodeRequired, stateRequired, stateGeoCodeRequired, postalCodePattern, postalCodeRequired, postalCodeGeoCodeRequired, postalCodeLength, postalCodeGeoCodeLength, postalCodeExample, fromTime, thruTime);
137    }
138    
139    @Override
140    @Nonnull
141    public GeoCodeCountryFactory getBaseFactoryInstance() {
142        return GeoCodeCountryFactory.getInstance();
143    }
144    
145    @Override
146    @Nonnull
147    public GeoCodeCountryValue clone() {
148        Object result;
149        
150        try {
151            result = super.clone();
152        } catch (CloneNotSupportedException cnse) {
153            // This shouldn't happen, fail when it does.
154            throw new PersistenceCloneException(cnse);
155        }
156        
157        return (GeoCodeCountryValue)result;
158    }
159    
160    @Override
161    @Nonnull
162    public GeoCodeCountryPK getPrimaryKey() {
163        if(_primaryKey == null) {
164            _primaryKey = new GeoCodeCountryPK(entityId);
165        }
166        
167        return _primaryKey;
168    }
169    
170    private void clearHashAndString() {
171        _hashCode = null;
172        _stringValue = null;
173    }
174    
175    @Override
176    public int hashCode() {
177        if(_hashCode == null) {
178            int hashCode = 17;
179            
180            hashCode = 37 * hashCode + ((entityId != null) ? entityId.hashCode() : 0);
181            
182            hashCode = 37 * hashCode + ((geoCodePK != null) ? geoCodePK.hashCode() : 0);
183            hashCode = 37 * hashCode + ((telephoneCode != null) ? telephoneCode.hashCode() : 0);
184            hashCode = 37 * hashCode + ((areaCodePattern != null) ? areaCodePattern.hashCode() : 0);
185            hashCode = 37 * hashCode + ((areaCodeRequired != null) ? areaCodeRequired.hashCode() : 0);
186            hashCode = 37 * hashCode + ((areaCodeExample != null) ? areaCodeExample.hashCode() : 0);
187            hashCode = 37 * hashCode + ((telephoneNumberPattern != null) ? telephoneNumberPattern.hashCode() : 0);
188            hashCode = 37 * hashCode + ((telephoneNumberExample != null) ? telephoneNumberExample.hashCode() : 0);
189            hashCode = 37 * hashCode + ((postalAddressFormatPK != null) ? postalAddressFormatPK.hashCode() : 0);
190            hashCode = 37 * hashCode + ((cityRequired != null) ? cityRequired.hashCode() : 0);
191            hashCode = 37 * hashCode + ((cityGeoCodeRequired != null) ? cityGeoCodeRequired.hashCode() : 0);
192            hashCode = 37 * hashCode + ((stateRequired != null) ? stateRequired.hashCode() : 0);
193            hashCode = 37 * hashCode + ((stateGeoCodeRequired != null) ? stateGeoCodeRequired.hashCode() : 0);
194            hashCode = 37 * hashCode + ((postalCodePattern != null) ? postalCodePattern.hashCode() : 0);
195            hashCode = 37 * hashCode + ((postalCodeRequired != null) ? postalCodeRequired.hashCode() : 0);
196            hashCode = 37 * hashCode + ((postalCodeGeoCodeRequired != null) ? postalCodeGeoCodeRequired.hashCode() : 0);
197            hashCode = 37 * hashCode + ((postalCodeLength != null) ? postalCodeLength.hashCode() : 0);
198            hashCode = 37 * hashCode + ((postalCodeGeoCodeLength != null) ? postalCodeGeoCodeLength.hashCode() : 0);
199            hashCode = 37 * hashCode + ((postalCodeExample != null) ? postalCodeExample.hashCode() : 0);
200            hashCode = 37 * hashCode + ((fromTime != null) ? fromTime.hashCode() : 0);
201            hashCode = 37 * hashCode + ((thruTime != null) ? thruTime.hashCode() : 0);
202            
203            _hashCode = hashCode;
204        }
205        
206        return _hashCode;
207    }
208    
209    @Override
210    @Nonnull
211    public String toString() {
212        if(_stringValue == null) {
213            _stringValue = "{" + 
214                    "entityId=" + getEntityId() +
215                    ", geoCodePK=" + getGeoCodePK() +
216                    ", telephoneCode=" + getTelephoneCode() +
217                    ", areaCodePattern=" + getAreaCodePattern() +
218                    ", areaCodeRequired=" + getAreaCodeRequired() +
219                    ", areaCodeExample=" + getAreaCodeExample() +
220                    ", telephoneNumberPattern=" + getTelephoneNumberPattern() +
221                    ", telephoneNumberExample=" + getTelephoneNumberExample() +
222                    ", postalAddressFormatPK=" + getPostalAddressFormatPK() +
223                    ", cityRequired=" + getCityRequired() +
224                    ", cityGeoCodeRequired=" + getCityGeoCodeRequired() +
225                    ", stateRequired=" + getStateRequired() +
226                    ", stateGeoCodeRequired=" + getStateGeoCodeRequired() +
227                    ", postalCodePattern=" + getPostalCodePattern() +
228                    ", postalCodeRequired=" + getPostalCodeRequired() +
229                    ", postalCodeGeoCodeRequired=" + getPostalCodeGeoCodeRequired() +
230                    ", postalCodeLength=" + getPostalCodeLength() +
231                    ", postalCodeGeoCodeLength=" + getPostalCodeGeoCodeLength() +
232                    ", postalCodeExample=" + getPostalCodeExample() +
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  GeoCodeCountryValue 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 GeoCodeCountryValue that) {
267            boolean objectsEqual = true;
268            
269            
270            if(objectsEqual) {
271                GeoCodePK thisGeoCodePK = getGeoCodePK();
272                GeoCodePK thatGeoCodePK = that.getGeoCodePK();
273                
274                if(thisGeoCodePK == null) {
275                    objectsEqual = objectsEqual && (thatGeoCodePK == null);
276                } else {
277                    objectsEqual = objectsEqual && thisGeoCodePK.equals(thatGeoCodePK);
278                }
279            }
280            
281            if(objectsEqual) {
282                String thisTelephoneCode = getTelephoneCode();
283                String thatTelephoneCode = that.getTelephoneCode();
284                
285                if(thisTelephoneCode == null) {
286                    objectsEqual = objectsEqual && (thatTelephoneCode == null);
287                } else {
288                    objectsEqual = objectsEqual && thisTelephoneCode.equals(thatTelephoneCode);
289                }
290            }
291            
292            if(objectsEqual) {
293                String thisAreaCodePattern = getAreaCodePattern();
294                String thatAreaCodePattern = that.getAreaCodePattern();
295                
296                if(thisAreaCodePattern == null) {
297                    objectsEqual = objectsEqual && (thatAreaCodePattern == null);
298                } else {
299                    objectsEqual = objectsEqual && thisAreaCodePattern.equals(thatAreaCodePattern);
300                }
301            }
302            
303            if(objectsEqual) {
304                Boolean thisAreaCodeRequired = getAreaCodeRequired();
305                Boolean thatAreaCodeRequired = that.getAreaCodeRequired();
306                
307                if(thisAreaCodeRequired == null) {
308                    objectsEqual = objectsEqual && (thatAreaCodeRequired == null);
309                } else {
310                    objectsEqual = objectsEqual && thisAreaCodeRequired.equals(thatAreaCodeRequired);
311                }
312            }
313            
314            if(objectsEqual) {
315                String thisAreaCodeExample = getAreaCodeExample();
316                String thatAreaCodeExample = that.getAreaCodeExample();
317                
318                if(thisAreaCodeExample == null) {
319                    objectsEqual = objectsEqual && (thatAreaCodeExample == null);
320                } else {
321                    objectsEqual = objectsEqual && thisAreaCodeExample.equals(thatAreaCodeExample);
322                }
323            }
324            
325            if(objectsEqual) {
326                String thisTelephoneNumberPattern = getTelephoneNumberPattern();
327                String thatTelephoneNumberPattern = that.getTelephoneNumberPattern();
328                
329                if(thisTelephoneNumberPattern == null) {
330                    objectsEqual = objectsEqual && (thatTelephoneNumberPattern == null);
331                } else {
332                    objectsEqual = objectsEqual && thisTelephoneNumberPattern.equals(thatTelephoneNumberPattern);
333                }
334            }
335            
336            if(objectsEqual) {
337                String thisTelephoneNumberExample = getTelephoneNumberExample();
338                String thatTelephoneNumberExample = that.getTelephoneNumberExample();
339                
340                if(thisTelephoneNumberExample == null) {
341                    objectsEqual = objectsEqual && (thatTelephoneNumberExample == null);
342                } else {
343                    objectsEqual = objectsEqual && thisTelephoneNumberExample.equals(thatTelephoneNumberExample);
344                }
345            }
346            
347            if(objectsEqual) {
348                PostalAddressFormatPK thisPostalAddressFormatPK = getPostalAddressFormatPK();
349                PostalAddressFormatPK thatPostalAddressFormatPK = that.getPostalAddressFormatPK();
350                
351                if(thisPostalAddressFormatPK == null) {
352                    objectsEqual = objectsEqual && (thatPostalAddressFormatPK == null);
353                } else {
354                    objectsEqual = objectsEqual && thisPostalAddressFormatPK.equals(thatPostalAddressFormatPK);
355                }
356            }
357            
358            if(objectsEqual) {
359                Boolean thisCityRequired = getCityRequired();
360                Boolean thatCityRequired = that.getCityRequired();
361                
362                if(thisCityRequired == null) {
363                    objectsEqual = objectsEqual && (thatCityRequired == null);
364                } else {
365                    objectsEqual = objectsEqual && thisCityRequired.equals(thatCityRequired);
366                }
367            }
368            
369            if(objectsEqual) {
370                Boolean thisCityGeoCodeRequired = getCityGeoCodeRequired();
371                Boolean thatCityGeoCodeRequired = that.getCityGeoCodeRequired();
372                
373                if(thisCityGeoCodeRequired == null) {
374                    objectsEqual = objectsEqual && (thatCityGeoCodeRequired == null);
375                } else {
376                    objectsEqual = objectsEqual && thisCityGeoCodeRequired.equals(thatCityGeoCodeRequired);
377                }
378            }
379            
380            if(objectsEqual) {
381                Boolean thisStateRequired = getStateRequired();
382                Boolean thatStateRequired = that.getStateRequired();
383                
384                if(thisStateRequired == null) {
385                    objectsEqual = objectsEqual && (thatStateRequired == null);
386                } else {
387                    objectsEqual = objectsEqual && thisStateRequired.equals(thatStateRequired);
388                }
389            }
390            
391            if(objectsEqual) {
392                Boolean thisStateGeoCodeRequired = getStateGeoCodeRequired();
393                Boolean thatStateGeoCodeRequired = that.getStateGeoCodeRequired();
394                
395                if(thisStateGeoCodeRequired == null) {
396                    objectsEqual = objectsEqual && (thatStateGeoCodeRequired == null);
397                } else {
398                    objectsEqual = objectsEqual && thisStateGeoCodeRequired.equals(thatStateGeoCodeRequired);
399                }
400            }
401            
402            if(objectsEqual) {
403                String thisPostalCodePattern = getPostalCodePattern();
404                String thatPostalCodePattern = that.getPostalCodePattern();
405                
406                if(thisPostalCodePattern == null) {
407                    objectsEqual = objectsEqual && (thatPostalCodePattern == null);
408                } else {
409                    objectsEqual = objectsEqual && thisPostalCodePattern.equals(thatPostalCodePattern);
410                }
411            }
412            
413            if(objectsEqual) {
414                Boolean thisPostalCodeRequired = getPostalCodeRequired();
415                Boolean thatPostalCodeRequired = that.getPostalCodeRequired();
416                
417                if(thisPostalCodeRequired == null) {
418                    objectsEqual = objectsEqual && (thatPostalCodeRequired == null);
419                } else {
420                    objectsEqual = objectsEqual && thisPostalCodeRequired.equals(thatPostalCodeRequired);
421                }
422            }
423            
424            if(objectsEqual) {
425                Boolean thisPostalCodeGeoCodeRequired = getPostalCodeGeoCodeRequired();
426                Boolean thatPostalCodeGeoCodeRequired = that.getPostalCodeGeoCodeRequired();
427                
428                if(thisPostalCodeGeoCodeRequired == null) {
429                    objectsEqual = objectsEqual && (thatPostalCodeGeoCodeRequired == null);
430                } else {
431                    objectsEqual = objectsEqual && thisPostalCodeGeoCodeRequired.equals(thatPostalCodeGeoCodeRequired);
432                }
433            }
434            
435            if(objectsEqual) {
436                Integer thisPostalCodeLength = getPostalCodeLength();
437                Integer thatPostalCodeLength = that.getPostalCodeLength();
438                
439                if(thisPostalCodeLength == null) {
440                    objectsEqual = objectsEqual && (thatPostalCodeLength == null);
441                } else {
442                    objectsEqual = objectsEqual && thisPostalCodeLength.equals(thatPostalCodeLength);
443                }
444            }
445            
446            if(objectsEqual) {
447                Integer thisPostalCodeGeoCodeLength = getPostalCodeGeoCodeLength();
448                Integer thatPostalCodeGeoCodeLength = that.getPostalCodeGeoCodeLength();
449                
450                if(thisPostalCodeGeoCodeLength == null) {
451                    objectsEqual = objectsEqual && (thatPostalCodeGeoCodeLength == null);
452                } else {
453                    objectsEqual = objectsEqual && thisPostalCodeGeoCodeLength.equals(thatPostalCodeGeoCodeLength);
454                }
455            }
456            
457            if(objectsEqual) {
458                String thisPostalCodeExample = getPostalCodeExample();
459                String thatPostalCodeExample = that.getPostalCodeExample();
460                
461                if(thisPostalCodeExample == null) {
462                    objectsEqual = objectsEqual && (thatPostalCodeExample == null);
463                } else {
464                    objectsEqual = objectsEqual && thisPostalCodeExample.equals(thatPostalCodeExample);
465                }
466            }
467            
468            if(objectsEqual) {
469                Long thisFromTime = getFromTime();
470                Long thatFromTime = that.getFromTime();
471                
472                if(thisFromTime == null) {
473                    objectsEqual = objectsEqual && (thatFromTime == null);
474                } else {
475                    objectsEqual = objectsEqual && thisFromTime.equals(thatFromTime);
476                }
477            }
478            
479            if(objectsEqual) {
480                Long thisThruTime = getThruTime();
481                Long thatThruTime = that.getThruTime();
482                
483                if(thisThruTime == null) {
484                    objectsEqual = objectsEqual && (thatThruTime == null);
485                } else {
486                    objectsEqual = objectsEqual && thisThruTime.equals(thatThruTime);
487                }
488            }
489            
490            return objectsEqual;
491        } else {
492            return false;
493        }
494    }
495    
496    @Override
497    public boolean hasBeenModified() {
498        return geoCodePKHasBeenModified || telephoneCodeHasBeenModified || areaCodePatternHasBeenModified || areaCodeRequiredHasBeenModified || areaCodeExampleHasBeenModified || telephoneNumberPatternHasBeenModified || telephoneNumberExampleHasBeenModified || postalAddressFormatPKHasBeenModified || cityRequiredHasBeenModified || cityGeoCodeRequiredHasBeenModified || stateRequiredHasBeenModified || stateGeoCodeRequiredHasBeenModified || postalCodePatternHasBeenModified || postalCodeRequiredHasBeenModified || postalCodeGeoCodeRequiredHasBeenModified || postalCodeLengthHasBeenModified || postalCodeGeoCodeLengthHasBeenModified || postalCodeExampleHasBeenModified || fromTimeHasBeenModified || thruTimeHasBeenModified;
499    }
500    
501    @Override
502    public void clearHasBeenModified() {
503        geoCodePKHasBeenModified = false;
504        telephoneCodeHasBeenModified = false;
505        areaCodePatternHasBeenModified = false;
506        areaCodeRequiredHasBeenModified = false;
507        areaCodeExampleHasBeenModified = false;
508        telephoneNumberPatternHasBeenModified = false;
509        telephoneNumberExampleHasBeenModified = false;
510        postalAddressFormatPKHasBeenModified = false;
511        cityRequiredHasBeenModified = false;
512        cityGeoCodeRequiredHasBeenModified = false;
513        stateRequiredHasBeenModified = false;
514        stateGeoCodeRequiredHasBeenModified = false;
515        postalCodePatternHasBeenModified = false;
516        postalCodeRequiredHasBeenModified = false;
517        postalCodeGeoCodeRequiredHasBeenModified = false;
518        postalCodeLengthHasBeenModified = false;
519        postalCodeGeoCodeLengthHasBeenModified = false;
520        postalCodeExampleHasBeenModified = false;
521        fromTimeHasBeenModified = false;
522        thruTimeHasBeenModified = false;
523    }
524    
525    @Nonnull
526    public GeoCodePK getGeoCodePK() {
527        return geoCodePK;
528    }
529    
530    public void setGeoCodePK(@Nonnull GeoCodePK geoCodePK)
531            throws PersistenceNotNullException {
532        checkForNull(geoCodePK);
533        
534        boolean update = true;
535        
536        if(this.geoCodePK != null) {
537            if(this.geoCodePK.equals(geoCodePK)) {
538                update = false;
539            }
540        } else if(geoCodePK == null) {
541            update = false;
542        }
543        
544        if(update) {
545            this.geoCodePK = geoCodePK;
546            geoCodePKHasBeenModified = true;
547            clearHashAndString();
548        }
549    }
550    
551    public boolean getGeoCodePKHasBeenModified() {
552        return geoCodePKHasBeenModified;
553    }
554    
555    @Nullable
556    public String getTelephoneCode() {
557        return telephoneCode;
558    }
559    
560    public void setTelephoneCode(@Nullable String telephoneCode) {
561        boolean update = true;
562        
563        if(this.telephoneCode != null) {
564            if(this.telephoneCode.equals(telephoneCode)) {
565                update = false;
566            }
567        } else if(telephoneCode == null) {
568            update = false;
569        }
570        
571        if(update) {
572            this.telephoneCode = telephoneCode;
573            telephoneCodeHasBeenModified = true;
574            clearHashAndString();
575        }
576    }
577    
578    public boolean getTelephoneCodeHasBeenModified() {
579        return telephoneCodeHasBeenModified;
580    }
581    
582    @Nullable
583    public String getAreaCodePattern() {
584        return areaCodePattern;
585    }
586    
587    public void setAreaCodePattern(@Nullable String areaCodePattern) {
588        boolean update = true;
589        
590        if(this.areaCodePattern != null) {
591            if(this.areaCodePattern.equals(areaCodePattern)) {
592                update = false;
593            }
594        } else if(areaCodePattern == null) {
595            update = false;
596        }
597        
598        if(update) {
599            this.areaCodePattern = areaCodePattern;
600            areaCodePatternHasBeenModified = true;
601            clearHashAndString();
602        }
603    }
604    
605    public boolean getAreaCodePatternHasBeenModified() {
606        return areaCodePatternHasBeenModified;
607    }
608    
609    @Nonnull
610    public Boolean getAreaCodeRequired() {
611        return areaCodeRequired;
612    }
613    
614    public void setAreaCodeRequired(@Nonnull Boolean areaCodeRequired)
615            throws PersistenceNotNullException {
616        checkForNull(areaCodeRequired);
617        
618        boolean update = true;
619        
620        if(this.areaCodeRequired != null) {
621            if(this.areaCodeRequired.equals(areaCodeRequired)) {
622                update = false;
623            }
624        } else if(areaCodeRequired == null) {
625            update = false;
626        }
627        
628        if(update) {
629            this.areaCodeRequired = areaCodeRequired;
630            areaCodeRequiredHasBeenModified = true;
631            clearHashAndString();
632        }
633    }
634    
635    public boolean getAreaCodeRequiredHasBeenModified() {
636        return areaCodeRequiredHasBeenModified;
637    }
638    
639    @Nullable
640    public String getAreaCodeExample() {
641        return areaCodeExample;
642    }
643    
644    public void setAreaCodeExample(@Nullable String areaCodeExample) {
645        boolean update = true;
646        
647        if(this.areaCodeExample != null) {
648            if(this.areaCodeExample.equals(areaCodeExample)) {
649                update = false;
650            }
651        } else if(areaCodeExample == null) {
652            update = false;
653        }
654        
655        if(update) {
656            this.areaCodeExample = areaCodeExample;
657            areaCodeExampleHasBeenModified = true;
658            clearHashAndString();
659        }
660    }
661    
662    public boolean getAreaCodeExampleHasBeenModified() {
663        return areaCodeExampleHasBeenModified;
664    }
665    
666    @Nullable
667    public String getTelephoneNumberPattern() {
668        return telephoneNumberPattern;
669    }
670    
671    public void setTelephoneNumberPattern(@Nullable String telephoneNumberPattern) {
672        boolean update = true;
673        
674        if(this.telephoneNumberPattern != null) {
675            if(this.telephoneNumberPattern.equals(telephoneNumberPattern)) {
676                update = false;
677            }
678        } else if(telephoneNumberPattern == null) {
679            update = false;
680        }
681        
682        if(update) {
683            this.telephoneNumberPattern = telephoneNumberPattern;
684            telephoneNumberPatternHasBeenModified = true;
685            clearHashAndString();
686        }
687    }
688    
689    public boolean getTelephoneNumberPatternHasBeenModified() {
690        return telephoneNumberPatternHasBeenModified;
691    }
692    
693    @Nullable
694    public String getTelephoneNumberExample() {
695        return telephoneNumberExample;
696    }
697    
698    public void setTelephoneNumberExample(@Nullable String telephoneNumberExample) {
699        boolean update = true;
700        
701        if(this.telephoneNumberExample != null) {
702            if(this.telephoneNumberExample.equals(telephoneNumberExample)) {
703                update = false;
704            }
705        } else if(telephoneNumberExample == null) {
706            update = false;
707        }
708        
709        if(update) {
710            this.telephoneNumberExample = telephoneNumberExample;
711            telephoneNumberExampleHasBeenModified = true;
712            clearHashAndString();
713        }
714    }
715    
716    public boolean getTelephoneNumberExampleHasBeenModified() {
717        return telephoneNumberExampleHasBeenModified;
718    }
719    
720    @Nonnull
721    public PostalAddressFormatPK getPostalAddressFormatPK() {
722        return postalAddressFormatPK;
723    }
724    
725    public void setPostalAddressFormatPK(@Nonnull PostalAddressFormatPK postalAddressFormatPK)
726            throws PersistenceNotNullException {
727        checkForNull(postalAddressFormatPK);
728        
729        boolean update = true;
730        
731        if(this.postalAddressFormatPK != null) {
732            if(this.postalAddressFormatPK.equals(postalAddressFormatPK)) {
733                update = false;
734            }
735        } else if(postalAddressFormatPK == null) {
736            update = false;
737        }
738        
739        if(update) {
740            this.postalAddressFormatPK = postalAddressFormatPK;
741            postalAddressFormatPKHasBeenModified = true;
742            clearHashAndString();
743        }
744    }
745    
746    public boolean getPostalAddressFormatPKHasBeenModified() {
747        return postalAddressFormatPKHasBeenModified;
748    }
749    
750    @Nonnull
751    public Boolean getCityRequired() {
752        return cityRequired;
753    }
754    
755    public void setCityRequired(@Nonnull Boolean cityRequired)
756            throws PersistenceNotNullException {
757        checkForNull(cityRequired);
758        
759        boolean update = true;
760        
761        if(this.cityRequired != null) {
762            if(this.cityRequired.equals(cityRequired)) {
763                update = false;
764            }
765        } else if(cityRequired == null) {
766            update = false;
767        }
768        
769        if(update) {
770            this.cityRequired = cityRequired;
771            cityRequiredHasBeenModified = true;
772            clearHashAndString();
773        }
774    }
775    
776    public boolean getCityRequiredHasBeenModified() {
777        return cityRequiredHasBeenModified;
778    }
779    
780    @Nonnull
781    public Boolean getCityGeoCodeRequired() {
782        return cityGeoCodeRequired;
783    }
784    
785    public void setCityGeoCodeRequired(@Nonnull Boolean cityGeoCodeRequired)
786            throws PersistenceNotNullException {
787        checkForNull(cityGeoCodeRequired);
788        
789        boolean update = true;
790        
791        if(this.cityGeoCodeRequired != null) {
792            if(this.cityGeoCodeRequired.equals(cityGeoCodeRequired)) {
793                update = false;
794            }
795        } else if(cityGeoCodeRequired == null) {
796            update = false;
797        }
798        
799        if(update) {
800            this.cityGeoCodeRequired = cityGeoCodeRequired;
801            cityGeoCodeRequiredHasBeenModified = true;
802            clearHashAndString();
803        }
804    }
805    
806    public boolean getCityGeoCodeRequiredHasBeenModified() {
807        return cityGeoCodeRequiredHasBeenModified;
808    }
809    
810    @Nonnull
811    public Boolean getStateRequired() {
812        return stateRequired;
813    }
814    
815    public void setStateRequired(@Nonnull Boolean stateRequired)
816            throws PersistenceNotNullException {
817        checkForNull(stateRequired);
818        
819        boolean update = true;
820        
821        if(this.stateRequired != null) {
822            if(this.stateRequired.equals(stateRequired)) {
823                update = false;
824            }
825        } else if(stateRequired == null) {
826            update = false;
827        }
828        
829        if(update) {
830            this.stateRequired = stateRequired;
831            stateRequiredHasBeenModified = true;
832            clearHashAndString();
833        }
834    }
835    
836    public boolean getStateRequiredHasBeenModified() {
837        return stateRequiredHasBeenModified;
838    }
839    
840    @Nonnull
841    public Boolean getStateGeoCodeRequired() {
842        return stateGeoCodeRequired;
843    }
844    
845    public void setStateGeoCodeRequired(@Nonnull Boolean stateGeoCodeRequired)
846            throws PersistenceNotNullException {
847        checkForNull(stateGeoCodeRequired);
848        
849        boolean update = true;
850        
851        if(this.stateGeoCodeRequired != null) {
852            if(this.stateGeoCodeRequired.equals(stateGeoCodeRequired)) {
853                update = false;
854            }
855        } else if(stateGeoCodeRequired == null) {
856            update = false;
857        }
858        
859        if(update) {
860            this.stateGeoCodeRequired = stateGeoCodeRequired;
861            stateGeoCodeRequiredHasBeenModified = true;
862            clearHashAndString();
863        }
864    }
865    
866    public boolean getStateGeoCodeRequiredHasBeenModified() {
867        return stateGeoCodeRequiredHasBeenModified;
868    }
869    
870    @Nullable
871    public String getPostalCodePattern() {
872        return postalCodePattern;
873    }
874    
875    public void setPostalCodePattern(@Nullable String postalCodePattern) {
876        boolean update = true;
877        
878        if(this.postalCodePattern != null) {
879            if(this.postalCodePattern.equals(postalCodePattern)) {
880                update = false;
881            }
882        } else if(postalCodePattern == null) {
883            update = false;
884        }
885        
886        if(update) {
887            this.postalCodePattern = postalCodePattern;
888            postalCodePatternHasBeenModified = true;
889            clearHashAndString();
890        }
891    }
892    
893    public boolean getPostalCodePatternHasBeenModified() {
894        return postalCodePatternHasBeenModified;
895    }
896    
897    @Nonnull
898    public Boolean getPostalCodeRequired() {
899        return postalCodeRequired;
900    }
901    
902    public void setPostalCodeRequired(@Nonnull Boolean postalCodeRequired)
903            throws PersistenceNotNullException {
904        checkForNull(postalCodeRequired);
905        
906        boolean update = true;
907        
908        if(this.postalCodeRequired != null) {
909            if(this.postalCodeRequired.equals(postalCodeRequired)) {
910                update = false;
911            }
912        } else if(postalCodeRequired == null) {
913            update = false;
914        }
915        
916        if(update) {
917            this.postalCodeRequired = postalCodeRequired;
918            postalCodeRequiredHasBeenModified = true;
919            clearHashAndString();
920        }
921    }
922    
923    public boolean getPostalCodeRequiredHasBeenModified() {
924        return postalCodeRequiredHasBeenModified;
925    }
926    
927    @Nonnull
928    public Boolean getPostalCodeGeoCodeRequired() {
929        return postalCodeGeoCodeRequired;
930    }
931    
932    public void setPostalCodeGeoCodeRequired(@Nonnull Boolean postalCodeGeoCodeRequired)
933            throws PersistenceNotNullException {
934        checkForNull(postalCodeGeoCodeRequired);
935        
936        boolean update = true;
937        
938        if(this.postalCodeGeoCodeRequired != null) {
939            if(this.postalCodeGeoCodeRequired.equals(postalCodeGeoCodeRequired)) {
940                update = false;
941            }
942        } else if(postalCodeGeoCodeRequired == null) {
943            update = false;
944        }
945        
946        if(update) {
947            this.postalCodeGeoCodeRequired = postalCodeGeoCodeRequired;
948            postalCodeGeoCodeRequiredHasBeenModified = true;
949            clearHashAndString();
950        }
951    }
952    
953    public boolean getPostalCodeGeoCodeRequiredHasBeenModified() {
954        return postalCodeGeoCodeRequiredHasBeenModified;
955    }
956    
957    @Nullable
958    public Integer getPostalCodeLength() {
959        return postalCodeLength;
960    }
961    
962    public void setPostalCodeLength(@Nullable Integer postalCodeLength) {
963        boolean update = true;
964        
965        if(this.postalCodeLength != null) {
966            if(this.postalCodeLength.equals(postalCodeLength)) {
967                update = false;
968            }
969        } else if(postalCodeLength == null) {
970            update = false;
971        }
972        
973        if(update) {
974            this.postalCodeLength = postalCodeLength;
975            postalCodeLengthHasBeenModified = true;
976            clearHashAndString();
977        }
978    }
979    
980    public boolean getPostalCodeLengthHasBeenModified() {
981        return postalCodeLengthHasBeenModified;
982    }
983    
984    @Nullable
985    public Integer getPostalCodeGeoCodeLength() {
986        return postalCodeGeoCodeLength;
987    }
988    
989    public void setPostalCodeGeoCodeLength(@Nullable Integer postalCodeGeoCodeLength) {
990        boolean update = true;
991        
992        if(this.postalCodeGeoCodeLength != null) {
993            if(this.postalCodeGeoCodeLength.equals(postalCodeGeoCodeLength)) {
994                update = false;
995            }
996        } else if(postalCodeGeoCodeLength == null) {
997            update = false;
998        }
999        
1000        if(update) {
1001            this.postalCodeGeoCodeLength = postalCodeGeoCodeLength;
1002            postalCodeGeoCodeLengthHasBeenModified = true;
1003            clearHashAndString();
1004        }
1005    }
1006    
1007    public boolean getPostalCodeGeoCodeLengthHasBeenModified() {
1008        return postalCodeGeoCodeLengthHasBeenModified;
1009    }
1010    
1011    @Nullable
1012    public String getPostalCodeExample() {
1013        return postalCodeExample;
1014    }
1015    
1016    public void setPostalCodeExample(@Nullable String postalCodeExample) {
1017        boolean update = true;
1018        
1019        if(this.postalCodeExample != null) {
1020            if(this.postalCodeExample.equals(postalCodeExample)) {
1021                update = false;
1022            }
1023        } else if(postalCodeExample == null) {
1024            update = false;
1025        }
1026        
1027        if(update) {
1028            this.postalCodeExample = postalCodeExample;
1029            postalCodeExampleHasBeenModified = true;
1030            clearHashAndString();
1031        }
1032    }
1033    
1034    public boolean getPostalCodeExampleHasBeenModified() {
1035        return postalCodeExampleHasBeenModified;
1036    }
1037    
1038    @Nonnull
1039    public Long getFromTime() {
1040        return fromTime;
1041    }
1042    
1043    public void setFromTime(@Nonnull Long fromTime)
1044            throws PersistenceNotNullException {
1045        checkForNull(fromTime);
1046        
1047        boolean update = true;
1048        
1049        if(this.fromTime != null) {
1050            if(this.fromTime.equals(fromTime)) {
1051                update = false;
1052            }
1053        } else if(fromTime == null) {
1054            update = false;
1055        }
1056        
1057        if(update) {
1058            this.fromTime = fromTime;
1059            fromTimeHasBeenModified = true;
1060            clearHashAndString();
1061        }
1062    }
1063    
1064    public boolean getFromTimeHasBeenModified() {
1065        return fromTimeHasBeenModified;
1066    }
1067    
1068    @Nonnull
1069    public Long getThruTime() {
1070        return thruTime;
1071    }
1072    
1073    public void setThruTime(@Nonnull Long thruTime)
1074            throws PersistenceNotNullException {
1075        checkForNull(thruTime);
1076        
1077        boolean update = true;
1078        
1079        if(this.thruTime != null) {
1080            if(this.thruTime.equals(thruTime)) {
1081                update = false;
1082            }
1083        } else if(thruTime == null) {
1084            update = false;
1085        }
1086        
1087        if(update) {
1088            this.thruTime = thruTime;
1089            thruTimeHasBeenModified = true;
1090            clearHashAndString();
1091        }
1092    }
1093    
1094    public boolean getThruTimeHasBeenModified() {
1095        return thruTimeHasBeenModified;
1096    }
1097    
1098}