VoteData.java

//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.11 
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
// Any modifications to this file will be lost upon recompilation of the source schema. 
// Generated on: 2018.10.06 at 11:58:34 AM CEST 
//


package com.hack23.cia.model.external.riksdagen.votering.impl;

import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import com.hack23.cia.model.common.api.ModelObject;
import com.hack23.cia.model.common.impl.xml.XmlDateTypeAdapter;
import org.jvnet.jaxb2_commons.lang.Equals;
import org.jvnet.jaxb2_commons.lang.EqualsStrategy;
import org.jvnet.jaxb2_commons.lang.HashCode;
import org.jvnet.jaxb2_commons.lang.HashCodeStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBEqualsStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBHashCodeStrategy;
import org.jvnet.jaxb2_commons.lang.JAXBToStringStrategy;
import org.jvnet.jaxb2_commons.lang.ToString;
import org.jvnet.jaxb2_commons.lang.ToStringStrategy;
import org.jvnet.jaxb2_commons.locator.ObjectLocator;
import org.jvnet.jaxb2_commons.locator.util.LocatorUtils;


/**
 * <p>Java class for VoteData complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="VoteData"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="banknummer" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *         &lt;element name="beteckning" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *         &lt;element name="efternamn" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *         &lt;element name="fodd" type="{http://www.w3.org/2001/XMLSchema}int"/&gt;
 *         &lt;element name="fornamn" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *         &lt;element name="iort" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *         &lt;element name="kon" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *         &lt;element name="namn" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *         &lt;element name="datum" type="{http://www.w3.org/2001/XMLSchema}date"/&gt;
 *         &lt;element name="parti" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *         &lt;element name="rm" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *         &lt;element name="rost" type="{http://votering.riksdagen.external.model.cia.hack23.com/impl}VoteDecision"/&gt;
 *         &lt;element name="votering" type="{http://votering.riksdagen.external.model.cia.hack23.com/impl}BallotType"/&gt;
 *         &lt;element name="valkrets" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *         &lt;element name="valkretsnummer" type="{http://www.w3.org/2001/XMLSchema}integer"/&gt;
 *         &lt;element name="embeddedId" type="{http://votering.riksdagen.external.model.cia.hack23.com/impl}VoteDataEmbeddedId"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "VoteData", propOrder = {
    "bankNumber",
    "label",
    "lastName",
    "bornYear",
    "firstName",
    "place",
    "gender",
    "fullName",
    "voteDate",
    "party",
    "rm",
    "vote",
    "ballotType",
    "electoralRegion",
    "electoralRegionNumber",
    "embeddedId"
})
@Entity(name = "VoteData")
@Table(name = "VOTE_DATA")
@Inheritance(strategy = InheritanceType.JOINED)
public class VoteData
    implements Serializable, ModelObject, Equals, HashCode, ToString
{

    @XmlElement(name = "banknummer", required = true)
    protected String bankNumber;
    @XmlElement(name = "beteckning", required = true)
    protected String label;
    @XmlElement(name = "efternamn", required = true)
    protected String lastName;
    @XmlElement(name = "fodd")
    protected int bornYear;
    @XmlElement(name = "fornamn", required = true)
    protected String firstName;
    @XmlElement(name = "iort", required = true)
    protected String place;
    @XmlElement(name = "kon", required = true)
    protected String gender;
    @XmlElement(name = "namn", required = true)
    protected String fullName;
    @XmlElement(name = "datum", required = true, type = String.class)
    @XmlJavaTypeAdapter(XmlDateTypeAdapter.class)
    @XmlSchemaType(name = "date")
    protected Date voteDate;
    @XmlElement(name = "parti", required = true)
    protected String party;
    @XmlElement(required = true)
    protected String rm;
    @XmlElement(name = "rost", required = true)
    @XmlSchemaType(name = "string")
    protected VoteDecision vote;
    @XmlElement(name = "votering", required = true)
    @XmlSchemaType(name = "string")
    protected BallotType ballotType;
    @XmlElement(name = "valkrets", required = true)
    protected String electoralRegion;
    @XmlElement(name = "valkretsnummer", required = true)
    protected BigInteger electoralRegionNumber;
    @XmlElement(required = true)
    protected VoteDataEmbeddedId embeddedId;

    /**
     * Gets the value of the bankNumber property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Basic
    @Column(name = "BANK_NUMBER", length = 255)
    public String getBankNumber() {
        return bankNumber;
    }

    /**
     * Sets the value of the bankNumber property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setBankNumber(String value) {
        this.bankNumber = value;
    }

    /**
     * Gets the value of the label property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Basic
    @Column(name = "LABEL", length = 255)
    public String getLabel() {
        return label;
    }

    /**
     * Sets the value of the label property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setLabel(String value) {
        this.label = value;
    }

    /**
     * Gets the value of the lastName property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Basic
    @Column(name = "LAST_NAME", length = 255)
    public String getLastName() {
        return lastName;
    }

    /**
     * Sets the value of the lastName property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setLastName(String value) {
        this.lastName = value;
    }

    /**
     * Gets the value of the bornYear property.
     * 
     */
    @Basic
    @Column(name = "BORN_YEAR", precision = 10, scale = 0)
    public int getBornYear() {
        return bornYear;
    }

    /**
     * Sets the value of the bornYear property.
     * 
     */
    public void setBornYear(int value) {
        this.bornYear = value;
    }

    /**
     * Gets the value of the firstName property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Basic
    @Column(name = "FIRST_NAME", length = 255)
    public String getFirstName() {
        return firstName;
    }

    /**
     * Sets the value of the firstName property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setFirstName(String value) {
        this.firstName = value;
    }

    /**
     * Gets the value of the place property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Basic
    @Column(name = "PLACE", length = 255)
    public String getPlace() {
        return place;
    }

    /**
     * Sets the value of the place property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPlace(String value) {
        this.place = value;
    }

    /**
     * Gets the value of the gender property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Basic
    @Column(name = "GENDER", length = 255)
    public String getGender() {
        return gender;
    }

    /**
     * Sets the value of the gender property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setGender(String value) {
        this.gender = value;
    }

    /**
     * Gets the value of the fullName property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Basic
    @Column(name = "FULL_NAME", length = 255)
    public String getFullName() {
        return fullName;
    }

    /**
     * Sets the value of the fullName property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setFullName(String value) {
        this.fullName = value;
    }

    /**
     * Gets the value of the voteDate property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Basic
    @Column(name = "VOTE_DATE")
    @Temporal(TemporalType.DATE)
    public Date getVoteDate() {
        return voteDate;
    }

    /**
     * Sets the value of the voteDate property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setVoteDate(Date value) {
        this.voteDate = value;
    }

    /**
     * Gets the value of the party property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Basic
    @Column(name = "PARTY", length = 255)
    public String getParty() {
        return party;
    }

    /**
     * Sets the value of the party property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setParty(String value) {
        this.party = value;
    }

    /**
     * Gets the value of the rm property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Basic
    @Column(name = "RM", length = 255)
    public String getRm() {
        return rm;
    }

    /**
     * Sets the value of the rm property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setRm(String value) {
        this.rm = value;
    }

    /**
     * Gets the value of the vote property.
     * 
     * @return
     *     possible object is
     *     {@link VoteDecision }
     *     
     */
    @Basic
    @Column(name = "VOTE", length = 255)
    @Enumerated(EnumType.STRING)
    public VoteDecision getVote() {
        return vote;
    }

    /**
     * Sets the value of the vote property.
     * 
     * @param value
     *     allowed object is
     *     {@link VoteDecision }
     *     
     */
    public void setVote(VoteDecision value) {
        this.vote = value;
    }

    /**
     * Gets the value of the ballotType property.
     * 
     * @return
     *     possible object is
     *     {@link BallotType }
     *     
     */
    @Basic
    @Column(name = "BALLOT_TYPE", length = 255)
    @Enumerated(EnumType.STRING)
    public BallotType getBallotType() {
        return ballotType;
    }

    /**
     * Sets the value of the ballotType property.
     * 
     * @param value
     *     allowed object is
     *     {@link BallotType }
     *     
     */
    public void setBallotType(BallotType value) {
        this.ballotType = value;
    }

    /**
     * Gets the value of the electoralRegion property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Basic
    @Column(name = "ELECTORAL_REGION", length = 255)
    public String getElectoralRegion() {
        return electoralRegion;
    }

    /**
     * Sets the value of the electoralRegion property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setElectoralRegion(String value) {
        this.electoralRegion = value;
    }

    /**
     * Gets the value of the electoralRegionNumber property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    @Basic
    @Column(name = "ELECTORAL_REGION_NUMBER", precision = 20, scale = 0)
    public BigInteger getElectoralRegionNumber() {
        return electoralRegionNumber;
    }

    /**
     * Sets the value of the electoralRegionNumber property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setElectoralRegionNumber(BigInteger value) {
        this.electoralRegionNumber = value;
    }

    /**
     * Gets the value of the embeddedId property.
     * 
     * @return
     *     possible object is
     *     {@link VoteDataEmbeddedId }
     *     
     */
    @EmbeddedId
    @AttributeOverrides({
        @AttributeOverride(name = "issue", column = @Column(name = "EMBEDDED_ID_ISSUE", length = 255)),
        @AttributeOverride(name = "ballotId", column = @Column(name = "EMBEDDED_ID_BALLOT_ID", length = 255)),
        @AttributeOverride(name = "intressentId", column = @Column(name = "EMBEDDED_ID_INTRESSENT_ID", length = 255)),
        @AttributeOverride(name = "concern", column = @Column(name = "EMBEDDED_ID_CONCERN", length = 255))
    })
    public VoteDataEmbeddedId getEmbeddedId() {
        return embeddedId;
    }

    /**
     * Sets the value of the embeddedId property.
     * 
     * @param value
     *     allowed object is
     *     {@link VoteDataEmbeddedId }
     *     
     */
    public void setEmbeddedId(VoteDataEmbeddedId value) {
        this.embeddedId = value;
    }

    public VoteData withBankNumber(String value) {
        setBankNumber(value);
        return this;
    }

    public VoteData withLabel(String value) {
        setLabel(value);
        return this;
    }

    public VoteData withLastName(String value) {
        setLastName(value);
        return this;
    }

    public VoteData withBornYear(int value) {
        setBornYear(value);
        return this;
    }

    public VoteData withFirstName(String value) {
        setFirstName(value);
        return this;
    }

    public VoteData withPlace(String value) {
        setPlace(value);
        return this;
    }

    public VoteData withGender(String value) {
        setGender(value);
        return this;
    }

    public VoteData withFullName(String value) {
        setFullName(value);
        return this;
    }

    public VoteData withVoteDate(Date value) {
        setVoteDate(value);
        return this;
    }

    public VoteData withParty(String value) {
        setParty(value);
        return this;
    }

    public VoteData withRm(String value) {
        setRm(value);
        return this;
    }

    public VoteData withVote(VoteDecision value) {
        setVote(value);
        return this;
    }

    public VoteData withBallotType(BallotType value) {
        setBallotType(value);
        return this;
    }

    public VoteData withElectoralRegion(String value) {
        setElectoralRegion(value);
        return this;
    }

    public VoteData withElectoralRegionNumber(BigInteger value) {
        setElectoralRegionNumber(value);
        return this;
    }

    public VoteData withEmbeddedId(VoteDataEmbeddedId value) {
        setEmbeddedId(value);
        return this;
    }

    public String toString() {
        final ToStringStrategy strategy = JAXBToStringStrategy.INSTANCE;
        final StringBuilder buffer = new StringBuilder();
        append(null, buffer, strategy);
        return buffer.toString();
    }

    public StringBuilder append(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
        strategy.appendStart(locator, this, buffer);
        appendFields(locator, buffer, strategy);
        strategy.appendEnd(locator, this, buffer);
        return buffer;
    }

    public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) {
        {
            String theBankNumber;
            theBankNumber = this.getBankNumber();
            strategy.appendField(locator, this, "bankNumber", buffer, theBankNumber);
        }
        {
            String theLabel;
            theLabel = this.getLabel();
            strategy.appendField(locator, this, "label", buffer, theLabel);
        }
        {
            String theLastName;
            theLastName = this.getLastName();
            strategy.appendField(locator, this, "lastName", buffer, theLastName);
        }
        {
            int theBornYear;
            theBornYear = this.getBornYear();
            strategy.appendField(locator, this, "bornYear", buffer, theBornYear);
        }
        {
            String theFirstName;
            theFirstName = this.getFirstName();
            strategy.appendField(locator, this, "firstName", buffer, theFirstName);
        }
        {
            String thePlace;
            thePlace = this.getPlace();
            strategy.appendField(locator, this, "place", buffer, thePlace);
        }
        {
            String theGender;
            theGender = this.getGender();
            strategy.appendField(locator, this, "gender", buffer, theGender);
        }
        {
            String theFullName;
            theFullName = this.getFullName();
            strategy.appendField(locator, this, "fullName", buffer, theFullName);
        }
        {
            Date theVoteDate;
            theVoteDate = this.getVoteDate();
            strategy.appendField(locator, this, "voteDate", buffer, theVoteDate);
        }
        {
            String theParty;
            theParty = this.getParty();
            strategy.appendField(locator, this, "party", buffer, theParty);
        }
        {
            String theRm;
            theRm = this.getRm();
            strategy.appendField(locator, this, "rm", buffer, theRm);
        }
        {
            VoteDecision theVote;
            theVote = this.getVote();
            strategy.appendField(locator, this, "vote", buffer, theVote);
        }
        {
            BallotType theBallotType;
            theBallotType = this.getBallotType();
            strategy.appendField(locator, this, "ballotType", buffer, theBallotType);
        }
        {
            String theElectoralRegion;
            theElectoralRegion = this.getElectoralRegion();
            strategy.appendField(locator, this, "electoralRegion", buffer, theElectoralRegion);
        }
        {
            BigInteger theElectoralRegionNumber;
            theElectoralRegionNumber = this.getElectoralRegionNumber();
            strategy.appendField(locator, this, "electoralRegionNumber", buffer, theElectoralRegionNumber);
        }
        {
            VoteDataEmbeddedId theEmbeddedId;
            theEmbeddedId = this.getEmbeddedId();
            strategy.appendField(locator, this, "embeddedId", buffer, theEmbeddedId);
        }
        return buffer;
    }

    public boolean equals(ObjectLocator thisLocator, ObjectLocator thatLocator, Object object, EqualsStrategy strategy) {
        if ((object == null)||(this.getClass()!= object.getClass())) {
            return false;
        }
        if (this == object) {
            return true;
        }
        final VoteData that = ((VoteData) object);
        {
            String lhsBankNumber;
            lhsBankNumber = this.getBankNumber();
            String rhsBankNumber;
            rhsBankNumber = that.getBankNumber();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "bankNumber", lhsBankNumber), LocatorUtils.property(thatLocator, "bankNumber", rhsBankNumber), lhsBankNumber, rhsBankNumber)) {
                return false;
            }
        }
        {
            String lhsLabel;
            lhsLabel = this.getLabel();
            String rhsLabel;
            rhsLabel = that.getLabel();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "label", lhsLabel), LocatorUtils.property(thatLocator, "label", rhsLabel), lhsLabel, rhsLabel)) {
                return false;
            }
        }
        {
            String lhsLastName;
            lhsLastName = this.getLastName();
            String rhsLastName;
            rhsLastName = that.getLastName();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "lastName", lhsLastName), LocatorUtils.property(thatLocator, "lastName", rhsLastName), lhsLastName, rhsLastName)) {
                return false;
            }
        }
        {
            int lhsBornYear;
            lhsBornYear = this.getBornYear();
            int rhsBornYear;
            rhsBornYear = that.getBornYear();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "bornYear", lhsBornYear), LocatorUtils.property(thatLocator, "bornYear", rhsBornYear), lhsBornYear, rhsBornYear)) {
                return false;
            }
        }
        {
            String lhsFirstName;
            lhsFirstName = this.getFirstName();
            String rhsFirstName;
            rhsFirstName = that.getFirstName();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "firstName", lhsFirstName), LocatorUtils.property(thatLocator, "firstName", rhsFirstName), lhsFirstName, rhsFirstName)) {
                return false;
            }
        }
        {
            String lhsPlace;
            lhsPlace = this.getPlace();
            String rhsPlace;
            rhsPlace = that.getPlace();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "place", lhsPlace), LocatorUtils.property(thatLocator, "place", rhsPlace), lhsPlace, rhsPlace)) {
                return false;
            }
        }
        {
            String lhsGender;
            lhsGender = this.getGender();
            String rhsGender;
            rhsGender = that.getGender();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "gender", lhsGender), LocatorUtils.property(thatLocator, "gender", rhsGender), lhsGender, rhsGender)) {
                return false;
            }
        }
        {
            String lhsFullName;
            lhsFullName = this.getFullName();
            String rhsFullName;
            rhsFullName = that.getFullName();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "fullName", lhsFullName), LocatorUtils.property(thatLocator, "fullName", rhsFullName), lhsFullName, rhsFullName)) {
                return false;
            }
        }
        {
            Date lhsVoteDate;
            lhsVoteDate = this.getVoteDate();
            Date rhsVoteDate;
            rhsVoteDate = that.getVoteDate();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "voteDate", lhsVoteDate), LocatorUtils.property(thatLocator, "voteDate", rhsVoteDate), lhsVoteDate, rhsVoteDate)) {
                return false;
            }
        }
        {
            String lhsParty;
            lhsParty = this.getParty();
            String rhsParty;
            rhsParty = that.getParty();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "party", lhsParty), LocatorUtils.property(thatLocator, "party", rhsParty), lhsParty, rhsParty)) {
                return false;
            }
        }
        {
            String lhsRm;
            lhsRm = this.getRm();
            String rhsRm;
            rhsRm = that.getRm();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "rm", lhsRm), LocatorUtils.property(thatLocator, "rm", rhsRm), lhsRm, rhsRm)) {
                return false;
            }
        }
        {
            VoteDecision lhsVote;
            lhsVote = this.getVote();
            VoteDecision rhsVote;
            rhsVote = that.getVote();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "vote", lhsVote), LocatorUtils.property(thatLocator, "vote", rhsVote), lhsVote, rhsVote)) {
                return false;
            }
        }
        {
            BallotType lhsBallotType;
            lhsBallotType = this.getBallotType();
            BallotType rhsBallotType;
            rhsBallotType = that.getBallotType();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "ballotType", lhsBallotType), LocatorUtils.property(thatLocator, "ballotType", rhsBallotType), lhsBallotType, rhsBallotType)) {
                return false;
            }
        }
        {
            String lhsElectoralRegion;
            lhsElectoralRegion = this.getElectoralRegion();
            String rhsElectoralRegion;
            rhsElectoralRegion = that.getElectoralRegion();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "electoralRegion", lhsElectoralRegion), LocatorUtils.property(thatLocator, "electoralRegion", rhsElectoralRegion), lhsElectoralRegion, rhsElectoralRegion)) {
                return false;
            }
        }
        {
            BigInteger lhsElectoralRegionNumber;
            lhsElectoralRegionNumber = this.getElectoralRegionNumber();
            BigInteger rhsElectoralRegionNumber;
            rhsElectoralRegionNumber = that.getElectoralRegionNumber();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "electoralRegionNumber", lhsElectoralRegionNumber), LocatorUtils.property(thatLocator, "electoralRegionNumber", rhsElectoralRegionNumber), lhsElectoralRegionNumber, rhsElectoralRegionNumber)) {
                return false;
            }
        }
        {
            VoteDataEmbeddedId lhsEmbeddedId;
            lhsEmbeddedId = this.getEmbeddedId();
            VoteDataEmbeddedId rhsEmbeddedId;
            rhsEmbeddedId = that.getEmbeddedId();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "embeddedId", lhsEmbeddedId), LocatorUtils.property(thatLocator, "embeddedId", rhsEmbeddedId), lhsEmbeddedId, rhsEmbeddedId)) {
                return false;
            }
        }
        return true;
    }

    public boolean equals(Object object) {
        final EqualsStrategy strategy = JAXBEqualsStrategy.INSTANCE;
        return equals(null, null, object, strategy);
    }

    public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) {
        int currentHashCode = 1;
        {
            String theBankNumber;
            theBankNumber = this.getBankNumber();
            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "bankNumber", theBankNumber), currentHashCode, theBankNumber);
        }
        {
            String theLabel;
            theLabel = this.getLabel();
            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "label", theLabel), currentHashCode, theLabel);
        }
        {
            String theLastName;
            theLastName = this.getLastName();
            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "lastName", theLastName), currentHashCode, theLastName);
        }
        {
            int theBornYear;
            theBornYear = this.getBornYear();
            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "bornYear", theBornYear), currentHashCode, theBornYear);
        }
        {
            String theFirstName;
            theFirstName = this.getFirstName();
            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "firstName", theFirstName), currentHashCode, theFirstName);
        }
        {
            String thePlace;
            thePlace = this.getPlace();
            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "place", thePlace), currentHashCode, thePlace);
        }
        {
            String theGender;
            theGender = this.getGender();
            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "gender", theGender), currentHashCode, theGender);
        }
        {
            String theFullName;
            theFullName = this.getFullName();
            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "fullName", theFullName), currentHashCode, theFullName);
        }
        {
            Date theVoteDate;
            theVoteDate = this.getVoteDate();
            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "voteDate", theVoteDate), currentHashCode, theVoteDate);
        }
        {
            String theParty;
            theParty = this.getParty();
            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "party", theParty), currentHashCode, theParty);
        }
        {
            String theRm;
            theRm = this.getRm();
            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "rm", theRm), currentHashCode, theRm);
        }
        {
            VoteDecision theVote;
            theVote = this.getVote();
            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "vote", theVote), currentHashCode, theVote);
        }
        {
            BallotType theBallotType;
            theBallotType = this.getBallotType();
            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "ballotType", theBallotType), currentHashCode, theBallotType);
        }
        {
            String theElectoralRegion;
            theElectoralRegion = this.getElectoralRegion();
            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "electoralRegion", theElectoralRegion), currentHashCode, theElectoralRegion);
        }
        {
            BigInteger theElectoralRegionNumber;
            theElectoralRegionNumber = this.getElectoralRegionNumber();
            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "electoralRegionNumber", theElectoralRegionNumber), currentHashCode, theElectoralRegionNumber);
        }
        {
            VoteDataEmbeddedId theEmbeddedId;
            theEmbeddedId = this.getEmbeddedId();
            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "embeddedId", theEmbeddedId), currentHashCode, theEmbeddedId);
        }
        return currentHashCode;
    }

    public int hashCode() {
        final HashCodeStrategy strategy = JAXBHashCodeStrategy.INSTANCE;
        return this.hashCode(null, strategy);
    }

}