//
// 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.03.04 at 09:48:32 AM UTC 
//


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

import java.math.BigInteger;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlElementDecl;
import javax.xml.bind.annotation.XmlRegistry;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import javax.xml.datatype.XMLGregorianCalendar;
import javax.xml.namespace.QName;


/**
 * This object contains factory methods for each 
 * Java content interface and Java element interface 
 * generated in the de.ivu.wahl.wus.oasis.eml.kiesraad package. 
 * <p>An ObjectFactory allows you to programatically 
 * construct new instances of the Java representation 
 * for XML content. The Java representation of XML 
 * content can consist of schema derived interfaces 
 * and classes representing the binding of schema 
 * type definitions, element declarations and model 
 * groups.  Factory methods for each of these are 
 * provided in this class.
 * 
 */
@XmlRegistry
public class ObjectFactory {

    private final static QName _ElectionDate_QNAME = new QName("http://www.kiesraad.nl/extensions", "ElectionDate");
    private final static QName _ElectionSubcategory_QNAME = new QName("http://www.kiesraad.nl/extensions", "ElectionSubcategory");
    private final static QName _NominationDate_QNAME = new QName("http://www.kiesraad.nl/extensions", "NominationDate");
    private final static QName _CreationDateTime_QNAME = new QName("http://www.kiesraad.nl/extensions", "CreationDateTime");
    private final static QName _NumberOfSeats_QNAME = new QName("http://www.kiesraad.nl/extensions", "NumberOfSeats");
    private final static QName _PreferenceThreshold_QNAME = new QName("http://www.kiesraad.nl/extensions", "PreferenceThreshold");
    private final static QName _RegisteredAppellation_QNAME = new QName("http://www.kiesraad.nl/extensions", "RegisteredAppellation");
    private final static QName _RegisteredBy_QNAME = new QName("http://www.kiesraad.nl/extensions", "RegisteredBy");
    private final static QName _RegionName_QNAME = new QName("http://www.kiesraad.nl/extensions", "RegionName");
    private final static QName _DateOfBirthAnnex_QNAME = new QName("http://www.kiesraad.nl/extensions", "DateOfBirthAnnex");
    private final static QName _NationalIdentificationNumber_QNAME = new QName("http://www.kiesraad.nl/extensions", "NationalIdentificationNumber");
    private final static QName _LivingAddress_QNAME = new QName("http://www.kiesraad.nl/extensions", "LivingAddress");

    /**
     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: de.ivu.wahl.wus.oasis.eml.kiesraad
     * 
     */
    public ObjectFactory() {
    }

    /**
     * Create an instance of {@link ElectionDomain }
     * 
     */
    public ElectionDomain createElectionDomain() {
        return new ElectionDomain();
    }

    /**
     * Create an instance of {@link CreatedByAuthority }
     * 
     */
    public CreatedByAuthority createCreatedByAuthority() {
        return new CreatedByAuthority();
    }

    /**
     * Create an instance of {@link Contest }
     * 
     */
    public Contest createContest() {
        return new Contest();
    }

    /**
     * Create an instance of {@link Contests }
     * 
     */
    public Contests createContests() {
        return new Contests();
    }

    /**
     * Create an instance of {@link ListData }
     * 
     */
    public ListData createListData() {
        return new ListData();
    }

    /**
     * Create an instance of {@link RegisteredParties }
     * 
     */
    public RegisteredParties createRegisteredParties() {
        return new RegisteredParties();
    }

    /**
     * Create an instance of {@link RegisteredParty }
     * 
     */
    public RegisteredParty createRegisteredParty() {
        return new RegisteredParty();
    }

    /**
     * Create an instance of {@link ElectionTree }
     * 
     */
    public ElectionTree createElectionTree() {
        return new ElectionTree();
    }

    /**
     * Create an instance of {@link Region }
     * 
     */
    public Region createRegion() {
        return new Region();
    }

    /**
     * Create an instance of {@link Committee }
     * 
     */
    public Committee createCommittee() {
        return new Committee();
    }

