//
// 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.external.xnl;

import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlElementDecl;
import javax.xml.bind.annotation.XmlRegistry;
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.external.xnl 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 _Function_QNAME = new QName("urn:oasis:names:tc:ciq:xsdschema:xNL:2.0", "Function");

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

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

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

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

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

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

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

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

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

    /**
     * Create an instance of {@link PersonNameType.PrecedingTitle }
     * 
     */
    public PersonNameType.PrecedingTitle createPersonNameTypePrecedingTitle() {
        return new PersonNameType.PrecedingTitle();
    }

    /**
     * Create an instance of {@link PersonNameType.Title }
     * 
     */
    public PersonNameType.Title createPersonNameTypeTitle() {
        return new PersonNameType.Title();
    }

    /**
     * Create an instance of {@link PersonNameType.FirstName }
     * 
     */
    public PersonNameType.FirstName createPersonNameTypeFirstName() {
        return new PersonNameType.FirstName();
    }

    /**
     * Create an instance of {@link PersonNameType.MiddleName }
     * 
     */
    public PersonNameType.MiddleName createPersonNameTypeMiddleName() {
        return new PersonNameType.MiddleName();
    }

    /**
     * Create an instance of {@link PersonNameType.NamePrefix }
     * 
     */
    public PersonNameType.NamePrefix createPersonNameTypeNamePrefix() {
        return new PersonNameType.NamePrefix();
    }

    /**
     * Create an instance of {@link PersonNameType.LastName }
     * 
     */
    public PersonNameType.LastName createPersonNameTypeLastName() {
        return new PersonNameType.LastName();
    }

    /**
     * Create an instance of {@link PersonNameType.OtherName }
     * 
     */
    public PersonNameType.OtherName createPersonNameTypeOtherName() {
        return new PersonNameType.OtherName();
    }

    /**
     * Create an instance of {@link PersonNameType.Alias }
     * 
     */
    public PersonNameType.Alias createPersonNameTypeAlias() {
        return new PersonNameType.Alias();
    }

    /**
     * Create an instance of {@link PersonNameType.GenerationIdentifier }
     * 
     */
    public PersonNameType.GenerationIdentifier createPersonNameTypeGenerationIdentifier() {
        return new PersonNameType.GenerationIdentifier();
    }

    /**
     * Create an instance of {@link PersonNameType.Suffix }
     * 
     */
    public PersonNameType.Suffix createPersonNameTypeSuffix() {
        return new PersonNameType.Suffix();
    }

    /**
     * Create an instance of {@link PersonNameType.GeneralSuffix }
     * 
     */
    public PersonNameType.GeneralSuffix createPersonNameTypeGeneralSuffix() {
        return new PersonNameType.GeneralSuffix();
    }

    /**
     * Create an instance of {@link PersonName.FormerName }
     * 
     */
    public PersonName.FormerName createPersonNameFormerName() {
        return new PersonName.FormerName();
    }

    /**
     * Create an instance of {@link PersonName.KnownAs }
     * 
     */
    public PersonName.KnownAs createPersonNameKnownAs() {
        return new PersonName.KnownAs();
    }

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

    /**
     * Create an instance of {@link OrganisationNameDetailsType.OrganisationName }
     * 
     */
    public OrganisationNameDetailsType.OrganisationName createOrganisationNameDetailsTypeOrganisationName() {
        return new OrganisationNameDetailsType.OrganisationName();
    }

    /**
     * Create an instance of {@link OrganisationNameDetailsType.OrganisationType }
     * 
     */
    public OrganisationNameDetailsType.OrganisationType createOrganisationNameDetailsTypeOrganisationType() {
        return new OrganisationNameDetailsType.OrganisationType();
    }

    /**
     * Create an instance of {@link OrganisationNameDetails.OrganisationFormerName }
     * 
     */
    public OrganisationNameDetails.OrganisationFormerName createOrganisationNameDetailsOrganisationFormerName() {
        return new OrganisationNameDetails.OrganisationFormerName();
    }

    /**
     * Create an instance of {@link OrganisationNameDetails.OrganisationKnownAs }
     * 
     */
    public OrganisationNameDetails.OrganisationKnownAs createOrganisationNameDetailsOrganisationKnownAs() {
        return new OrganisationNameDetails.OrganisationKnownAs();
    }

    /**
     * Create an instance of {@link NameDetails.AddresseeIndicator }
     * 
     */
    public NameDetails.AddresseeIndicator createNameDetailsAddresseeIndicator() {
        return new NameDetails.AddresseeIndicator();
    }

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

    /**
     * Create an instance of {@link NameDetails.DependencyName }
     * 
     */
    public NameDetails.DependencyName createNameDetailsDependencyName() {
        return new NameDetails.DependencyName();
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link Function }{@code >}
     * 
     * @param value
     *     Java instance representing xml element's value.
     * @return
     *     the new instance of {@link JAXBElement }{@code <}{@link Function }{@code >}
     */
    @XmlElementDecl(namespace = "urn:oasis:names:tc:ciq:xsdschema:xNL:2.0", name = "Function")
    public JAXBElement<Function> createFunction(Function value) {
        return new JAXBElement<Function>(_Function_QNAME, Function.class, null, value);
    }

}
