//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.0 
// See <a href="https://javaee.github.io/jaxb-v2/">https://javaee.github.io/jaxb-v2/</a> 
// Any modifications to this file will be lost upon recompilation of the source schema. 
// Generated on: 2021.12.17 at 08:48:55 AM UTC 
//


package de.ivu.wahl.wus.oasis.eml.reportgenerator;

import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.datatype.XMLGregorianCalendar;
import de.ivu.wahl.wus.oasis.eml.ContestIdentifierStructure;


/**
 * <p>Java class for anonymous complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element ref="{urn:oasis:names:tc:evs:schema:eml}ContestIdentifier" minOccurs="0"/&gt;
 *         &lt;element ref="{http://www.kiesraad.nl/reportgenerator}ContestIdentifiers" minOccurs="0"/&gt;
 *         &lt;element name="DateOfMeetingI1" type="{http://www.w3.org/2001/XMLSchema}date" minOccurs="0"/&gt;
 *         &lt;element name="TimeOfMeetingI1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="PlaceOfMeetingI1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="DateOfMeetingI4" type="{http://www.w3.org/2001/XMLSchema}date" minOccurs="0"/&gt;
 *         &lt;element name="TimeOfMeetingI4" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element name="PlaceOfMeetingI4" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element ref="{http://www.kiesraad.nl/reportgenerator}SubmittedList" maxOccurs="unbounded" minOccurs="0"/&gt;
 *         &lt;element ref="{http://www.kiesraad.nl/reportgenerator}OmissionLetter" maxOccurs="unbounded" minOccurs="0"/&gt;
 *         &lt;element ref="{http://www.kiesraad.nl/reportgenerator}InvalidCandidateList" maxOccurs="unbounded" minOccurs="0"/&gt;
 *         &lt;element ref="{http://www.kiesraad.nl/reportgenerator}DeletedCandidate" maxOccurs="unbounded" minOccurs="0"/&gt;
 *         &lt;element ref="{http://www.kiesraad.nl/reportgenerator}ChangedCandidateListName" maxOccurs="unbounded" minOccurs="0"/&gt;
 *         &lt;element ref="{http://www.kiesraad.nl/reportgenerator}DeletedCandidateListName" maxOccurs="unbounded" minOccurs="0"/&gt;
 *         &lt;element ref="{http://www.kiesraad.nl/reportgenerator}ObjectionsByVoters" minOccurs="0"/&gt;
 *         &lt;element name="RectificationTime" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
 *         &lt;element ref="{http://www.kiesraad.nl/reportgenerator}LetterOfOmissionSignatures"/&gt;
 *         &lt;element ref="{http://www.kiesraad.nl/reportgenerator}NumberedCandidateList" maxOccurs="unbounded" minOccurs="0"/&gt;
 *         &lt;element name="ObjectionsByVotersPart2" type="{http://www.kiesraad.nl/reportgenerator}ObjectionsByVotersType" minOccurs="0"/&gt;
 *         &lt;element ref="{http://www.kiesraad.nl/reportgenerator}P3PublicationSignature" minOccurs="0"/&gt;
 *         &lt;element ref="{http://www.kiesraad.nl/reportgenerator}OverviewOfListsAndDistricts" maxOccurs="unbounded" minOccurs="0"/&gt;
 *         &lt;element ref="{http://www.kiesraad.nl/reportgenerator}ElectoralDistrictsOverview" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "contestIdentifier",
    "contestIdentifiers",
    "dateOfMeetingI1",
    "timeOfMeetingI1",
    "placeOfMeetingI1",
    "dateOfMeetingI4",
    "timeOfMeetingI4",
    "placeOfMeetingI4",
    "submittedList",
    "omissionLetter",
    "invalidCandidateList",
    "deletedCandidate",
    "changedCandidateListName",
    "deletedCandidateListName",
    "objectionsByVoters",
    "rectificationTime",
    "letterOfOmissionSignatures",
    "numberedCandidateList",
    "objectionsByVotersPart2",
    "p3PublicationSignature",
    "overviewOfListsAndDistricts",
    "electoralDistrictsOverview"
})
@XmlRootElement(name = "RG230c")
public class RG230C {

    @XmlElement(name = "ContestIdentifier", namespace = "urn:oasis:names:tc:evs:schema:eml")
    protected ContestIdentifierStructure contestIdentifier;
    @XmlElement(name = "ContestIdentifiers")
    protected ContestIdentifiers contestIdentifiers;
    @XmlElement(name = "DateOfMeetingI1")
    @XmlSchemaType(name = "date")
    protected XMLGregorianCalendar dateOfMeetingI1;
    @XmlElement(name = "TimeOfMeetingI1")
    protected String timeOfMeetingI1;
    @XmlElement(name = "PlaceOfMeetingI1")
    protected String placeOfMeetingI1;
    @XmlElement(name = "DateOfMeetingI4")
    @XmlSchemaType(name = "date")
    protected XMLGregorianCalendar dateOfMeetingI4;
    @XmlElement(name = "TimeOfMeetingI4")
    protected String timeOfMeetingI4;
    @XmlElement(name = "PlaceOfMeetingI4")
    protected String placeOfMeetingI4;
    @XmlElement(name = "SubmittedList")
    protected List<SubmittedList> submittedList;
    @XmlElement(name = "OmissionLetter")
    protected List<OmissionLetter> omissionLetter;
    @XmlElement(name = "InvalidCandidateList")
    protected List<InvalidCandidateList> invalidCandidateList;
    @XmlElement(name = "DeletedCandidate")
    protected List<DeletedCandidate> deletedCandidate;
    @XmlElement(name = "ChangedCandidateListName")
    protected List<ChangedCandidateListName> changedCandidateListName;
    @XmlElement(name = "DeletedCandidateListName")
    protected List<DeletedCandidateListName> deletedCandidateListName;
    @XmlElement(name = "ObjectionsByVoters")
    protected ObjectionsByVotersType objectionsByVoters;
    @XmlElement(name = "RectificationTime")
    protected String rectificationTime;
    @XmlElement(name = "LetterOfOmissionSignatures", required = true)
    protected LetterOfOmissionSignatures letterOfOmissionSignatures;
    @XmlElement(name = "NumberedCandidateList")
    protected List<NumberedCandidateListType> numberedCandidateList;
    @XmlElement(name = "ObjectionsByVotersPart2")
    protected ObjectionsByVotersType objectionsByVotersPart2;
    @XmlElement(name = "P3PublicationSignature")
    protected P3PublicationSignature p3PublicationSignature;
    @XmlElement(name = "OverviewOfListsAndDistricts")
    protected List<OverviewOfListsAndDistricts> overviewOfListsAndDistricts;
    @XmlElement(name = "ElectoralDistrictsOverview")
    protected ElectoralDistrictsOverview electoralDistrictsOverview;

    /**
     * Gets the value of the contestIdentifier property.
     * 
     * @return
     *     possible object is
     *     {@link ContestIdentifierStructure }
     *     
     */
    public ContestIdentifierStructure getContestIdentifier() {
        return contestIdentifier;
    }

    /**
     * Sets the value of the contestIdentifier property.
     * 
     * @param value
     *     allowed object is
     *     {@link ContestIdentifierStructure }
     *     
     */
    public void setContestIdentifier(ContestIdentifierStructure value) {
        this.contestIdentifier = value;
    }

    /**
     * Contains all districts.
     * 
     * @return
     *     possible object is
     *     {@link ContestIdentifiers }
     *     
     */
    public ContestIdentifiers getContestIdentifiers() {
        return contestIdentifiers;
    }

    /**
     * Sets the value of the contestIdentifiers property.
     * 
     * @param value
     *     allowed object is
     *     {@link ContestIdentifiers }
     *     
     */
    public void setContestIdentifiers(ContestIdentifiers value) {
        this.contestIdentifiers = value;
    }

    /**
     * Gets the value of the dateOfMeetingI1 property.
     * 
     * @return
     *     possible object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public XMLGregorianCalendar getDateOfMeetingI1() {
        return dateOfMeetingI1;
    }

    /**
     * Sets the value of the dateOfMeetingI1 property.
     * 
     * @param value
     *     allowed object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public void setDateOfMeetingI1(XMLGregorianCalendar value) {
        this.dateOfMeetingI1 = value;
    }

    /**
     * Gets the value of the timeOfMeetingI1 property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getTimeOfMeetingI1() {
        return timeOfMeetingI1;
    }

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

    /**
     * Gets the value of the placeOfMeetingI1 property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPlaceOfMeetingI1() {
        return placeOfMeetingI1;
    }

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

    /**
     * Gets the value of the dateOfMeetingI4 property.
     * 
     * @return
     *     possible object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public XMLGregorianCalendar getDateOfMeetingI4() {
        return dateOfMeetingI4;
    }

    /**
     * Sets the value of the dateOfMeetingI4 property.
     * 
     * @param value
     *     allowed object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public void setDateOfMeetingI4(XMLGregorianCalendar value) {
        this.dateOfMeetingI4 = value;
    }

    /**
     * Gets the value of the timeOfMeetingI4 property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getTimeOfMeetingI4() {
        return timeOfMeetingI4;
    }

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

    /**
     * Gets the value of the placeOfMeetingI4 property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPlaceOfMeetingI4() {
        return placeOfMeetingI4;
    }

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

    /**
     * Gets the value of the submittedList property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the submittedList property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getSubmittedList().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link SubmittedList }
     * 
     * 
     */
    public List<SubmittedList> getSubmittedList() {
        if (submittedList == null) {
            submittedList = new ArrayList<SubmittedList>();
        }
        return this.submittedList;
    }

    /**
     * Gets the value of the omissionLetter property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the omissionLetter property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getOmissionLetter().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link OmissionLetter }
     * 
     * 
     */
    public List<OmissionLetter> getOmissionLetter() {
        if (omissionLetter == null) {
            omissionLetter = new ArrayList<OmissionLetter>();
        }
        return this.omissionLetter;
    }

    /**
     * Gets the value of the invalidCandidateList property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the invalidCandidateList property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getInvalidCandidateList().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link InvalidCandidateList }
     * 
     * 
     */
    public List<InvalidCandidateList> getInvalidCandidateList() {
        if (invalidCandidateList == null) {
            invalidCandidateList = new ArrayList<InvalidCandidateList>();
        }
        return this.invalidCandidateList;
    }

    /**
     * Gets the value of the deletedCandidate property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the deletedCandidate property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getDeletedCandidate().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link DeletedCandidate }
     * 
     * 
     */
    public List<DeletedCandidate> getDeletedCandidate() {
        if (deletedCandidate == null) {
            deletedCandidate = new ArrayList<DeletedCandidate>();
        }
        return this.deletedCandidate;
    }

    /**
     * Gets the value of the changedCandidateListName property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the changedCandidateListName property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getChangedCandidateListName().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link ChangedCandidateListName }
     * 
     * 
     */
    public List<ChangedCandidateListName> getChangedCandidateListName() {
        if (changedCandidateListName == null) {
            changedCandidateListName = new ArrayList<ChangedCandidateListName>();
        }
        return this.changedCandidateListName;
    }

    /**
     * Gets the value of the deletedCandidateListName property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the deletedCandidateListName property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getDeletedCandidateListName().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link DeletedCandidateListName }
     * 
     * 
     */
    public List<DeletedCandidateListName> getDeletedCandidateListName() {
        if (deletedCandidateListName == null) {
            deletedCandidateListName = new ArrayList<DeletedCandidateListName>();
        }
        return this.deletedCandidateListName;
    }

    /**
     * Objections for the first meeting (I 1)
     * 
     * @return
     *     possible object is
     *     {@link ObjectionsByVotersType }
     *     
     */
    public ObjectionsByVotersType getObjectionsByVoters() {
        return objectionsByVoters;
    }

    /**
     * Sets the value of the objectionsByVoters property.
     * 
     * @param value
     *     allowed object is
     *     {@link ObjectionsByVotersType }
     *     
     */
    public void setObjectionsByVoters(ObjectionsByVotersType value) {
        this.objectionsByVoters = value;
    }

    /**
     * Gets the value of the rectificationTime property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getRectificationTime() {
        return rectificationTime;
    }

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

    /**
     * Gets the value of the letterOfOmissionSignatures property.
     * 
     * @return
     *     possible object is
     *     {@link LetterOfOmissionSignatures }
     *     
     */
    public LetterOfOmissionSignatures getLetterOfOmissionSignatures() {
        return letterOfOmissionSignatures;
    }

    /**
     * Sets the value of the letterOfOmissionSignatures property.
     * 
     * @param value
     *     allowed object is
     *     {@link LetterOfOmissionSignatures }
     *     
     */
    public void setLetterOfOmissionSignatures(LetterOfOmissionSignatures value) {
        this.letterOfOmissionSignatures = value;
    }

    /**
     * Gets the value of the numberedCandidateList property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the numberedCandidateList property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getNumberedCandidateList().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link NumberedCandidateListType }
     * 
     * 
     */
    public List<NumberedCandidateListType> getNumberedCandidateList() {
        if (numberedCandidateList == null) {
            numberedCandidateList = new ArrayList<NumberedCandidateListType>();
        }
        return this.numberedCandidateList;
    }

    /**
     * Gets the value of the objectionsByVotersPart2 property.
     * 
     * @return
     *     possible object is
     *     {@link ObjectionsByVotersType }
     *     
     */
    public ObjectionsByVotersType getObjectionsByVotersPart2() {
        return objectionsByVotersPart2;
    }

    /**
     * Sets the value of the objectionsByVotersPart2 property.
     * 
     * @param value
     *     allowed object is
     *     {@link ObjectionsByVotersType }
     *     
     */
    public void setObjectionsByVotersPart2(ObjectionsByVotersType value) {
        this.objectionsByVotersPart2 = value;
    }

    /**
     * Gets the value of the p3PublicationSignature property.
     * 
     * @return
     *     possible object is
     *     {@link P3PublicationSignature }
     *     
     */
    public P3PublicationSignature getP3PublicationSignature() {
        return p3PublicationSignature;
    }

    /**
     * Sets the value of the p3PublicationSignature property.
     * 
     * @param value
     *     allowed object is
     *     {@link P3PublicationSignature }
     *     
     */
    public void setP3PublicationSignature(P3PublicationSignature value) {
        this.p3PublicationSignature = value;
    }

    /**
     * Gets the value of the overviewOfListsAndDistricts property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the overviewOfListsAndDistricts property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getOverviewOfListsAndDistricts().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link OverviewOfListsAndDistricts }
     * 
     * 
     */
    public List<OverviewOfListsAndDistricts> getOverviewOfListsAndDistricts() {
        if (overviewOfListsAndDistricts == null) {
            overviewOfListsAndDistricts = new ArrayList<OverviewOfListsAndDistricts>();
        }
        return this.overviewOfListsAndDistricts;
    }

    /**
     * Gets the value of the electoralDistrictsOverview property.
     * 
     * @return
     *     possible object is
     *     {@link ElectoralDistrictsOverview }
     *     
     */
    public ElectoralDistrictsOverview getElectoralDistrictsOverview() {
        return electoralDistrictsOverview;
    }

    /**
     * Sets the value of the electoralDistrictsOverview property.
     * 
     * @param value
     *     allowed object is
     *     {@link ElectoralDistrictsOverview }
     *     
     */
    public void setElectoralDistrictsOverview(ElectoralDistrictsOverview value) {
        this.electoralDistrictsOverview = value;
    }

    public void setSubmittedList(List<SubmittedList> value) {
        this.submittedList = null;
        if (value!= null) {
            List<SubmittedList> draftl = this.getSubmittedList();
            draftl.addAll(value);
        }
    }

    public void setOmissionLetter(List<OmissionLetter> value) {
        this.omissionLetter = null;
        if (value!= null) {
            List<OmissionLetter> draftl = this.getOmissionLetter();
            draftl.addAll(value);
        }
    }

    public void setInvalidCandidateList(List<InvalidCandidateList> value) {
        this.invalidCandidateList = null;
        if (value!= null) {
            List<InvalidCandidateList> draftl = this.getInvalidCandidateList();
            draftl.addAll(value);
        }
    }

    public void setDeletedCandidate(List<DeletedCandidate> value) {
        this.deletedCandidate = null;
        if (value!= null) {
            List<DeletedCandidate> draftl = this.getDeletedCandidate();
            draftl.addAll(value);
        }
    }

    public void setChangedCandidateListName(List<ChangedCandidateListName> value) {
        this.changedCandidateListName = null;
        if (value!= null) {
            List<ChangedCandidateListName> draftl = this.getChangedCandidateListName();
            draftl.addAll(value);
        }
    }

    public void setDeletedCandidateListName(List<DeletedCandidateListName> value) {
        this.deletedCandidateListName = null;
        if (value!= null) {
            List<DeletedCandidateListName> draftl = this.getDeletedCandidateListName();
            draftl.addAll(value);
        }
    }

    public void setNumberedCandidateList(List<NumberedCandidateListType> value) {
        this.numberedCandidateList = null;
        if (value!= null) {
            List<NumberedCandidateListType> draftl = this.getNumberedCandidateList();
            draftl.addAll(value);
        }
    }

    public void setOverviewOfListsAndDistricts(List<OverviewOfListsAndDistricts> value) {
        this.overviewOfListsAndDistricts = null;
        if (value!= null) {
            List<OverviewOfListsAndDistricts> draftl = this.getOverviewOfListsAndDistricts();
            draftl.addAll(value);
        }
    }

}