    /**
     * Create an instance of {@link LivingAddressType }
     * 
     */
    public LivingAddressType createLivingAddressType() {
        return new LivingAddressType();
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link XMLGregorianCalendar }{@code >}
     * 
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link XMLGregorianCalendar }{@code >}
     */
    @XmlElementDecl(namespace = "http://www.kiesraad.nl/extensions", name = "ElectionDate")
    public JAXBElement<XMLGregorianCalendar> createElectionDate(XMLGregorianCalendar value) {
        return new JAXBElement<XMLGregorianCalendar>(_ElectionDate_QNAME, XMLGregorianCalendar.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link ElectionSubcategoryType }{@code >}
     * 
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link ElectionSubcategoryType }{@code >}
     */
    @XmlElementDecl(namespace = "http://www.kiesraad.nl/extensions", name = "ElectionSubcategory")
    public JAXBElement<ElectionSubcategoryType> createElectionSubcategory(ElectionSubcategoryType value) {
        return new JAXBElement<ElectionSubcategoryType>(_ElectionSubcategory_QNAME, ElectionSubcategoryType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link XMLGregorianCalendar }{@code >}
     * 
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link XMLGregorianCalendar }{@code >}
     */
    @XmlElementDecl(namespace = "http://www.kiesraad.nl/extensions", name = "NominationDate")
    public JAXBElement<XMLGregorianCalendar> createNominationDate(XMLGregorianCalendar value) {
        return new JAXBElement<XMLGregorianCalendar>(_NominationDate_QNAME, XMLGregorianCalendar.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link XMLGregorianCalendar }{@code >}
     * 
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link XMLGregorianCalendar }{@code >}
     */
    @XmlElementDecl(namespace = "http://www.kiesraad.nl/extensions", name = "CreationDateTime")
    public JAXBElement<XMLGregorianCalendar> createCreationDateTime(XMLGregorianCalendar value) {
        return new JAXBElement<XMLGregorianCalendar>(_CreationDateTime_QNAME, XMLGregorianCalendar.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}
     * 
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}
     */
    @XmlElementDecl(namespace = "http://www.kiesraad.nl/extensions", name = "NumberOfSeats")
    public JAXBElement<BigInteger> createNumberOfSeats(BigInteger value) {
        return new JAXBElement<BigInteger>(_NumberOfSeats_QNAME, BigInteger.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}
     * 
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}
     */
    @XmlElementDecl(namespace = "http://www.kiesraad.nl/extensions", name = "PreferenceThreshold")
    public JAXBElement<BigInteger> createPreferenceThreshold(BigInteger value) {
        return new JAXBElement<BigInteger>(_PreferenceThreshold_QNAME, BigInteger.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
     * 
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
     */
    @XmlElementDecl(namespace = "http://www.kiesraad.nl/extensions", name = "RegisteredAppellation")
    public JAXBElement<String> createRegisteredAppellation(String value) {
        return new JAXBElement<String>(_RegisteredAppellation_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
     * 
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
     */
    @XmlElementDecl(namespace = "http://www.kiesraad.nl/extensions", name = "RegisteredBy")
    public JAXBElement<String> createRegisteredBy(String value) {
        return new JAXBElement<String>(_RegisteredBy_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
     * 
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
     */
    @XmlElementDecl(namespace = "http://www.kiesraad.nl/extensions", name = "RegionName")
    public JAXBElement<String> createRegionName(String value) {
        return new JAXBElement<String>(_RegionName_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
     * 
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
     */
    @XmlElementDecl(namespace = "http://www.kiesraad.nl/extensions", name = "DateOfBirthAnnex")
    public JAXBElement<String> createDateOfBirthAnnex(String value) {
        return new JAXBElement<String>(_DateOfBirthAnnex_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}
     * 
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link String }{@code >}
     */
    @XmlElementDecl(namespace = "http://www.kiesraad.nl/extensions", name = "NationalIdentificationNumber")
    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    public JAXBElement<String> createNationalIdentificationNumber(String value) {
        return new JAXBElement<String>(_NationalIdentificationNumber_QNAME, String.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link LivingAddressType }{@code >}
     * 
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link LivingAddressType }{@code >}
     */
    @XmlElementDecl(namespace = "http://www.kiesraad.nl/extensions", name = "LivingAddress")
    public JAXBElement<LivingAddressType> createLivingAddress(LivingAddressType value) {
        return new JAXBElement<LivingAddressType>(_LivingAddress_QNAME, LivingAddressType.class, null, value);
    }

}
