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 * ContactPostalAddressValue.java
021 */
022
023package com.echothree.model.data.contact.server.value;
024
025import com.echothree.model.data.contact.common.pk.ContactPostalAddressPK;
026
027import com.echothree.model.data.contact.server.factory.ContactPostalAddressFactory;
028
029import com.echothree.model.data.contact.common.pk.ContactMechanismPK;
030import com.echothree.model.data.party.common.pk.PersonalTitlePK;
031import com.echothree.model.data.party.common.pk.NameSuffixPK;
032import com.echothree.model.data.geo.common.pk.GeoCodePK;
033
034import com.echothree.util.common.exception.PersistenceCloneException;
035import com.echothree.util.common.exception.PersistenceNotNullException;
036
037import com.echothree.util.server.persistence.BaseValue;
038
039import java.io.Serializable;
040
041public class ContactPostalAddressValue
042        extends BaseValue<ContactPostalAddressPK>
043        implements Cloneable, Serializable {
044    
045    private ContactMechanismPK contactMechanismPK;
046    private boolean contactMechanismPKHasBeenModified = false;
047    private PersonalTitlePK personalTitlePK;
048    private boolean personalTitlePKHasBeenModified = false;
049    private String firstName;
050    private boolean firstNameHasBeenModified = false;
051    private String firstNameSdx;
052    private boolean firstNameSdxHasBeenModified = false;
053    private String middleName;
054    private boolean middleNameHasBeenModified = false;
055    private String middleNameSdx;
056    private boolean middleNameSdxHasBeenModified = false;
057    private String lastName;
058    private boolean lastNameHasBeenModified = false;
059    private String lastNameSdx;
060    private boolean lastNameSdxHasBeenModified = false;
061    private NameSuffixPK nameSuffixPK;
062    private boolean nameSuffixPKHasBeenModified = false;
063    private String companyName;
064    private boolean companyNameHasBeenModified = false;
065    private String attention;
066    private boolean attentionHasBeenModified = false;
067    private String address1;
068    private boolean address1HasBeenModified = false;
069    private String address2;
070    private boolean address2HasBeenModified = false;
071    private String address3;
072    private boolean address3HasBeenModified = false;
073    private String city;
074    private boolean cityHasBeenModified = false;
075    private GeoCodePK cityGeoCodePK;
076    private boolean cityGeoCodePKHasBeenModified = false;
077    private GeoCodePK countyGeoCodePK;
078    private boolean countyGeoCodePKHasBeenModified = false;
079    private String state;
080    private boolean stateHasBeenModified = false;
081    private GeoCodePK stateGeoCodePK;
082    private boolean stateGeoCodePKHasBeenModified = false;
083    private String postalCode;
084    private boolean postalCodeHasBeenModified = false;
085    private GeoCodePK postalCodeGeoCodePK;
086    private boolean postalCodeGeoCodePKHasBeenModified = false;
087    private GeoCodePK countryGeoCodePK;
088    private boolean countryGeoCodePKHasBeenModified = false;
089    private Boolean isCommercial;
090    private boolean isCommercialHasBeenModified = false;
091    private Long fromTime;
092    private boolean fromTimeHasBeenModified = false;
093    private Long thruTime;
094    private boolean thruTimeHasBeenModified = false;
095    
096    private transient Integer _hashCode = null;
097    private transient String _stringValue = null;
098    
099    private void constructFields(ContactMechanismPK contactMechanismPK, PersonalTitlePK personalTitlePK, String firstName, String firstNameSdx, String middleName, String middleNameSdx, String lastName, String lastNameSdx, NameSuffixPK nameSuffixPK, String companyName, String attention, String address1, String address2, String address3, String city, GeoCodePK cityGeoCodePK, GeoCodePK countyGeoCodePK, String state, GeoCodePK stateGeoCodePK, String postalCode, GeoCodePK postalCodeGeoCodePK, GeoCodePK countryGeoCodePK, Boolean isCommercial, Long fromTime, Long thruTime)
100            throws PersistenceNotNullException {
101        checkForNull(contactMechanismPK);
102        this.contactMechanismPK = contactMechanismPK;
103        this.personalTitlePK = personalTitlePK;
104        this.firstName = firstName;
105        this.firstNameSdx = firstNameSdx;
106        this.middleName = middleName;
107        this.middleNameSdx = middleNameSdx;
108        this.lastName = lastName;
109        this.lastNameSdx = lastNameSdx;
110        this.nameSuffixPK = nameSuffixPK;
111        this.companyName = companyName;
112        this.attention = attention;
113        checkForNull(address1);
114        this.address1 = address1;
115        this.address2 = address2;
116        this.address3 = address3;
117        this.city = city;
118        this.cityGeoCodePK = cityGeoCodePK;
119        this.countyGeoCodePK = countyGeoCodePK;
120        this.state = state;
121        this.stateGeoCodePK = stateGeoCodePK;
122        this.postalCode = postalCode;
123        this.postalCodeGeoCodePK = postalCodeGeoCodePK;
124        checkForNull(countryGeoCodePK);
125        this.countryGeoCodePK = countryGeoCodePK;
126        checkForNull(isCommercial);
127        this.isCommercial = isCommercial;
128        checkForNull(fromTime);
129        this.fromTime = fromTime;
130        checkForNull(thruTime);
131        this.thruTime = thruTime;
132    }
133    
134    /** Creates a new instance of ContactPostalAddressValue */
135    public ContactPostalAddressValue(ContactPostalAddressPK contactPostalAddressPK, ContactMechanismPK contactMechanismPK, PersonalTitlePK personalTitlePK, String firstName, String firstNameSdx, String middleName, String middleNameSdx, String lastName, String lastNameSdx, NameSuffixPK nameSuffixPK, String companyName, String attention, String address1, String address2, String address3, String city, GeoCodePK cityGeoCodePK, GeoCodePK countyGeoCodePK, String state, GeoCodePK stateGeoCodePK, String postalCode, GeoCodePK postalCodeGeoCodePK, GeoCodePK countryGeoCodePK, Boolean isCommercial, Long fromTime, Long thruTime)
136            throws PersistenceNotNullException {
137        super(contactPostalAddressPK);
138        constructFields(contactMechanismPK, personalTitlePK, firstName, firstNameSdx, middleName, middleNameSdx, lastName, lastNameSdx, nameSuffixPK, companyName, attention, address1, address2, address3, city, cityGeoCodePK, countyGeoCodePK, state, stateGeoCodePK, postalCode, postalCodeGeoCodePK, countryGeoCodePK, isCommercial, fromTime, thruTime);
139    }
140    
141    /** Creates a new instance of ContactPostalAddressValue */
142    public ContactPostalAddressValue(ContactMechanismPK contactMechanismPK, PersonalTitlePK personalTitlePK, String firstName, String firstNameSdx, String middleName, String middleNameSdx, String lastName, String lastNameSdx, NameSuffixPK nameSuffixPK, String companyName, String attention, String address1, String address2, String address3, String city, GeoCodePK cityGeoCodePK, GeoCodePK countyGeoCodePK, String state, GeoCodePK stateGeoCodePK, String postalCode, GeoCodePK postalCodeGeoCodePK, GeoCodePK countryGeoCodePK, Boolean isCommercial, Long fromTime, Long thruTime)
143            throws PersistenceNotNullException {
144        super();
145        constructFields(contactMechanismPK, personalTitlePK, firstName, firstNameSdx, middleName, middleNameSdx, lastName, lastNameSdx, nameSuffixPK, companyName, attention, address1, address2, address3, city, cityGeoCodePK, countyGeoCodePK, state, stateGeoCodePK, postalCode, postalCodeGeoCodePK, countryGeoCodePK, isCommercial, fromTime, thruTime);
146    }
147    
148   @Override
149   public ContactPostalAddressFactory getBaseFactoryInstance() {
150        return ContactPostalAddressFactory.getInstance();
151    }
152    
153    @Override
154    public ContactPostalAddressValue clone() {
155        Object result;
156        
157        try {
158            result = super.clone();
159        } catch (CloneNotSupportedException cnse) {
160            // This shouldn't happen, fail when it does.
161            throw new PersistenceCloneException(cnse);
162        }
163        
164        return (ContactPostalAddressValue)result;
165    }
166    
167   @Override
168    public ContactPostalAddressPK getPrimaryKey() {
169        if(_primaryKey == null) {
170            _primaryKey = new ContactPostalAddressPK(entityId);
171        }
172        
173        return _primaryKey;
174    }
175    
176    private void clearHashAndString() {
177        _hashCode = null;
178        _stringValue = null;
179    }
180    
181    @Override
182    public int hashCode() {
183        if(_hashCode == null) {
184            int hashCode = 17;
185            
186            hashCode = 37 * hashCode + ((entityId != null) ? entityId.hashCode() : 0);
187            
188            hashCode = 37 * hashCode + ((contactMechanismPK != null) ? contactMechanismPK.hashCode() : 0);
189            hashCode = 37 * hashCode + ((personalTitlePK != null) ? personalTitlePK.hashCode() : 0);
190            hashCode = 37 * hashCode + ((firstName != null) ? firstName.hashCode() : 0);
191            hashCode = 37 * hashCode + ((firstNameSdx != null) ? firstNameSdx.hashCode() : 0);
192            hashCode = 37 * hashCode + ((middleName != null) ? middleName.hashCode() : 0);
193            hashCode = 37 * hashCode + ((middleNameSdx != null) ? middleNameSdx.hashCode() : 0);
194            hashCode = 37 * hashCode + ((lastName != null) ? lastName.hashCode() : 0);
195            hashCode = 37 * hashCode + ((lastNameSdx != null) ? lastNameSdx.hashCode() : 0);
196            hashCode = 37 * hashCode + ((nameSuffixPK != null) ? nameSuffixPK.hashCode() : 0);
197            hashCode = 37 * hashCode + ((companyName != null) ? companyName.hashCode() : 0);
198            hashCode = 37 * hashCode + ((attention != null) ? attention.hashCode() : 0);
199            hashCode = 37 * hashCode + ((address1 != null) ? address1.hashCode() : 0);
200            hashCode = 37 * hashCode + ((address2 != null) ? address2.hashCode() : 0);
201            hashCode = 37 * hashCode + ((address3 != null) ? address3.hashCode() : 0);
202            hashCode = 37 * hashCode + ((city != null) ? city.hashCode() : 0);
203            hashCode = 37 * hashCode + ((cityGeoCodePK != null) ? cityGeoCodePK.hashCode() : 0);
204            hashCode = 37 * hashCode + ((countyGeoCodePK != null) ? countyGeoCodePK.hashCode() : 0);
205            hashCode = 37 * hashCode + ((state != null) ? state.hashCode() : 0);
206            hashCode = 37 * hashCode + ((stateGeoCodePK != null) ? stateGeoCodePK.hashCode() : 0);
207            hashCode = 37 * hashCode + ((postalCode != null) ? postalCode.hashCode() : 0);
208            hashCode = 37 * hashCode + ((postalCodeGeoCodePK != null) ? postalCodeGeoCodePK.hashCode() : 0);
209            hashCode = 37 * hashCode + ((countryGeoCodePK != null) ? countryGeoCodePK.hashCode() : 0);
210            hashCode = 37 * hashCode + ((isCommercial != null) ? isCommercial.hashCode() : 0);
211            hashCode = 37 * hashCode + ((fromTime != null) ? fromTime.hashCode() : 0);
212            hashCode = 37 * hashCode + ((thruTime != null) ? thruTime.hashCode() : 0);
213            
214            _hashCode = hashCode;
215        }
216        
217        return _hashCode;
218    }
219    
220    @Override
221    public String toString() {
222        if(_stringValue == null) {
223            _stringValue = "{" + 
224                    "entityId=" + getEntityId() +
225                    ", contactMechanismPK=" + getContactMechanismPK() +
226                    ", personalTitlePK=" + getPersonalTitlePK() +
227                    ", firstName=" + getFirstName() +
228                    ", firstNameSdx=" + getFirstNameSdx() +
229                    ", middleName=" + getMiddleName() +
230                    ", middleNameSdx=" + getMiddleNameSdx() +
231                    ", lastName=" + getLastName() +
232                    ", lastNameSdx=" + getLastNameSdx() +
233                    ", nameSuffixPK=" + getNameSuffixPK() +
234                    ", companyName=" + getCompanyName() +
235                    ", attention=" + getAttention() +
236                    ", address1=" + getAddress1() +
237                    ", address2=" + getAddress2() +
238                    ", address3=" + getAddress3() +
239                    ", city=" + getCity() +
240                    ", cityGeoCodePK=" + getCityGeoCodePK() +
241                    ", countyGeoCodePK=" + getCountyGeoCodePK() +
242                    ", state=" + getState() +
243                    ", stateGeoCodePK=" + getStateGeoCodePK() +
244                    ", postalCode=" + getPostalCode() +
245                    ", postalCodeGeoCodePK=" + getPostalCodeGeoCodePK() +
246                    ", countryGeoCodePK=" + getCountryGeoCodePK() +
247                    ", isCommercial=" + getIsCommercial() +
248                    ", fromTime=" + getFromTime() +
249                    ", thruTime=" + getThruTime() +
250                    "}";
251        }
252        return _stringValue;
253    }
254    
255    @Override
256    public boolean equals(Object other) {
257        if(this == other)
258            return true;
259        
260        if(!hasIdentity())
261            return false;
262        
263        if(other instanceof  ContactPostalAddressValue that) {
264            if(!that.hasIdentity())
265                return false;
266            
267            Long thisEntityId = getEntityId();
268            Long thatEntityId = that.getEntityId();
269            
270            boolean objectsEqual = thisEntityId.equals(thatEntityId);
271            if(objectsEqual)
272                objectsEqual = isIdentical(that);
273            
274            return objectsEqual;
275        } else {
276            return false;
277        }
278    }
279    
280    public boolean isIdentical(Object other) {
281        if(other instanceof ContactPostalAddressValue that) {
282            boolean objectsEqual = true;
283            
284            
285            if(objectsEqual) {
286                ContactMechanismPK thisContactMechanismPK = getContactMechanismPK();
287                ContactMechanismPK thatContactMechanismPK = that.getContactMechanismPK();
288                
289                if(thisContactMechanismPK == null) {
290                    objectsEqual = objectsEqual && (thatContactMechanismPK == null);
291                } else {
292                    objectsEqual = objectsEqual && thisContactMechanismPK.equals(thatContactMechanismPK);
293                }
294            }
295            
296            if(objectsEqual) {
297                PersonalTitlePK thisPersonalTitlePK = getPersonalTitlePK();
298                PersonalTitlePK thatPersonalTitlePK = that.getPersonalTitlePK();
299                
300                if(thisPersonalTitlePK == null) {
301                    objectsEqual = objectsEqual && (thatPersonalTitlePK == null);
302                } else {
303                    objectsEqual = objectsEqual && thisPersonalTitlePK.equals(thatPersonalTitlePK);
304                }
305            }
306            
307            if(objectsEqual) {
308                String thisFirstName = getFirstName();
309                String thatFirstName = that.getFirstName();
310                
311                if(thisFirstName == null) {
312                    objectsEqual = objectsEqual && (thatFirstName == null);
313                } else {
314                    objectsEqual = objectsEqual && thisFirstName.equals(thatFirstName);
315                }
316            }
317            
318            if(objectsEqual) {
319                String thisFirstNameSdx = getFirstNameSdx();
320                String thatFirstNameSdx = that.getFirstNameSdx();
321                
322                if(thisFirstNameSdx == null) {
323                    objectsEqual = objectsEqual && (thatFirstNameSdx == null);
324                } else {
325                    objectsEqual = objectsEqual && thisFirstNameSdx.equals(thatFirstNameSdx);
326                }
327            }
328            
329            if(objectsEqual) {
330                String thisMiddleName = getMiddleName();
331                String thatMiddleName = that.getMiddleName();
332                
333                if(thisMiddleName == null) {
334                    objectsEqual = objectsEqual && (thatMiddleName == null);
335                } else {
336                    objectsEqual = objectsEqual && thisMiddleName.equals(thatMiddleName);
337                }
338            }
339            
340            if(objectsEqual) {
341                String thisMiddleNameSdx = getMiddleNameSdx();
342                String thatMiddleNameSdx = that.getMiddleNameSdx();
343                
344                if(thisMiddleNameSdx == null) {
345                    objectsEqual = objectsEqual && (thatMiddleNameSdx == null);
346                } else {
347                    objectsEqual = objectsEqual && thisMiddleNameSdx.equals(thatMiddleNameSdx);
348                }
349            }
350            
351            if(objectsEqual) {
352                String thisLastName = getLastName();
353                String thatLastName = that.getLastName();
354                
355                if(thisLastName == null) {
356                    objectsEqual = objectsEqual && (thatLastName == null);
357                } else {
358                    objectsEqual = objectsEqual && thisLastName.equals(thatLastName);
359                }
360            }
361            
362            if(objectsEqual) {
363                String thisLastNameSdx = getLastNameSdx();
364                String thatLastNameSdx = that.getLastNameSdx();
365                
366                if(thisLastNameSdx == null) {
367                    objectsEqual = objectsEqual && (thatLastNameSdx == null);
368                } else {
369                    objectsEqual = objectsEqual && thisLastNameSdx.equals(thatLastNameSdx);
370                }
371            }
372            
373            if(objectsEqual) {
374                NameSuffixPK thisNameSuffixPK = getNameSuffixPK();
375                NameSuffixPK thatNameSuffixPK = that.getNameSuffixPK();
376                
377                if(thisNameSuffixPK == null) {
378                    objectsEqual = objectsEqual && (thatNameSuffixPK == null);
379                } else {
380                    objectsEqual = objectsEqual && thisNameSuffixPK.equals(thatNameSuffixPK);
381                }
382            }
383            
384            if(objectsEqual) {
385                String thisCompanyName = getCompanyName();
386                String thatCompanyName = that.getCompanyName();
387                
388                if(thisCompanyName == null) {
389                    objectsEqual = objectsEqual && (thatCompanyName == null);
390                } else {
391                    objectsEqual = objectsEqual && thisCompanyName.equals(thatCompanyName);
392                }
393            }
394            
395            if(objectsEqual) {
396                String thisAttention = getAttention();
397                String thatAttention = that.getAttention();
398                
399                if(thisAttention == null) {
400                    objectsEqual = objectsEqual && (thatAttention == null);
401                } else {
402                    objectsEqual = objectsEqual && thisAttention.equals(thatAttention);
403                }
404            }
405            
406            if(objectsEqual) {
407                String thisAddress1 = getAddress1();
408                String thatAddress1 = that.getAddress1();
409                
410                if(thisAddress1 == null) {
411                    objectsEqual = objectsEqual && (thatAddress1 == null);
412                } else {
413                    objectsEqual = objectsEqual && thisAddress1.equals(thatAddress1);
414                }
415            }
416            
417            if(objectsEqual) {
418                String thisAddress2 = getAddress2();
419                String thatAddress2 = that.getAddress2();
420                
421                if(thisAddress2 == null) {
422                    objectsEqual = objectsEqual && (thatAddress2 == null);
423                } else {
424                    objectsEqual = objectsEqual && thisAddress2.equals(thatAddress2);
425                }
426            }
427            
428            if(objectsEqual) {
429                String thisAddress3 = getAddress3();
430                String thatAddress3 = that.getAddress3();
431                
432                if(thisAddress3 == null) {
433                    objectsEqual = objectsEqual && (thatAddress3 == null);
434                } else {
435                    objectsEqual = objectsEqual && thisAddress3.equals(thatAddress3);
436                }
437            }
438            
439            if(objectsEqual) {
440                String thisCity = getCity();
441                String thatCity = that.getCity();
442                
443                if(thisCity == null) {
444                    objectsEqual = objectsEqual && (thatCity == null);
445                } else {
446                    objectsEqual = objectsEqual && thisCity.equals(thatCity);
447                }
448            }
449            
450            if(objectsEqual) {
451                GeoCodePK thisCityGeoCodePK = getCityGeoCodePK();
452                GeoCodePK thatCityGeoCodePK = that.getCityGeoCodePK();
453                
454                if(thisCityGeoCodePK == null) {
455                    objectsEqual = objectsEqual && (thatCityGeoCodePK == null);
456                } else {
457                    objectsEqual = objectsEqual && thisCityGeoCodePK.equals(thatCityGeoCodePK);
458                }
459            }
460            
461            if(objectsEqual) {
462                GeoCodePK thisCountyGeoCodePK = getCountyGeoCodePK();
463                GeoCodePK thatCountyGeoCodePK = that.getCountyGeoCodePK();
464                
465                if(thisCountyGeoCodePK == null) {
466                    objectsEqual = objectsEqual && (thatCountyGeoCodePK == null);
467                } else {
468                    objectsEqual = objectsEqual && thisCountyGeoCodePK.equals(thatCountyGeoCodePK);
469                }
470            }
471            
472            if(objectsEqual) {
473                String thisState = getState();
474                String thatState = that.getState();
475                
476                if(thisState == null) {
477                    objectsEqual = objectsEqual && (thatState == null);
478                } else {
479                    objectsEqual = objectsEqual && thisState.equals(thatState);
480                }
481            }
482            
483            if(objectsEqual) {
484                GeoCodePK thisStateGeoCodePK = getStateGeoCodePK();
485                GeoCodePK thatStateGeoCodePK = that.getStateGeoCodePK();
486                
487                if(thisStateGeoCodePK == null) {
488                    objectsEqual = objectsEqual && (thatStateGeoCodePK == null);
489                } else {
490                    objectsEqual = objectsEqual && thisStateGeoCodePK.equals(thatStateGeoCodePK);
491                }
492            }
493            
494            if(objectsEqual) {
495                String thisPostalCode = getPostalCode();
496                String thatPostalCode = that.getPostalCode();
497                
498                if(thisPostalCode == null) {
499                    objectsEqual = objectsEqual && (thatPostalCode == null);
500                } else {
501                    objectsEqual = objectsEqual && thisPostalCode.equals(thatPostalCode);
502                }
503            }
504            
505            if(objectsEqual) {
506                GeoCodePK thisPostalCodeGeoCodePK = getPostalCodeGeoCodePK();
507                GeoCodePK thatPostalCodeGeoCodePK = that.getPostalCodeGeoCodePK();
508                
509                if(thisPostalCodeGeoCodePK == null) {
510                    objectsEqual = objectsEqual && (thatPostalCodeGeoCodePK == null);
511                } else {
512                    objectsEqual = objectsEqual && thisPostalCodeGeoCodePK.equals(thatPostalCodeGeoCodePK);
513                }
514            }
515            
516            if(objectsEqual) {
517                GeoCodePK thisCountryGeoCodePK = getCountryGeoCodePK();
518                GeoCodePK thatCountryGeoCodePK = that.getCountryGeoCodePK();
519                
520                if(thisCountryGeoCodePK == null) {
521                    objectsEqual = objectsEqual && (thatCountryGeoCodePK == null);
522                } else {
523                    objectsEqual = objectsEqual && thisCountryGeoCodePK.equals(thatCountryGeoCodePK);
524                }
525            }
526            
527            if(objectsEqual) {
528                Boolean thisIsCommercial = getIsCommercial();
529                Boolean thatIsCommercial = that.getIsCommercial();
530                
531                if(thisIsCommercial == null) {
532                    objectsEqual = objectsEqual && (thatIsCommercial == null);
533                } else {
534                    objectsEqual = objectsEqual && thisIsCommercial.equals(thatIsCommercial);
535                }
536            }
537            
538            if(objectsEqual) {
539                Long thisFromTime = getFromTime();
540                Long thatFromTime = that.getFromTime();
541                
542                if(thisFromTime == null) {
543                    objectsEqual = objectsEqual && (thatFromTime == null);
544                } else {
545                    objectsEqual = objectsEqual && thisFromTime.equals(thatFromTime);
546                }
547            }
548            
549            if(objectsEqual) {
550                Long thisThruTime = getThruTime();
551                Long thatThruTime = that.getThruTime();
552                
553                if(thisThruTime == null) {
554                    objectsEqual = objectsEqual && (thatThruTime == null);
555                } else {
556                    objectsEqual = objectsEqual && thisThruTime.equals(thatThruTime);
557                }
558            }
559            
560            return objectsEqual;
561        } else {
562            return false;
563        }
564    }
565    
566    @Override
567    public boolean hasBeenModified() {
568        return contactMechanismPKHasBeenModified || personalTitlePKHasBeenModified || firstNameHasBeenModified || firstNameSdxHasBeenModified || middleNameHasBeenModified || middleNameSdxHasBeenModified || lastNameHasBeenModified || lastNameSdxHasBeenModified || nameSuffixPKHasBeenModified || companyNameHasBeenModified || attentionHasBeenModified || address1HasBeenModified || address2HasBeenModified || address3HasBeenModified || cityHasBeenModified || cityGeoCodePKHasBeenModified || countyGeoCodePKHasBeenModified || stateHasBeenModified || stateGeoCodePKHasBeenModified || postalCodeHasBeenModified || postalCodeGeoCodePKHasBeenModified || countryGeoCodePKHasBeenModified || isCommercialHasBeenModified || fromTimeHasBeenModified || thruTimeHasBeenModified;
569    }
570    
571    @Override
572    public void clearHasBeenModified() {
573        contactMechanismPKHasBeenModified = false;
574        personalTitlePKHasBeenModified = false;
575        firstNameHasBeenModified = false;
576        firstNameSdxHasBeenModified = false;
577        middleNameHasBeenModified = false;
578        middleNameSdxHasBeenModified = false;
579        lastNameHasBeenModified = false;
580        lastNameSdxHasBeenModified = false;
581        nameSuffixPKHasBeenModified = false;
582        companyNameHasBeenModified = false;
583        attentionHasBeenModified = false;
584        address1HasBeenModified = false;
585        address2HasBeenModified = false;
586        address3HasBeenModified = false;
587        cityHasBeenModified = false;
588        cityGeoCodePKHasBeenModified = false;
589        countyGeoCodePKHasBeenModified = false;
590        stateHasBeenModified = false;
591        stateGeoCodePKHasBeenModified = false;
592        postalCodeHasBeenModified = false;
593        postalCodeGeoCodePKHasBeenModified = false;
594        countryGeoCodePKHasBeenModified = false;
595        isCommercialHasBeenModified = false;
596        fromTimeHasBeenModified = false;
597        thruTimeHasBeenModified = false;
598    }
599    
600    public ContactMechanismPK getContactMechanismPK() {
601        return contactMechanismPK;
602    }
603    
604    public void setContactMechanismPK(ContactMechanismPK contactMechanismPK)
605            throws PersistenceNotNullException {
606        checkForNull(contactMechanismPK);
607        
608        boolean update = true;
609        
610        if(this.contactMechanismPK != null) {
611            if(this.contactMechanismPK.equals(contactMechanismPK)) {
612                update = false;
613            }
614        } else if(contactMechanismPK == null) {
615            update = false;
616        }
617        
618        if(update) {
619            this.contactMechanismPK = contactMechanismPK;
620            contactMechanismPKHasBeenModified = true;
621            clearHashAndString();
622        }
623    }
624    
625    public boolean getContactMechanismPKHasBeenModified() {
626        return contactMechanismPKHasBeenModified;
627    }
628    
629    public PersonalTitlePK getPersonalTitlePK() {
630        return personalTitlePK;
631    }
632    
633    public void setPersonalTitlePK(PersonalTitlePK personalTitlePK) {
634        boolean update = true;
635        
636        if(this.personalTitlePK != null) {
637            if(this.personalTitlePK.equals(personalTitlePK)) {
638                update = false;
639            }
640        } else if(personalTitlePK == null) {
641            update = false;
642        }
643        
644        if(update) {
645            this.personalTitlePK = personalTitlePK;
646            personalTitlePKHasBeenModified = true;
647            clearHashAndString();
648        }
649    }
650    
651    public boolean getPersonalTitlePKHasBeenModified() {
652        return personalTitlePKHasBeenModified;
653    }
654    
655    public String getFirstName() {
656        return firstName;
657    }
658    
659    public void setFirstName(String firstName) {
660        boolean update = true;
661        
662        if(this.firstName != null) {
663            if(this.firstName.equals(firstName)) {
664                update = false;
665            }
666        } else if(firstName == null) {
667            update = false;
668        }
669        
670        if(update) {
671            this.firstName = firstName;
672            firstNameHasBeenModified = true;
673            clearHashAndString();
674        }
675    }
676    
677    public boolean getFirstNameHasBeenModified() {
678        return firstNameHasBeenModified;
679    }
680    
681    public String getFirstNameSdx() {
682        return firstNameSdx;
683    }
684    
685    public void setFirstNameSdx(String firstNameSdx) {
686        boolean update = true;
687        
688        if(this.firstNameSdx != null) {
689            if(this.firstNameSdx.equals(firstNameSdx)) {
690                update = false;
691            }
692        } else if(firstNameSdx == null) {
693            update = false;
694        }
695        
696        if(update) {
697            this.firstNameSdx = firstNameSdx;
698            firstNameSdxHasBeenModified = true;
699            clearHashAndString();
700        }
701    }
702    
703    public boolean getFirstNameSdxHasBeenModified() {
704        return firstNameSdxHasBeenModified;
705    }
706    
707    public String getMiddleName() {
708        return middleName;
709    }
710    
711    public void setMiddleName(String middleName) {
712        boolean update = true;
713        
714        if(this.middleName != null) {
715            if(this.middleName.equals(middleName)) {
716                update = false;
717            }
718        } else if(middleName == null) {
719            update = false;
720        }
721        
722        if(update) {
723            this.middleName = middleName;
724            middleNameHasBeenModified = true;
725            clearHashAndString();
726        }
727    }
728    
729    public boolean getMiddleNameHasBeenModified() {
730        return middleNameHasBeenModified;
731    }
732    
733    public String getMiddleNameSdx() {
734        return middleNameSdx;
735    }
736    
737    public void setMiddleNameSdx(String middleNameSdx) {
738        boolean update = true;
739        
740        if(this.middleNameSdx != null) {
741            if(this.middleNameSdx.equals(middleNameSdx)) {
742                update = false;
743            }
744        } else if(middleNameSdx == null) {
745            update = false;
746        }
747        
748        if(update) {
749            this.middleNameSdx = middleNameSdx;
750            middleNameSdxHasBeenModified = true;
751            clearHashAndString();
752        }
753    }
754    
755    public boolean getMiddleNameSdxHasBeenModified() {
756        return middleNameSdxHasBeenModified;
757    }
758    
759    public String getLastName() {
760        return lastName;
761    }
762    
763    public void setLastName(String lastName) {
764        boolean update = true;
765        
766        if(this.lastName != null) {
767            if(this.lastName.equals(lastName)) {
768                update = false;
769            }
770        } else if(lastName == null) {
771            update = false;
772        }
773        
774        if(update) {
775            this.lastName = lastName;
776            lastNameHasBeenModified = true;
777            clearHashAndString();
778        }
779    }
780    
781    public boolean getLastNameHasBeenModified() {
782        return lastNameHasBeenModified;
783    }
784    
785    public String getLastNameSdx() {
786        return lastNameSdx;
787    }
788    
789    public void setLastNameSdx(String lastNameSdx) {
790        boolean update = true;
791        
792        if(this.lastNameSdx != null) {
793            if(this.lastNameSdx.equals(lastNameSdx)) {
794                update = false;
795            }
796        } else if(lastNameSdx == null) {
797            update = false;
798        }
799        
800        if(update) {
801            this.lastNameSdx = lastNameSdx;
802            lastNameSdxHasBeenModified = true;
803            clearHashAndString();
804        }
805    }
806    
807    public boolean getLastNameSdxHasBeenModified() {
808        return lastNameSdxHasBeenModified;
809    }
810    
811    public NameSuffixPK getNameSuffixPK() {
812        return nameSuffixPK;
813    }
814    
815    public void setNameSuffixPK(NameSuffixPK nameSuffixPK) {
816        boolean update = true;
817        
818        if(this.nameSuffixPK != null) {
819            if(this.nameSuffixPK.equals(nameSuffixPK)) {
820                update = false;
821            }
822        } else if(nameSuffixPK == null) {
823            update = false;
824        }
825        
826        if(update) {
827            this.nameSuffixPK = nameSuffixPK;
828            nameSuffixPKHasBeenModified = true;
829            clearHashAndString();
830        }
831    }
832    
833    public boolean getNameSuffixPKHasBeenModified() {
834        return nameSuffixPKHasBeenModified;
835    }
836    
837    public String getCompanyName() {
838        return companyName;
839    }
840    
841    public void setCompanyName(String companyName) {
842        boolean update = true;
843        
844        if(this.companyName != null) {
845            if(this.companyName.equals(companyName)) {
846                update = false;
847            }
848        } else if(companyName == null) {
849            update = false;
850        }
851        
852        if(update) {
853            this.companyName = companyName;
854            companyNameHasBeenModified = true;
855            clearHashAndString();
856        }
857    }
858    
859    public boolean getCompanyNameHasBeenModified() {
860        return companyNameHasBeenModified;
861    }
862    
863    public String getAttention() {
864        return attention;
865    }
866    
867    public void setAttention(String attention) {
868        boolean update = true;
869        
870        if(this.attention != null) {
871            if(this.attention.equals(attention)) {
872                update = false;
873            }
874        } else if(attention == null) {
875            update = false;
876        }
877        
878        if(update) {
879            this.attention = attention;
880            attentionHasBeenModified = true;
881            clearHashAndString();
882        }
883    }
884    
885    public boolean getAttentionHasBeenModified() {
886        return attentionHasBeenModified;
887    }
888    
889    public String getAddress1() {
890        return address1;
891    }
892    
893    public void setAddress1(String address1)
894            throws PersistenceNotNullException {
895        checkForNull(address1);
896        
897        boolean update = true;
898        
899        if(this.address1 != null) {
900            if(this.address1.equals(address1)) {
901                update = false;
902            }
903        } else if(address1 == null) {
904            update = false;
905        }
906        
907        if(update) {
908            this.address1 = address1;
909            address1HasBeenModified = true;
910            clearHashAndString();
911        }
912    }
913    
914    public boolean getAddress1HasBeenModified() {
915        return address1HasBeenModified;
916    }
917    
918    public String getAddress2() {
919        return address2;
920    }
921    
922    public void setAddress2(String address2) {
923        boolean update = true;
924        
925        if(this.address2 != null) {
926            if(this.address2.equals(address2)) {
927                update = false;
928            }
929        } else if(address2 == null) {
930            update = false;
931        }
932        
933        if(update) {
934            this.address2 = address2;
935            address2HasBeenModified = true;
936            clearHashAndString();
937        }
938    }
939    
940    public boolean getAddress2HasBeenModified() {
941        return address2HasBeenModified;
942    }
943    
944    public String getAddress3() {
945        return address3;
946    }
947    
948    public void setAddress3(String address3) {
949        boolean update = true;
950        
951        if(this.address3 != null) {
952            if(this.address3.equals(address3)) {
953                update = false;
954            }
955        } else if(address3 == null) {
956            update = false;
957        }
958        
959        if(update) {
960            this.address3 = address3;
961            address3HasBeenModified = true;
962            clearHashAndString();
963        }
964    }
965    
966    public boolean getAddress3HasBeenModified() {
967        return address3HasBeenModified;
968    }
969    
970    public String getCity() {
971        return city;
972    }
973    
974    public void setCity(String city) {
975        boolean update = true;
976        
977        if(this.city != null) {
978            if(this.city.equals(city)) {
979                update = false;
980            }
981        } else if(city == null) {
982            update = false;
983        }
984        
985        if(update) {
986            this.city = city;
987            cityHasBeenModified = true;
988            clearHashAndString();
989        }
990    }
991    
992    public boolean getCityHasBeenModified() {
993        return cityHasBeenModified;
994    }
995    
996    public GeoCodePK getCityGeoCodePK() {
997        return cityGeoCodePK;
998    }
999    
1000    public void setCityGeoCodePK(GeoCodePK cityGeoCodePK) {
1001        boolean update = true;
1002        
1003        if(this.cityGeoCodePK != null) {
1004            if(this.cityGeoCodePK.equals(cityGeoCodePK)) {
1005                update = false;
1006            }
1007        } else if(cityGeoCodePK == null) {
1008            update = false;
1009        }
1010        
1011        if(update) {
1012            this.cityGeoCodePK = cityGeoCodePK;
1013            cityGeoCodePKHasBeenModified = true;
1014            clearHashAndString();
1015        }
1016    }
1017    
1018    public boolean getCityGeoCodePKHasBeenModified() {
1019        return cityGeoCodePKHasBeenModified;
1020    }
1021    
1022    public GeoCodePK getCountyGeoCodePK() {
1023        return countyGeoCodePK;
1024    }
1025    
1026    public void setCountyGeoCodePK(GeoCodePK countyGeoCodePK) {
1027        boolean update = true;
1028        
1029        if(this.countyGeoCodePK != null) {
1030            if(this.countyGeoCodePK.equals(countyGeoCodePK)) {
1031                update = false;
1032            }
1033        } else if(countyGeoCodePK == null) {
1034            update = false;
1035        }
1036        
1037        if(update) {
1038            this.countyGeoCodePK = countyGeoCodePK;
1039            countyGeoCodePKHasBeenModified = true;
1040            clearHashAndString();
1041        }
1042    }
1043    
1044    public boolean getCountyGeoCodePKHasBeenModified() {
1045        return countyGeoCodePKHasBeenModified;
1046    }
1047    
1048    public String getState() {
1049        return state;
1050    }
1051    
1052    public void setState(String state) {
1053        boolean update = true;
1054        
1055        if(this.state != null) {
1056            if(this.state.equals(state)) {
1057                update = false;
1058            }
1059        } else if(state == null) {
1060            update = false;
1061        }
1062        
1063        if(update) {
1064            this.state = state;
1065            stateHasBeenModified = true;
1066            clearHashAndString();
1067        }
1068    }
1069    
1070    public boolean getStateHasBeenModified() {
1071        return stateHasBeenModified;
1072    }
1073    
1074    public GeoCodePK getStateGeoCodePK() {
1075        return stateGeoCodePK;
1076    }
1077    
1078    public void setStateGeoCodePK(GeoCodePK stateGeoCodePK) {
1079        boolean update = true;
1080        
1081        if(this.stateGeoCodePK != null) {
1082            if(this.stateGeoCodePK.equals(stateGeoCodePK)) {
1083                update = false;
1084            }
1085        } else if(stateGeoCodePK == null) {
1086            update = false;
1087        }
1088        
1089        if(update) {
1090            this.stateGeoCodePK = stateGeoCodePK;
1091            stateGeoCodePKHasBeenModified = true;
1092            clearHashAndString();
1093        }
1094    }
1095    
1096    public boolean getStateGeoCodePKHasBeenModified() {
1097        return stateGeoCodePKHasBeenModified;
1098    }
1099    
1100    public String getPostalCode() {
1101        return postalCode;
1102    }
1103    
1104    public void setPostalCode(String postalCode) {
1105        boolean update = true;
1106        
1107        if(this.postalCode != null) {
1108            if(this.postalCode.equals(postalCode)) {
1109                update = false;
1110            }
1111        } else if(postalCode == null) {
1112            update = false;
1113        }
1114        
1115        if(update) {
1116            this.postalCode = postalCode;
1117            postalCodeHasBeenModified = true;
1118            clearHashAndString();
1119        }
1120    }
1121    
1122    public boolean getPostalCodeHasBeenModified() {
1123        return postalCodeHasBeenModified;
1124    }
1125    
1126    public GeoCodePK getPostalCodeGeoCodePK() {
1127        return postalCodeGeoCodePK;
1128    }
1129    
1130    public void setPostalCodeGeoCodePK(GeoCodePK postalCodeGeoCodePK) {
1131        boolean update = true;
1132        
1133        if(this.postalCodeGeoCodePK != null) {
1134            if(this.postalCodeGeoCodePK.equals(postalCodeGeoCodePK)) {
1135                update = false;
1136            }
1137        } else if(postalCodeGeoCodePK == null) {
1138            update = false;
1139        }
1140        
1141        if(update) {
1142            this.postalCodeGeoCodePK = postalCodeGeoCodePK;
1143            postalCodeGeoCodePKHasBeenModified = true;
1144            clearHashAndString();
1145        }
1146    }
1147    
1148    public boolean getPostalCodeGeoCodePKHasBeenModified() {
1149        return postalCodeGeoCodePKHasBeenModified;
1150    }
1151    
1152    public GeoCodePK getCountryGeoCodePK() {
1153        return countryGeoCodePK;
1154    }
1155    
1156    public void setCountryGeoCodePK(GeoCodePK countryGeoCodePK)
1157            throws PersistenceNotNullException {
1158        checkForNull(countryGeoCodePK);
1159        
1160        boolean update = true;
1161        
1162        if(this.countryGeoCodePK != null) {
1163            if(this.countryGeoCodePK.equals(countryGeoCodePK)) {
1164                update = false;
1165            }
1166        } else if(countryGeoCodePK == null) {
1167            update = false;
1168        }
1169        
1170        if(update) {
1171            this.countryGeoCodePK = countryGeoCodePK;
1172            countryGeoCodePKHasBeenModified = true;
1173            clearHashAndString();
1174        }
1175    }
1176    
1177    public boolean getCountryGeoCodePKHasBeenModified() {
1178        return countryGeoCodePKHasBeenModified;
1179    }
1180    
1181    public Boolean getIsCommercial() {
1182        return isCommercial;
1183    }
1184    
1185    public void setIsCommercial(Boolean isCommercial)
1186            throws PersistenceNotNullException {
1187        checkForNull(isCommercial);
1188        
1189        boolean update = true;
1190        
1191        if(this.isCommercial != null) {
1192            if(this.isCommercial.equals(isCommercial)) {
1193                update = false;
1194            }
1195        } else if(isCommercial == null) {
1196            update = false;
1197        }
1198        
1199        if(update) {
1200            this.isCommercial = isCommercial;
1201            isCommercialHasBeenModified = true;
1202            clearHashAndString();
1203        }
1204    }
1205    
1206    public boolean getIsCommercialHasBeenModified() {
1207        return isCommercialHasBeenModified;
1208    }
1209    
1210    public Long getFromTime() {
1211        return fromTime;
1212    }
1213    
1214    public void setFromTime(Long fromTime)
1215            throws PersistenceNotNullException {
1216        checkForNull(fromTime);
1217        
1218        boolean update = true;
1219        
1220        if(this.fromTime != null) {
1221            if(this.fromTime.equals(fromTime)) {
1222                update = false;
1223            }
1224        } else if(fromTime == null) {
1225            update = false;
1226        }
1227        
1228        if(update) {
1229            this.fromTime = fromTime;
1230            fromTimeHasBeenModified = true;
1231            clearHashAndString();
1232        }
1233    }
1234    
1235    public boolean getFromTimeHasBeenModified() {
1236        return fromTimeHasBeenModified;
1237    }
1238    
1239    public Long getThruTime() {
1240        return thruTime;
1241    }
1242    
1243    public void setThruTime(Long thruTime)
1244            throws PersistenceNotNullException {
1245        checkForNull(thruTime);
1246        
1247        boolean update = true;
1248        
1249        if(this.thruTime != null) {
1250            if(this.thruTime.equals(thruTime)) {
1251                update = false;
1252            }
1253        } else if(thruTime == null) {
1254            update = false;
1255        }
1256        
1257        if(update) {
1258            this.thruTime = thruTime;
1259            thruTimeHasBeenModified = true;
1260            clearHashAndString();
1261        }
1262    }
1263    
1264    public boolean getThruTimeHasBeenModified() {
1265        return thruTimeHasBeenModified;
1266    }
1267    
1268}