View Javadoc
1   //
2   // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 
3   // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
4   // Any modifications to this file will be lost upon recompilation of the source schema. 
5   // Generated on: 2017.04.23 at 07:23:18 PM CEST 
6   //
7   
8   
9   package com.hack23.cia.model.internal.application.user.impl;
10  
11  import java.io.Serializable;
12  import java.util.ArrayList;
13  import java.util.Collection;
14  import java.util.Date;
15  import java.util.List;
16  import javax.persistence.Basic;
17  import javax.persistence.CollectionTable;
18  import javax.persistence.Column;
19  import javax.persistence.ElementCollection;
20  import javax.persistence.Entity;
21  import javax.persistence.EnumType;
22  import javax.persistence.Enumerated;
23  import javax.persistence.GeneratedValue;
24  import javax.persistence.GenerationType;
25  import javax.persistence.Id;
26  import javax.persistence.Inheritance;
27  import javax.persistence.InheritanceType;
28  import javax.persistence.JoinColumn;
29  import javax.persistence.OrderColumn;
30  import javax.persistence.Table;
31  import javax.persistence.Temporal;
32  import javax.persistence.TemporalType;
33  import javax.xml.bind.annotation.XmlAccessType;
34  import javax.xml.bind.annotation.XmlAccessorType;
35  import javax.xml.bind.annotation.XmlAttribute;
36  import javax.xml.bind.annotation.XmlElement;
37  import javax.xml.bind.annotation.XmlSchemaType;
38  import javax.xml.bind.annotation.XmlType;
39  import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
40  import com.hack23.cia.model.common.api.ModelObject;
41  import org.jvnet.jaxb2_commons.lang.Equals;
42  import org.jvnet.jaxb2_commons.lang.EqualsStrategy;
43  import org.jvnet.jaxb2_commons.lang.HashCode;
44  import org.jvnet.jaxb2_commons.lang.HashCodeStrategy;
45  import org.jvnet.jaxb2_commons.lang.JAXBEqualsStrategy;
46  import org.jvnet.jaxb2_commons.lang.JAXBHashCodeStrategy;
47  import org.jvnet.jaxb2_commons.lang.JAXBToStringStrategy;
48  import org.jvnet.jaxb2_commons.lang.ToString;
49  import org.jvnet.jaxb2_commons.lang.ToStringStrategy;
50  import org.jvnet.jaxb2_commons.locator.ObjectLocator;
51  import org.jvnet.jaxb2_commons.locator.util.LocatorUtils;
52  import org.w3._2001.xmlschema.Adapter1;
53  
54  
55  /**
56   * <p>Java class for UserAccount complex type.
57   * 
58   * <p>The following schema fragment specifies the expected content contained within this class.
59   * 
60   * <pre>
61   * &lt;complexType name="UserAccount"&gt;
62   *   &lt;complexContent&gt;
63   *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
64   *       &lt;sequence&gt;
65   *         &lt;element name="modelObjectId" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/&gt;
66   *         &lt;element name="modelObjectVersion" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/&gt;
67   *         &lt;element name="country" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
68   *         &lt;element name="username" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
69   *         &lt;element name="email" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
70   *         &lt;element name="userId" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
71   *         &lt;element name="userpassword" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
72   *         &lt;element name="numberOfVisits" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/&gt;
73   *         &lt;element name="address" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/&gt;
74   *         &lt;element name="userType" type="{http://user.application.internal.model.cia.hack23.com/impl}UserType" minOccurs="0"/&gt;
75   *         &lt;element name="userRole" type="{http://user.application.internal.model.cia.hack23.com/impl}UserRole" minOccurs="0"/&gt;
76   *         &lt;element name="createdDate" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/&gt;
77   *         &lt;element name="googleAuthKey" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
78   *         &lt;element name="googleAuthVerificationCode" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/&gt;
79   *         &lt;element name="googleAuthScratchCodes" type="{http://www.w3.org/2001/XMLSchema}int" maxOccurs="unbounded" minOccurs="0"/&gt;
80   *       &lt;/sequence&gt;
81   *     &lt;/restriction&gt;
82   *   &lt;/complexContent&gt;
83   * &lt;/complexType&gt;
84   * </pre>
85   * 
86   * 
87   */
88  @XmlAccessorType(XmlAccessType.FIELD)
89  @XmlType(name = "UserAccount", propOrder = {
90      "modelObjectId",
91      "modelObjectVersion",
92      "country",
93      "username",
94      "email",
95      "userId",
96      "userpassword",
97      "numberOfVisits",
98      "address",
99      "userType",
100     "userRole",
101     "createdDate",
102     "googleAuthKey",
103     "googleAuthVerificationCode",
104     "googleAuthScratchCodes"
105 })
106 @Entity(name = "UserAccount")
107 @Table(name = "USER_ACCOUNT")
108 @Inheritance(strategy = InheritanceType.JOINED)
109 public class UserAccount
110     implements Serializable, ModelObject, Equals, HashCode, ToString
111 {
112 
113     private final static long serialVersionUID = 1L;
114     protected Integer modelObjectId;
115     protected Integer modelObjectVersion;
116     protected String country;
117     protected String username;
118     protected String email;
119     protected String userId;
120     protected String userpassword;
121     protected Integer numberOfVisits;
122     @XmlElement(nillable = true)
123     protected List<String> address;
124     @XmlSchemaType(name = "string")
125     protected UserType userType;
126     @XmlSchemaType(name = "string")
127     protected UserRole userRole;
128     @XmlElement(type = String.class)
129     @XmlJavaTypeAdapter(Adapter1 .class)
130     @XmlSchemaType(name = "dateTime")
131     protected Date createdDate;
132     protected String googleAuthKey;
133     protected Integer googleAuthVerificationCode;
134     @XmlElement(nillable = true)
135     protected List<Integer> googleAuthScratchCodes;
136     @XmlAttribute(name = "Hjid")
137     protected Long hjid;
138 
139     /**
140      * Gets the value of the modelObjectId property.
141      * 
142      * @return
143      *     possible object is
144      *     {@link Integer }
145      *     
146      */
147     @Basic
148     @Column(name = "MODEL_OBJECT_ID", precision = 10, scale = 0)
149     public Integer getModelObjectId() {
150         return modelObjectId;
151     }
152 
153     /**
154      * Sets the value of the modelObjectId property.
155      * 
156      * @param value
157      *     allowed object is
158      *     {@link Integer }
159      *     
160      */
161     public void setModelObjectId(Integer value) {
162         this.modelObjectId = value;
163     }
164 
165     /**
166      * Gets the value of the modelObjectVersion property.
167      * 
168      * @return
169      *     possible object is
170      *     {@link Integer }
171      *     
172      */
173     @Basic
174     @Column(name = "MODEL_OBJECT_VERSION", precision = 10, scale = 0)
175     public Integer getModelObjectVersion() {
176         return modelObjectVersion;
177     }
178 
179     /**
180      * Sets the value of the modelObjectVersion property.
181      * 
182      * @param value
183      *     allowed object is
184      *     {@link Integer }
185      *     
186      */
187     public void setModelObjectVersion(Integer value) {
188         this.modelObjectVersion = value;
189     }
190 
191     /**
192      * Gets the value of the country property.
193      * 
194      * @return
195      *     possible object is
196      *     {@link String }
197      *     
198      */
199     @Basic
200     @Column(name = "COUNTRY", length = 255)
201     public String getCountry() {
202         return country;
203     }
204 
205     /**
206      * Sets the value of the country property.
207      * 
208      * @param value
209      *     allowed object is
210      *     {@link String }
211      *     
212      */
213     public void setCountry(String value) {
214         this.country = value;
215     }
216 
217     /**
218      * Gets the value of the username property.
219      * 
220      * @return
221      *     possible object is
222      *     {@link String }
223      *     
224      */
225     @Basic
226     @Column(name = "USERNAME", length = 255)
227     public String getUsername() {
228         return username;
229     }
230 
231     /**
232      * Sets the value of the username property.
233      * 
234      * @param value
235      *     allowed object is
236      *     {@link String }
237      *     
238      */
239     public void setUsername(String value) {
240         this.username = value;
241     }
242 
243     /**
244      * Gets the value of the email property.
245      * 
246      * @return
247      *     possible object is
248      *     {@link String }
249      *     
250      */
251     @Basic
252     @Column(name = "EMAIL", length = 255)
253     public String getEmail() {
254         return email;
255     }
256 
257     /**
258      * Sets the value of the email property.
259      * 
260      * @param value
261      *     allowed object is
262      *     {@link String }
263      *     
264      */
265     public void setEmail(String value) {
266         this.email = value;
267     }
268 
269     /**
270      * Gets the value of the userId property.
271      * 
272      * @return
273      *     possible object is
274      *     {@link String }
275      *     
276      */
277     @Basic
278     @Column(name = "USER_ID", length = 255)
279     public String getUserId() {
280         return userId;
281     }
282 
283     /**
284      * Sets the value of the userId property.
285      * 
286      * @param value
287      *     allowed object is
288      *     {@link String }
289      *     
290      */
291     public void setUserId(String value) {
292         this.userId = value;
293     }
294 
295     /**
296      * Gets the value of the userpassword property.
297      * 
298      * @return
299      *     possible object is
300      *     {@link String }
301      *     
302      */
303     @Basic
304     @Column(name = "USERPASSWORD", length = 255)
305     public String getUserpassword() {
306         return userpassword;
307     }
308 
309     /**
310      * Sets the value of the userpassword property.
311      * 
312      * @param value
313      *     allowed object is
314      *     {@link String }
315      *     
316      */
317     public void setUserpassword(String value) {
318         this.userpassword = value;
319     }
320 
321     /**
322      * Gets the value of the numberOfVisits property.
323      * 
324      * @return
325      *     possible object is
326      *     {@link Integer }
327      *     
328      */
329     @Basic
330     @Column(name = "NUMBER_OF_VISITS", precision = 10, scale = 0)
331     public Integer getNumberOfVisits() {
332         return numberOfVisits;
333     }
334 
335     /**
336      * Sets the value of the numberOfVisits property.
337      * 
338      * @param value
339      *     allowed object is
340      *     {@link Integer }
341      *     
342      */
343     public void setNumberOfVisits(Integer value) {
344         this.numberOfVisits = value;
345     }
346 
347     /**
348      * Gets the value of the address property.
349      * 
350      * <p>
351      * This accessor method returns a reference to the live list,
352      * not a snapshot. Therefore any modification you make to the
353      * returned list will be present inside the JAXB object.
354      * This is why there is not a <CODE>set</CODE> method for the address property.
355      * 
356      * <p>
357      * For example, to add a new item, do as follows:
358      * <pre>
359      *    getAddress().add(newItem);
360      * </pre>
361      * 
362      * 
363      * <p>
364      * Objects of the following type(s) are allowed in the list
365      * {@link String }
366      * 
367      * 
368      */
369     @ElementCollection
370     @OrderColumn(name = "HJINDEX")
371     @Column(name = "HJVALUE", length = 255)
372     @CollectionTable(name = "USER_ACCOUNT_ADDRESS", joinColumns = {
373         @JoinColumn(name = "HJID")
374     })
375     public List<String> getAddress() {
376         if (address == null) {
377             address = new ArrayList<String>();
378         }
379         return this.address;
380     }
381 
382     /**
383      * 
384      * 
385      */
386     public void setAddress(List<String> address) {
387         this.address = address;
388     }
389 
390     /**
391      * Gets the value of the userType property.
392      * 
393      * @return
394      *     possible object is
395      *     {@link UserType }
396      *     
397      */
398     @Basic
399     @Column(name = "USER_TYPE", length = 255)
400     @Enumerated(EnumType.STRING)
401     public UserType getUserType() {
402         return userType;
403     }
404 
405     /**
406      * Sets the value of the userType property.
407      * 
408      * @param value
409      *     allowed object is
410      *     {@link UserType }
411      *     
412      */
413     public void setUserType(UserType value) {
414         this.userType = value;
415     }
416 
417     /**
418      * Gets the value of the userRole property.
419      * 
420      * @return
421      *     possible object is
422      *     {@link UserRole }
423      *     
424      */
425     @Basic
426     @Column(name = "USER_ROLE", length = 255)
427     @Enumerated(EnumType.STRING)
428     public UserRole getUserRole() {
429         return userRole;
430     }
431 
432     /**
433      * Sets the value of the userRole property.
434      * 
435      * @param value
436      *     allowed object is
437      *     {@link UserRole }
438      *     
439      */
440     public void setUserRole(UserRole value) {
441         this.userRole = value;
442     }
443 
444     /**
445      * Gets the value of the createdDate property.
446      * 
447      * @return
448      *     possible object is
449      *     {@link String }
450      *     
451      */
452     @Basic
453     @Column(name = "CREATED_DATE")
454     @Temporal(TemporalType.TIMESTAMP)
455     public Date getCreatedDate() {
456         return createdDate;
457     }
458 
459     /**
460      * Sets the value of the createdDate property.
461      * 
462      * @param value
463      *     allowed object is
464      *     {@link String }
465      *     
466      */
467     public void setCreatedDate(Date value) {
468         this.createdDate = value;
469     }
470 
471     /**
472      * Gets the value of the googleAuthKey property.
473      * 
474      * @return
475      *     possible object is
476      *     {@link String }
477      *     
478      */
479     @Basic
480     @Column(name = "GOOGLE_AUTH_KEY", length = 255)
481     public String getGoogleAuthKey() {
482         return googleAuthKey;
483     }
484 
485     /**
486      * Sets the value of the googleAuthKey property.
487      * 
488      * @param value
489      *     allowed object is
490      *     {@link String }
491      *     
492      */
493     public void setGoogleAuthKey(String value) {
494         this.googleAuthKey = value;
495     }
496 
497     /**
498      * Gets the value of the googleAuthVerificationCode property.
499      * 
500      * @return
501      *     possible object is
502      *     {@link Integer }
503      *     
504      */
505     @Basic
506     @Column(name = "GOOGLE_AUTH_VERIFICATION_CODE", precision = 10, scale = 0)
507     public Integer getGoogleAuthVerificationCode() {
508         return googleAuthVerificationCode;
509     }
510 
511     /**
512      * Sets the value of the googleAuthVerificationCode property.
513      * 
514      * @param value
515      *     allowed object is
516      *     {@link Integer }
517      *     
518      */
519     public void setGoogleAuthVerificationCode(Integer value) {
520         this.googleAuthVerificationCode = value;
521     }
522 
523     /**
524      * Gets the value of the googleAuthScratchCodes property.
525      * 
526      * <p>
527      * This accessor method returns a reference to the live list,
528      * not a snapshot. Therefore any modification you make to the
529      * returned list will be present inside the JAXB object.
530      * This is why there is not a <CODE>set</CODE> method for the googleAuthScratchCodes property.
531      * 
532      * <p>
533      * For example, to add a new item, do as follows:
534      * <pre>
535      *    getGoogleAuthScratchCodes().add(newItem);
536      * </pre>
537      * 
538      * 
539      * <p>
540      * Objects of the following type(s) are allowed in the list
541      * {@link Integer }
542      * 
543      * 
544      */
545     @ElementCollection
546     @OrderColumn(name = "HJINDEX")
547     @Column(name = "HJVALUE", precision = 10, scale = 0)
548     @CollectionTable(name = "USER_ACCOUNT_GOOGLE_AUTH_SCR_0", joinColumns = {
549         @JoinColumn(name = "HJID")
550     })
551     public List<Integer> getGoogleAuthScratchCodes() {
552         if (googleAuthScratchCodes == null) {
553             googleAuthScratchCodes = new ArrayList<Integer>();
554         }
555         return this.googleAuthScratchCodes;
556     }
557 
558     /**
559      * 
560      * 
561      */
562     public void setGoogleAuthScratchCodes(List<Integer> googleAuthScratchCodes) {
563         this.googleAuthScratchCodes = googleAuthScratchCodes;
564     }
565 
566     public UserAccount withModelObjectId(Integer value) {
567         setModelObjectId(value);
568         return this;
569     }
570 
571     public UserAccount withModelObjectVersion(Integer value) {
572         setModelObjectVersion(value);
573         return this;
574     }
575 
576     public UserAccount withCountry(String value) {
577         setCountry(value);
578         return this;
579     }
580 
581     public UserAccount withUsername(String value) {
582         setUsername(value);
583         return this;
584     }
585 
586     public UserAccount withEmail(String value) {
587         setEmail(value);
588         return this;
589     }
590 
591     public UserAccount withUserId(String value) {
592         setUserId(value);
593         return this;
594     }
595 
596     public UserAccount withUserpassword(String value) {
597         setUserpassword(value);
598         return this;
599     }
600 
601     public UserAccount withNumberOfVisits(Integer value) {
602         setNumberOfVisits(value);
603         return this;
604     }
605 
606     public UserAccount withAddress(String... values) {
607         if (values!= null) {
608             for (String value: values) {
609                 getAddress().add(value);
610             }
611         }
612         return this;
613     }
614 
615     public UserAccount withAddress(Collection<String> values) {
616         if (values!= null) {
617             getAddress().addAll(values);
618         }
619         return this;
620     }
621 
622     public UserAccount withAddress(List<String> address) {
623         setAddress(address);
624         return this;
625     }
626 
627     public UserAccount withUserType(UserType value) {
628         setUserType(value);
629         return this;
630     }
631 
632     public UserAccount withUserRole(UserRole value) {
633         setUserRole(value);
634         return this;
635     }
636 
637     public UserAccount withCreatedDate(Date value) {
638         setCreatedDate(value);
639         return this;
640     }
641 
642     public UserAccount withGoogleAuthKey(String value) {
643         setGoogleAuthKey(value);
644         return this;
645     }
646 
647     public UserAccount withGoogleAuthVerificationCode(Integer value) {
648         setGoogleAuthVerificationCode(value);
649         return this;
650     }
651 
652     public UserAccount withGoogleAuthScratchCodes(Integer... values) {
653         if (values!= null) {
654             for (Integer value: values) {
655                 getGoogleAuthScratchCodes().add(value);
656             }
657         }
658         return this;
659     }
660 
661     public UserAccount withGoogleAuthScratchCodes(Collection<Integer> values) {
662         if (values!= null) {
663             getGoogleAuthScratchCodes().addAll(values);
664         }
665         return this;
666     }
667 
668     public UserAccount withGoogleAuthScratchCodes(List<Integer> googleAuthScratchCodes) {
669         setGoogleAuthScratchCodes(googleAuthScratchCodes);
670         return this;
671     }
672 
673     public String toString() {
674         final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
675         final StringBuilder buffer = new StringBuilder();
676         append(null, buffer, strategy);
677         return buffer.toString();
678     }
679 
680     public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
681         strategy.appendStart(locator, this, buffer);
682         appendFields(locator, buffer, strategy);
683         strategy.appendEnd(locator, this, buffer);
684         return buffer;
685     }
686 
687     public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
688         {
689             Integer theModelObjectId;
690             theModelObjectId = this.getModelObjectId();
691             strategy.appendField(locator, this, "modelObjectId", buffer, theModelObjectId);
692         }
693         {
694             Integer theModelObjectVersion;
695             theModelObjectVersion = this.getModelObjectVersion();
696             strategy.appendField(locator, this, "modelObjectVersion", buffer, theModelObjectVersion);
697         }
698         {
699             String theCountry;
700             theCountry = this.getCountry();
701             strategy.appendField(locator, this, "country", buffer, theCountry);
702         }
703         {
704             String theUsername;
705             theUsername = this.getUsername();
706             strategy.appendField(locator, this, "username", buffer, theUsername);
707         }
708         {
709             String theEmail;
710             theEmail = this.getEmail();
711             strategy.appendField(locator, this, "email", buffer, theEmail);
712         }
713         {
714             String theUserId;
715             theUserId = this.getUserId();
716             strategy.appendField(locator, this, "userId", buffer, theUserId);
717         }
718         {
719             String theUserpassword;
720             theUserpassword = this.getUserpassword();
721             strategy.appendField(locator, this, "userpassword", buffer, theUserpassword);
722         }
723         {
724             Integer theNumberOfVisits;
725             theNumberOfVisits = this.getNumberOfVisits();
726             strategy.appendField(locator, this, "numberOfVisits", buffer, theNumberOfVisits);
727         }
728         {
729             List<String> theAddress;
730             theAddress = (((this.address!= null)&&(!this.address.isEmpty()))?this.getAddress():null);
731             strategy.appendField(locator, this, "address", buffer, theAddress);
732         }
733         {
734             UserType theUserType;
735             theUserType = this.getUserType();
736             strategy.appendField(locator, this, "userType", buffer, theUserType);
737         }
738         {
739             UserRole theUserRole;
740             theUserRole = this.getUserRole();
741             strategy.appendField(locator, this, "userRole", buffer, theUserRole);
742         }
743         {
744             Date theCreatedDate;
745             theCreatedDate = this.getCreatedDate();
746             strategy.appendField(locator, this, "createdDate", buffer, theCreatedDate);
747         }
748         {
749             String theGoogleAuthKey;
750             theGoogleAuthKey = this.getGoogleAuthKey();
751             strategy.appendField(locator, this, "googleAuthKey", buffer, theGoogleAuthKey);
752         }
753         {
754             Integer theGoogleAuthVerificationCode;
755             theGoogleAuthVerificationCode = this.getGoogleAuthVerificationCode();
756             strategy.appendField(locator, this, "googleAuthVerificationCode", buffer, theGoogleAuthVerificationCode);
757         }
758         {
759             List<Integer> theGoogleAuthScratchCodes;
760             theGoogleAuthScratchCodes = (((this.googleAuthScratchCodes!= null)&&(!this.googleAuthScratchCodes.isEmpty()))?this.getGoogleAuthScratchCodes():null);
761             strategy.appendField(locator, this, "googleAuthScratchCodes", buffer, theGoogleAuthScratchCodes);
762         }
763         return buffer;
764     }
765 
766     /**
767      * Gets the value of the hjid property.
768      * 
769      * @return
770      *     possible object is
771      *     {@link Long }
772      *     
773      */
774     @Id
775     @Column(name = "HJID")
776     @GeneratedValue(strategy = GenerationType.AUTO)
777     public Long getHjid() {
778         return hjid;
779     }
780 
781     /**
782      * Sets the value of the hjid property.
783      * 
784      * @param value
785      *     allowed object is
786      *     {@link Long }
787      *     
788      */
789     public void setHjid(Long value) {
790         this.hjid = value;
791     }
792 
793     public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
794         if ((object == null)||(this.getClass()!= object.getClass())) {
795             return false;
796         }
797         if (this == object) {
798             return true;
799         }
800         final UserAccount that = ((UserAccount) object);
801         {
802             Integer lhsModelObjectId;
803             lhsModelObjectId = this.getModelObjectId();
804             Integer rhsModelObjectId;
805             rhsModelObjectId = that.getModelObjectId();
806             if (!strategy.equals(LocatorUtils.property(thisLocator, "modelObjectId", lhsModelObjectId), LocatorUtils.property(thatLocator, "modelObjectId", rhsModelObjectId), lhsModelObjectId, rhsModelObjectId)) {
807                 return false;
808             }
809         }
810         {
811             Integer lhsModelObjectVersion;
812             lhsModelObjectVersion = this.getModelObjectVersion();
813             Integer rhsModelObjectVersion;
814             rhsModelObjectVersion = that.getModelObjectVersion();
815             if (!strategy.equals(LocatorUtils.property(thisLocator, "modelObjectVersion", lhsModelObjectVersion), LocatorUtils.property(thatLocator, "modelObjectVersion", rhsModelObjectVersion), lhsModelObjectVersion, rhsModelObjectVersion)) {
816                 return false;
817             }
818         }
819         {
820             String lhsCountry;
821             lhsCountry = this.getCountry();
822             String rhsCountry;
823             rhsCountry = that.getCountry();
824             if (!strategy.equals(LocatorUtils.property(thisLocator, "country", lhsCountry), LocatorUtils.property(thatLocator, "country", rhsCountry), lhsCountry, rhsCountry)) {
825                 return false;
826             }
827         }
828         {
829             String lhsUsername;
830             lhsUsername = this.getUsername();
831             String rhsUsername;
832             rhsUsername = that.getUsername();
833             if (!strategy.equals(LocatorUtils.property(thisLocator, "username", lhsUsername), LocatorUtils.property(thatLocator, "username", rhsUsername), lhsUsername, rhsUsername)) {
834                 return false;
835             }
836         }
837         {
838             String lhsEmail;
839             lhsEmail = this.getEmail();
840             String rhsEmail;
841             rhsEmail = that.getEmail();
842             if (!strategy.equals(LocatorUtils.property(thisLocator, "email", lhsEmail), LocatorUtils.property(thatLocator, "email", rhsEmail), lhsEmail, rhsEmail)) {
843                 return false;
844             }
845         }
846         {
847             String lhsUserId;
848             lhsUserId = this.getUserId();
849             String rhsUserId;
850             rhsUserId = that.getUserId();
851             if (!strategy.equals(LocatorUtils.property(thisLocator, "userId", lhsUserId), LocatorUtils.property(thatLocator, "userId", rhsUserId), lhsUserId, rhsUserId)) {
852                 return false;
853             }
854         }
855         {
856             String lhsUserpassword;
857             lhsUserpassword = this.getUserpassword();
858             String rhsUserpassword;
859             rhsUserpassword = that.getUserpassword();
860             if (!strategy.equals(LocatorUtils.property(thisLocator, "userpassword", lhsUserpassword), LocatorUtils.property(thatLocator, "userpassword", rhsUserpassword), lhsUserpassword, rhsUserpassword)) {
861                 return false;
862             }
863         }
864         {
865             Integer lhsNumberOfVisits;
866             lhsNumberOfVisits = this.getNumberOfVisits();
867             Integer rhsNumberOfVisits;
868             rhsNumberOfVisits = that.getNumberOfVisits();
869             if (!strategy.equals(LocatorUtils.property(thisLocator, "numberOfVisits", lhsNumberOfVisits), LocatorUtils.property(thatLocator, "numberOfVisits", rhsNumberOfVisits), lhsNumberOfVisits, rhsNumberOfVisits)) {
870                 return false;
871             }
872         }
873         {
874             List<String> lhsAddress;
875             lhsAddress = (((this.address!= null)&&(!this.address.isEmpty()))?this.getAddress():null);
876             List<String> rhsAddress;
877             rhsAddress = (((that.address!= null)&&(!that.address.isEmpty()))?that.getAddress():null);
878             if (!strategy.equals(LocatorUtils.property(thisLocator, "address", lhsAddress), LocatorUtils.property(thatLocator, "address", rhsAddress), lhsAddress, rhsAddress)) {
879                 return false;
880             }
881         }
882         {
883             UserType lhsUserType;
884             lhsUserType = this.getUserType();
885             UserType rhsUserType;
886             rhsUserType = that.getUserType();
887             if (!strategy.equals(LocatorUtils.property(thisLocator, "userType", lhsUserType), LocatorUtils.property(thatLocator, "userType", rhsUserType), lhsUserType, rhsUserType)) {
888                 return false;
889             }
890         }
891         {
892             UserRole lhsUserRole;
893             lhsUserRole = this.getUserRole();
894             UserRole rhsUserRole;
895             rhsUserRole = that.getUserRole();
896             if (!strategy.equals(LocatorUtils.property(thisLocator, "userRole", lhsUserRole), LocatorUtils.property(thatLocator, "userRole", rhsUserRole), lhsUserRole, rhsUserRole)) {
897                 return false;
898             }
899         }
900         {
901             Date lhsCreatedDate;
902             lhsCreatedDate = this.getCreatedDate();
903             Date rhsCreatedDate;
904             rhsCreatedDate = that.getCreatedDate();
905             if (!strategy.equals(LocatorUtils.property(thisLocator, "createdDate", lhsCreatedDate), LocatorUtils.property(thatLocator, "createdDate", rhsCreatedDate), lhsCreatedDate, rhsCreatedDate)) {
906                 return false;
907             }
908         }
909         {
910             String lhsGoogleAuthKey;
911             lhsGoogleAuthKey = this.getGoogleAuthKey();
912             String rhsGoogleAuthKey;
913             rhsGoogleAuthKey = that.getGoogleAuthKey();
914             if (!strategy.equals(LocatorUtils.property(thisLocator, "googleAuthKey", lhsGoogleAuthKey), LocatorUtils.property(thatLocator, "googleAuthKey", rhsGoogleAuthKey), lhsGoogleAuthKey, rhsGoogleAuthKey)) {
915                 return false;
916             }
917         }
918         {
919             Integer lhsGoogleAuthVerificationCode;
920             lhsGoogleAuthVerificationCode = this.getGoogleAuthVerificationCode();
921             Integer rhsGoogleAuthVerificationCode;
922             rhsGoogleAuthVerificationCode = that.getGoogleAuthVerificationCode();
923             if (!strategy.equals(LocatorUtils.property(thisLocator, "googleAuthVerificationCode", lhsGoogleAuthVerificationCode), LocatorUtils.property(thatLocator, "googleAuthVerificationCode", rhsGoogleAuthVerificationCode), lhsGoogleAuthVerificationCode, rhsGoogleAuthVerificationCode)) {
924                 return false;
925             }
926         }
927         {
928             List<Integer> lhsGoogleAuthScratchCodes;
929             lhsGoogleAuthScratchCodes = (((this.googleAuthScratchCodes!= null)&&(!this.googleAuthScratchCodes.isEmpty()))?this.getGoogleAuthScratchCodes():null);
930             List<Integer> rhsGoogleAuthScratchCodes;
931             rhsGoogleAuthScratchCodes = (((that.googleAuthScratchCodes!= null)&&(!that.googleAuthScratchCodes.isEmpty()))?that.getGoogleAuthScratchCodes():null);
932             if (!strategy.equals(LocatorUtils.property(thisLocator, "googleAuthScratchCodes", lhsGoogleAuthScratchCodes), LocatorUtils.property(thatLocator, "googleAuthScratchCodes", rhsGoogleAuthScratchCodes), lhsGoogleAuthScratchCodes, rhsGoogleAuthScratchCodes)) {
933                 return false;
934             }
935         }
936         return true;
937     }
938 
939     public boolean equals(Object object) {
940         final EqualsStrategy strategy = JAXBEqualsStrategy.INSTANCE;
941         return equals(null, null, object, strategy);
942     }
943 
944     public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
945         int currentHashCode = 1;
946         {
947             Integer theModelObjectId;
948             theModelObjectId = this.getModelObjectId();
949             currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "modelObjectId", theModelObjectId), currentHashCode, theModelObjectId);
950         }
951         {
952             Integer theModelObjectVersion;
953             theModelObjectVersion = this.getModelObjectVersion();
954             currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "modelObjectVersion", theModelObjectVersion), currentHashCode, theModelObjectVersion);
955         }
956         {
957             String theCountry;
958             theCountry = this.getCountry();
959             currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "country", theCountry), currentHashCode, theCountry);
960         }
961         {
962             String theUsername;
963             theUsername = this.getUsername();
964             currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "username", theUsername), currentHashCode, theUsername);
965         }
966         {
967             String theEmail;
968             theEmail = this.getEmail();
969             currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "email", theEmail), currentHashCode, theEmail);
970         }
971         {
972             String theUserId;
973             theUserId = this.getUserId();
974             currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "userId", theUserId), currentHashCode, theUserId);
975         }
976         {
977             String theUserpassword;
978             theUserpassword = this.getUserpassword();
979             currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "userpassword", theUserpassword), currentHashCode, theUserpassword);
980         }
981         {
982             Integer theNumberOfVisits;
983             theNumberOfVisits = this.getNumberOfVisits();
984             currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "numberOfVisits", theNumberOfVisits), currentHashCode, theNumberOfVisits);
985         }
986         {
987             List<String> theAddress;
988             theAddress = (((this.address!= null)&&(!this.address.isEmpty()))?this.getAddress():null);
989             currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "address", theAddress), currentHashCode, theAddress);
990         }
991         {
992             UserType theUserType;
993             theUserType = this.getUserType();
994             currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "userType", theUserType), currentHashCode, theUserType);
995         }
996         {
997             UserRole theUserRole;
998             theUserRole = this.getUserRole();
999             currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "userRole", theUserRole), currentHashCode, theUserRole);
1000         }
1001         {
1002             Date theCreatedDate;
1003             theCreatedDate = this.getCreatedDate();
1004             currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "createdDate", theCreatedDate), currentHashCode, theCreatedDate);
1005         }
1006         {
1007             String theGoogleAuthKey;
1008             theGoogleAuthKey = this.getGoogleAuthKey();
1009             currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "googleAuthKey", theGoogleAuthKey), currentHashCode, theGoogleAuthKey);
1010         }
1011         {
1012             Integer theGoogleAuthVerificationCode;
1013             theGoogleAuthVerificationCode = this.getGoogleAuthVerificationCode();
1014             currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "googleAuthVerificationCode", theGoogleAuthVerificationCode), currentHashCode, theGoogleAuthVerificationCode);
1015         }
1016         {
1017             List<Integer> theGoogleAuthScratchCodes;
1018             theGoogleAuthScratchCodes = (((this.googleAuthScratchCodes!= null)&&(!this.googleAuthScratchCodes.isEmpty()))?this.getGoogleAuthScratchCodes():null);
1019             currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "googleAuthScratchCodes", theGoogleAuthScratchCodes), currentHashCode, theGoogleAuthScratchCodes);
1020         }
1021         return currentHashCode;
1022     }
1023 
1024     public int hashCode() {
1025         final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
1026         return this.hashCode(null, strategy);
1027     }
1028 
1029 }