CommitteeProposalData.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:17 AM CEST 
//


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

import java.io.Serializable;
import java.math.BigInteger;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.Lob;
import javax.persistence.Table;
import javax.persistence.Transient;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAnyElement;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import com.hack23.cia.model.common.api.ModelObject;
import org.jvnet.hyperjaxb3.xml.bind.annotation.adapters.ElementAsString;
import org.jvnet.hyperjaxb3.xml.bind.annotation.adapters.XmlAdapterUtils;
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;
import org.w3c.dom.Element;


/**
 * <p>Java class for CommitteeProposalData complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="CommitteeProposalData"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="rubrik" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *         &lt;element name="punkt" type="{http://www.w3.org/2001/XMLSchema}integer"/&gt;
 *         &lt;element name="forslag" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *         &lt;element name="beslutstyp" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *         &lt;element name="motforslag_nummer" type="{http://www.w3.org/2001/XMLSchema}integer"/&gt;
 *         &lt;element name="motforslag_partier" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *         &lt;element name="votering_id" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *         &lt;element name="votering_sammanfattning_html" type="{http://www.w3.org/2001/XMLSchema}anyType" minOccurs="0"/&gt;
 *         &lt;element name="votering_url_xml" type="{http://www.w3.org/2001/XMLSchema}anyURI"/&gt;
 *         &lt;element name="bet" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *         &lt;element name="vinnare" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *         &lt;element name="rm" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "CommitteeProposalData", propOrder = {
    "header",
    "issueNumber",
    "proposal",
    "decisionType",
    "againstProposalNumber",
    "againstProposalParties",
    "ballotId",
    "ballotSummary",
    "ballotUrlXml",
    "committeeReport",
    "winner",
    "rm"
})
@Entity(name = "CommitteeProposalData")
@Table(name = "COMMITTEE_PROPOSAL_DATA")
@Inheritance(strategy = InheritanceType.JOINED)
public class CommitteeProposalData
    implements Serializable, ModelObject, Equals, HashCode, ToString
{

    @XmlElement(name = "rubrik", required = true)
    protected String header;
    @XmlElement(name = "punkt", required = true)
    protected BigInteger issueNumber;
    @XmlElement(name = "forslag", required = true)
    protected String proposal;
    @XmlElement(name = "beslutstyp", required = true)
    protected String decisionType;
    @XmlElement(name = "motforslag_nummer", required = true)
    protected BigInteger againstProposalNumber;
    @XmlElement(name = "motforslag_partier", required = true)
    protected String againstProposalParties;
    @XmlElement(name = "votering_id", required = true)
    protected String ballotId;
    @XmlAnyElement
    protected Element ballotSummary;
    @XmlElement(name = "votering_url_xml", required = true)
    @XmlSchemaType(name = "anyURI")
    protected String ballotUrlXml;
    @XmlElement(name = "bet", required = true)
    protected String committeeReport;
    @XmlElement(name = "vinnare", required = true)
    protected String winner;
    @XmlElement(required = true)
    protected String rm;
    @XmlAttribute(name = "Hjid")
    protected Long hjid;

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

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

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

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

    /**
     * Gets the value of the proposal property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Basic
    @Column(name = "PROPOSAL", length = 10485760)
    public String getProposal() {
        return proposal;
    }

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

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

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

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

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

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

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

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

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

    /**
     * Gets the value of the ballotSummary property.
     * 
     * @return
     *     possible object is
     *     {@link Element }
     *     
     */
    @Transient
    public Element getBallotSummary() {
        return ballotSummary;
    }

    /**
     * Sets the value of the ballotSummary property.
     * 
     * @param value
     *     allowed object is
     *     {@link Element }
     *     
     */
    public void setBallotSummary(Element value) {
        this.ballotSummary = value;
    }

    /**
     * Gets the value of the ballotUrlXml property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    @Basic
    @Column(name = "BALLOT_URL_XML")
    public String getBallotUrlXml() {
        return ballotUrlXml;
    }

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

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

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

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

    /**
     * Sets the value of the winner property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setWinner(String value) {
        this.winner = 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;
    }

    public CommitteeProposalData withHeader(String value) {
        setHeader(value);
        return this;
    }

    public CommitteeProposalData withIssueNumber(BigInteger value) {
        setIssueNumber(value);
        return this;
    }

    public CommitteeProposalData withProposal(String value) {
        setProposal(value);
        return this;
    }

    public CommitteeProposalData withDecisionType(String value) {
        setDecisionType(value);
        return this;
    }

    public CommitteeProposalData withAgainstProposalNumber(BigInteger value) {
        setAgainstProposalNumber(value);
        return this;
    }

    public CommitteeProposalData withAgainstProposalParties(String value) {
        setAgainstProposalParties(value);
        return this;
    }

    public CommitteeProposalData withBallotId(String value) {
        setBallotId(value);
        return this;
    }

    public CommitteeProposalData withBallotSummary(Element value) {
        setBallotSummary(value);
        return this;
    }

    public CommitteeProposalData withBallotUrlXml(String value) {
        setBallotUrlXml(value);
        return this;
    }

    public CommitteeProposalData withCommitteeReport(String value) {
        setCommitteeReport(value);
        return this;
    }

    public CommitteeProposalData withWinner(String value) {
        setWinner(value);
        return this;
    }

    public CommitteeProposalData withRm(String value) {
        setRm(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 theHeader;
            theHeader = this.getHeader();
            strategy.appendField(locator, this, "header", buffer, theHeader);
        }
        {
            BigInteger theIssueNumber;
            theIssueNumber = this.getIssueNumber();
            strategy.appendField(locator, this, "issueNumber", buffer, theIssueNumber);
        }
        {
            String theProposal;
            theProposal = this.getProposal();
            strategy.appendField(locator, this, "proposal", buffer, theProposal);
        }
        {
            String theDecisionType;
            theDecisionType = this.getDecisionType();
            strategy.appendField(locator, this, "decisionType", buffer, theDecisionType);
        }
        {
            BigInteger theAgainstProposalNumber;
            theAgainstProposalNumber = this.getAgainstProposalNumber();
            strategy.appendField(locator, this, "againstProposalNumber", buffer, theAgainstProposalNumber);
        }
        {
            String theAgainstProposalParties;
            theAgainstProposalParties = this.getAgainstProposalParties();
            strategy.appendField(locator, this, "againstProposalParties", buffer, theAgainstProposalParties);
        }
        {
            String theBallotId;
            theBallotId = this.getBallotId();
            strategy.appendField(locator, this, "ballotId", buffer, theBallotId);
        }
        {
            Element theBallotSummary;
            theBallotSummary = this.getBallotSummary();
            strategy.appendField(locator, this, "ballotSummary", buffer, theBallotSummary);
        }
        {
            String theBallotUrlXml;
            theBallotUrlXml = this.getBallotUrlXml();
            strategy.appendField(locator, this, "ballotUrlXml", buffer, theBallotUrlXml);
        }
        {
            String theCommitteeReport;
            theCommitteeReport = this.getCommitteeReport();
            strategy.appendField(locator, this, "committeeReport", buffer, theCommitteeReport);
        }
        {
            String theWinner;
            theWinner = this.getWinner();
            strategy.appendField(locator, this, "winner", buffer, theWinner);
        }
        {
            String theRm;
            theRm = this.getRm();
            strategy.appendField(locator, this, "rm", buffer, theRm);
        }
        return buffer;
    }

    /**
     * Gets the value of the hjid property.
     * 
     * @return
     *     possible object is
     *     {@link Long }
     *     
     */
    @Id
    @Column(name = "HJID")
    @GeneratedValue(strategy = GenerationType.AUTO)
    public Long getHjid() {
        return hjid;
    }

    /**
     * Sets the value of the hjid property.
     * 
     * @param value
     *     allowed object is
     *     {@link Long }
     *     
     */
    public void setHjid(Long value) {
        this.hjid = value;
    }

    @Basic
    @Column(name = "BALLOT_SUMMARY_ITEM")
    @Lob
    public String getBallotSummaryItem() {
        return XmlAdapterUtils.unmarshall(ElementAsString.class, this.getBallotSummary());
    }

    public void setBallotSummaryItem(String target) {
        setBallotSummary(XmlAdapterUtils.marshall(ElementAsString.class, target));
    }

    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 CommitteeProposalData that = ((CommitteeProposalData) object);
        {
            String lhsHeader;
            lhsHeader = this.getHeader();
            String rhsHeader;
            rhsHeader = that.getHeader();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "header", lhsHeader), LocatorUtils.property(thatLocator, "header", rhsHeader), lhsHeader, rhsHeader)) {
                return false;
            }
        }
        {
            BigInteger lhsIssueNumber;
            lhsIssueNumber = this.getIssueNumber();
            BigInteger rhsIssueNumber;
            rhsIssueNumber = that.getIssueNumber();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "issueNumber", lhsIssueNumber), LocatorUtils.property(thatLocator, "issueNumber", rhsIssueNumber), lhsIssueNumber, rhsIssueNumber)) {
                return false;
            }
        }
        {
            String lhsProposal;
            lhsProposal = this.getProposal();
            String rhsProposal;
            rhsProposal = that.getProposal();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "proposal", lhsProposal), LocatorUtils.property(thatLocator, "proposal", rhsProposal), lhsProposal, rhsProposal)) {
                return false;
            }
        }
        {
            String lhsDecisionType;
            lhsDecisionType = this.getDecisionType();
            String rhsDecisionType;
            rhsDecisionType = that.getDecisionType();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "decisionType", lhsDecisionType), LocatorUtils.property(thatLocator, "decisionType", rhsDecisionType), lhsDecisionType, rhsDecisionType)) {
                return false;
            }
        }
        {
            BigInteger lhsAgainstProposalNumber;
            lhsAgainstProposalNumber = this.getAgainstProposalNumber();
            BigInteger rhsAgainstProposalNumber;
            rhsAgainstProposalNumber = that.getAgainstProposalNumber();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "againstProposalNumber", lhsAgainstProposalNumber), LocatorUtils.property(thatLocator, "againstProposalNumber", rhsAgainstProposalNumber), lhsAgainstProposalNumber, rhsAgainstProposalNumber)) {
                return false;
            }
        }
        {
            String lhsAgainstProposalParties;
            lhsAgainstProposalParties = this.getAgainstProposalParties();
            String rhsAgainstProposalParties;
            rhsAgainstProposalParties = that.getAgainstProposalParties();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "againstProposalParties", lhsAgainstProposalParties), LocatorUtils.property(thatLocator, "againstProposalParties", rhsAgainstProposalParties), lhsAgainstProposalParties, rhsAgainstProposalParties)) {
                return false;
            }
        }
        {
            String lhsBallotId;
            lhsBallotId = this.getBallotId();
            String rhsBallotId;
            rhsBallotId = that.getBallotId();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "ballotId", lhsBallotId), LocatorUtils.property(thatLocator, "ballotId", rhsBallotId), lhsBallotId, rhsBallotId)) {
                return false;
            }
        }
        {
            Element lhsBallotSummary;
            lhsBallotSummary = this.getBallotSummary();
            Element rhsBallotSummary;
            rhsBallotSummary = that.getBallotSummary();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "ballotSummary", lhsBallotSummary), LocatorUtils.property(thatLocator, "ballotSummary", rhsBallotSummary), lhsBallotSummary, rhsBallotSummary)) {
                return false;
            }
        }
        {
            String lhsBallotUrlXml;
            lhsBallotUrlXml = this.getBallotUrlXml();
            String rhsBallotUrlXml;
            rhsBallotUrlXml = that.getBallotUrlXml();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "ballotUrlXml", lhsBallotUrlXml), LocatorUtils.property(thatLocator, "ballotUrlXml", rhsBallotUrlXml), lhsBallotUrlXml, rhsBallotUrlXml)) {
                return false;
            }
        }
        {
            String lhsCommitteeReport;
            lhsCommitteeReport = this.getCommitteeReport();
            String rhsCommitteeReport;
            rhsCommitteeReport = that.getCommitteeReport();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "committeeReport", lhsCommitteeReport), LocatorUtils.property(thatLocator, "committeeReport", rhsCommitteeReport), lhsCommitteeReport, rhsCommitteeReport)) {
                return false;
            }
        }
        {
            String lhsWinner;
            lhsWinner = this.getWinner();
            String rhsWinner;
            rhsWinner = that.getWinner();
            if (!strategy.equals(LocatorUtils.property(thisLocator, "winner", lhsWinner), LocatorUtils.property(thatLocator, "winner", rhsWinner), lhsWinner, rhsWinner)) {
                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;
            }
        }
        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 theHeader;
            theHeader = this.getHeader();
            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "header", theHeader), currentHashCode, theHeader);
        }
        {
            BigInteger theIssueNumber;
            theIssueNumber = this.getIssueNumber();
            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "issueNumber", theIssueNumber), currentHashCode, theIssueNumber);
        }
        {
            String theProposal;
            theProposal = this.getProposal();
            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "proposal", theProposal), currentHashCode, theProposal);
        }
        {
            String theDecisionType;
            theDecisionType = this.getDecisionType();
            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "decisionType", theDecisionType), currentHashCode, theDecisionType);
        }
        {
            BigInteger theAgainstProposalNumber;
            theAgainstProposalNumber = this.getAgainstProposalNumber();
            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "againstProposalNumber", theAgainstProposalNumber), currentHashCode, theAgainstProposalNumber);
        }
        {
            String theAgainstProposalParties;
            theAgainstProposalParties = this.getAgainstProposalParties();
            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "againstProposalParties", theAgainstProposalParties), currentHashCode, theAgainstProposalParties);
        }
        {
            String theBallotId;
            theBallotId = this.getBallotId();
            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "ballotId", theBallotId), currentHashCode, theBallotId);
        }
        {
            Element theBallotSummary;
            theBallotSummary = this.getBallotSummary();
            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "ballotSummary", theBallotSummary), currentHashCode, theBallotSummary);
        }
        {
            String theBallotUrlXml;
            theBallotUrlXml = this.getBallotUrlXml();
            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "ballotUrlXml", theBallotUrlXml), currentHashCode, theBallotUrlXml);
        }
        {
            String theCommitteeReport;
            theCommitteeReport = this.getCommitteeReport();
            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "committeeReport", theCommitteeReport), currentHashCode, theCommitteeReport);
        }
        {
            String theWinner;
            theWinner = this.getWinner();
            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "winner", theWinner), currentHashCode, theWinner);
        }
        {
            String theRm;
            theRm = this.getRm();
            currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "rm", theRm), currentHashCode, theRm);
        }
        return currentHashCode;
    }

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

}