//
// 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 oasis.names.tc.ciq.xsdschema.xal._2;

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 oasis.names.tc.ciq.xsdschema.xal._2 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 _AddressDetails_QNAME = new QName("urn:oasis:names:tc:ciq:xsdschema:xAL:2.0", "AddressDetails");

    /**
     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: oasis.names.tc.ciq.xsdschema.xal._2
     * 
     */
    public ObjectFactory() {
    }

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

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

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

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

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

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

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

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

    /**
     * Create an instance of {@link AdministrativeArea.SubAdministrativeArea }
     * 
     */
    public AdministrativeArea.SubAdministrativeArea createAdministrativeAreaSubAdministrativeArea() {
        return new AdministrativeArea.SubAdministrativeArea();
    }

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

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

    /**
     * Create an instance of {@link Premise.PremiseNumberRange }
     * 
     */
    public Premise.PremiseNumberRange createPremisePremiseNumberRange() {
        return new Premise.PremiseNumberRange();
    }

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

    /**
     * Create an instance of {@link Thoroughfare.ThoroughfareNumberRange }
     * 
     */
    public Thoroughfare.ThoroughfareNumberRange createThoroughfareThoroughfareNumberRange() {
        return new Thoroughfare.ThoroughfareNumberRange();
    }

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

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

    /**
     * Create an instance of {@link PostalCode.PostTown }
     * 
     */
    public PostalCode.PostTown createPostalCodePostTown() {
        return new PostalCode.PostTown();
    }

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

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

    /**
     * Create an instance of {@link AddressDetails.Country }
     * 
     */
    public AddressDetails.Country createAddressDetailsCountry() {
        return new AddressDetails.Country();
    }

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements }
     * 
     */
    public AddressDetails.PostalServiceElements createAddressDetailsPostalServiceElements() {
        return new AddressDetails.PostalServiceElements();
    }

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

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

    /**
     * Create an instance of {@link Locality.LocalityName }
     * 
     */
    public Locality.LocalityName createLocalityLocalityName() {
        return new Locality.LocalityName();
    }

    /**
     * Create an instance of {@link PostBox.PostBoxNumber }
     * 
     */
    public PostBox.PostBoxNumber createPostBoxPostBoxNumber() {
        return new PostBox.PostBoxNumber();
    }

    /**
     * Create an instance of {@link PostBox.PostBoxNumberPrefix }
     * 
     */
    public PostBox.PostBoxNumberPrefix createPostBoxPostBoxNumberPrefix() {
        return new PostBox.PostBoxNumberPrefix();
    }

    /**
     * Create an instance of {@link PostBox.PostBoxNumberSuffix }
     * 
     */
    public PostBox.PostBoxNumberSuffix createPostBoxPostBoxNumberSuffix() {
        return new PostBox.PostBoxNumberSuffix();
    }

    /**
     * Create an instance of {@link PostBox.PostBoxNumberExtension }
     * 
     */
    public PostBox.PostBoxNumberExtension createPostBoxPostBoxNumberExtension() {
        return new PostBox.PostBoxNumberExtension();
    }

    /**
     * Create an instance of {@link PostalCode.PostalCodeNumber }
     * 
     */
    public PostalCode.PostalCodeNumber createPostalCodePostalCodeNumber() {
        return new PostalCode.PostalCodeNumber();
    }

    /**
     * Create an instance of {@link PostalCode.PostalCodeNumberExtension }
     * 
     */
    public PostalCode.PostalCodeNumberExtension createPostalCodePostalCodeNumberExtension() {
        return new PostalCode.PostalCodeNumberExtension();
    }

    /**
     * Create an instance of {@link PostOffice.PostOfficeName }
     * 
     */
    public PostOffice.PostOfficeName createPostOfficePostOfficeName() {
        return new PostOffice.PostOfficeName();
    }

    /**
     * Create an instance of {@link PostOffice.PostOfficeNumber }
     * 
     */
    public PostOffice.PostOfficeNumber createPostOfficePostOfficeNumber() {
        return new PostOffice.PostOfficeNumber();
    }

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

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

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

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

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

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

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

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

    /**
     * Create an instance of {@link Thoroughfare.DependentThoroughfare }
     * 
     */
    public Thoroughfare.DependentThoroughfare createThoroughfareDependentThoroughfare() {
        return new Thoroughfare.DependentThoroughfare();
    }

    /**
     * Create an instance of {@link Premise.PremiseName }
     * 
     */
    public Premise.PremiseName createPremisePremiseName() {
        return new Premise.PremiseName();
    }

    /**
     * Create an instance of {@link Premise.PremiseLocation }
     * 
     */
    public Premise.PremiseLocation createPremisePremiseLocation() {
        return new Premise.PremiseLocation();
    }

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

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

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

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

    /**
     * Create an instance of {@link AdministrativeArea.AdministrativeAreaName }
     * 
     */
    public AdministrativeArea.AdministrativeAreaName createAdministrativeAreaAdministrativeAreaName() {
        return new AdministrativeArea.AdministrativeAreaName();
    }

    /**
     * Create an instance of {@link Department.DepartmentName }
     * 
     */
    public Department.DepartmentName createDepartmentDepartmentName() {
        return new Department.DepartmentName();
    }

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

    /**
     * Create an instance of {@link oasis.names.tc.ciq.xsdschema.xal._2.Address }
     * 
     */
    public oasis.names.tc.ciq.xsdschema.xal._2.Address createAddress() {
        return new oasis.names.tc.ciq.xsdschema.xal._2.Address();
    }

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

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

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

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

    /**
     * Create an instance of {@link AdministrativeArea.SubAdministrativeArea.SubAdministrativeAreaName }
     * 
     */
    public AdministrativeArea.SubAdministrativeArea.SubAdministrativeAreaName createAdministrativeAreaSubAdministrativeAreaSubAdministrativeAreaName() {
        return new AdministrativeArea.SubAdministrativeArea.SubAdministrativeAreaName();
    }

    /**
     * Create an instance of {@link MailStopType.MailStopName }
     * 
     */
    public MailStopType.MailStopName createMailStopTypeMailStopName() {
        return new MailStopType.MailStopName();
    }

    /**
     * Create an instance of {@link MailStopType.MailStopNumber }
     * 
     */
    public MailStopType.MailStopNumber createMailStopTypeMailStopNumber() {
        return new MailStopType.MailStopNumber();
    }

    /**
     * Create an instance of {@link SubPremiseType.SubPremiseName }
     * 
     */
    public SubPremiseType.SubPremiseName createSubPremiseTypeSubPremiseName() {
        return new SubPremiseType.SubPremiseName();
    }

    /**
     * Create an instance of {@link SubPremiseType.SubPremiseLocation }
     * 
     */
    public SubPremiseType.SubPremiseLocation createSubPremiseTypeSubPremiseLocation() {
        return new SubPremiseType.SubPremiseLocation();
    }

    /**
     * Create an instance of {@link SubPremiseType.SubPremiseNumber }
     * 
     */
    public SubPremiseType.SubPremiseNumber createSubPremiseTypeSubPremiseNumber() {
        return new SubPremiseType.SubPremiseNumber();
    }

    /**
     * Create an instance of {@link SubPremiseType.SubPremiseNumberPrefix }
     * 
     */
    public SubPremiseType.SubPremiseNumberPrefix createSubPremiseTypeSubPremiseNumberPrefix() {
        return new SubPremiseType.SubPremiseNumberPrefix();
    }

    /**
     * Create an instance of {@link SubPremiseType.SubPremiseNumberSuffix }
     * 
     */
    public SubPremiseType.SubPremiseNumberSuffix createSubPremiseTypeSubPremiseNumberSuffix() {
        return new SubPremiseType.SubPremiseNumberSuffix();
    }

    /**
     * Create an instance of {@link Premise.PremiseNumberRange.PremiseNumberRangeFrom }
     * 
     */
    public Premise.PremiseNumberRange.PremiseNumberRangeFrom createPremisePremiseNumberRangePremiseNumberRangeFrom() {
        return new Premise.PremiseNumberRange.PremiseNumberRangeFrom();
    }

    /**
     * Create an instance of {@link Premise.PremiseNumberRange.PremiseNumberRangeTo }
     * 
     */
    public Premise.PremiseNumberRange.PremiseNumberRangeTo createPremisePremiseNumberRangePremiseNumberRangeTo() {
        return new Premise.PremiseNumberRange.PremiseNumberRangeTo();
    }

    /**
     * Create an instance of {@link DependentLocalityType.DependentLocalityName }
     * 
     */
    public DependentLocalityType.DependentLocalityName createDependentLocalityTypeDependentLocalityName() {
        return new DependentLocalityType.DependentLocalityName();
    }

    /**
     * Create an instance of {@link DependentLocalityType.DependentLocalityNumber }
     * 
     */
    public DependentLocalityType.DependentLocalityNumber createDependentLocalityTypeDependentLocalityNumber() {
        return new DependentLocalityType.DependentLocalityNumber();
    }

    /**
     * Create an instance of {@link Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberFrom }
     * 
     */
    public Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberFrom createThoroughfareThoroughfareNumberRangeThoroughfareNumberFrom() {
        return new Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberFrom();
    }

    /**
     * Create an instance of {@link Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberTo }
     * 
     */
    public Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberTo createThoroughfareThoroughfareNumberRangeThoroughfareNumberTo() {
        return new Thoroughfare.ThoroughfareNumberRange.ThoroughfareNumberTo();
    }

    /**
     * Create an instance of {@link PostalRouteType.PostalRouteName }
     * 
     */
    public PostalRouteType.PostalRouteName createPostalRouteTypePostalRouteName() {
        return new PostalRouteType.PostalRouteName();
    }

    /**
     * Create an instance of {@link PostalRouteType.PostalRouteNumber }
     * 
     */
    public PostalRouteType.PostalRouteNumber createPostalRouteTypePostalRouteNumber() {
        return new PostalRouteType.PostalRouteNumber();
    }

    /**
     * Create an instance of {@link LargeMailUserType.LargeMailUserName }
     * 
     */
    public LargeMailUserType.LargeMailUserName createLargeMailUserTypeLargeMailUserName() {
        return new LargeMailUserType.LargeMailUserName();
    }

    /**
     * Create an instance of {@link LargeMailUserType.LargeMailUserIdentifier }
     * 
     */
    public LargeMailUserType.LargeMailUserIdentifier createLargeMailUserTypeLargeMailUserIdentifier() {
        return new LargeMailUserType.LargeMailUserIdentifier();
    }

    /**
     * Create an instance of {@link PostalCode.PostTown.PostTownName }
     * 
     */
    public PostalCode.PostTown.PostTownName createPostalCodePostTownPostTownName() {
        return new PostalCode.PostTown.PostTownName();
    }

    /**
     * Create an instance of {@link PostalCode.PostTown.PostTownSuffix }
     * 
     */
    public PostalCode.PostTown.PostTownSuffix createPostalCodePostTownPostTownSuffix() {
        return new PostalCode.PostTown.PostTownSuffix();
    }

    /**
     * Create an instance of {@link FirmType.FirmName }
     * 
     */
    public FirmType.FirmName createFirmTypeFirmName() {
        return new FirmType.FirmName();
    }

    /**
     * Create an instance of {@link AddressDetails.Address }
     * 
     */
    public AddressDetails.Address createAddressDetailsAddress() {
        return new AddressDetails.Address();
    }

    /**
     * Create an instance of {@link AddressDetails.Country.CountryNameCode }
     * 
     */
    public AddressDetails.Country.CountryNameCode createAddressDetailsCountryCountryNameCode() {
        return new AddressDetails.Country.CountryNameCode();
    }

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.AddressIdentifier }
     * 
     */
    public AddressDetails.PostalServiceElements.AddressIdentifier createAddressDetailsPostalServiceElementsAddressIdentifier() {
        return new AddressDetails.PostalServiceElements.AddressIdentifier();
    }

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.EndorsementLineCode }
     * 
     */
    public AddressDetails.PostalServiceElements.EndorsementLineCode createAddressDetailsPostalServiceElementsEndorsementLineCode() {
        return new AddressDetails.PostalServiceElements.EndorsementLineCode();
    }

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.KeyLineCode }
     * 
     */
    public AddressDetails.PostalServiceElements.KeyLineCode createAddressDetailsPostalServiceElementsKeyLineCode() {
        return new AddressDetails.PostalServiceElements.KeyLineCode();
    }

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.Barcode }
     * 
     */
    public AddressDetails.PostalServiceElements.Barcode createAddressDetailsPostalServiceElementsBarcode() {
        return new AddressDetails.PostalServiceElements.Barcode();
    }

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.SortingCode }
     * 
     */
    public AddressDetails.PostalServiceElements.SortingCode createAddressDetailsPostalServiceElementsSortingCode() {
        return new AddressDetails.PostalServiceElements.SortingCode();
    }

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.AddressLatitude }
     * 
     */
    public AddressDetails.PostalServiceElements.AddressLatitude createAddressDetailsPostalServiceElementsAddressLatitude() {
        return new AddressDetails.PostalServiceElements.AddressLatitude();
    }

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.AddressLatitudeDirection }
     * 
     */
    public AddressDetails.PostalServiceElements.AddressLatitudeDirection createAddressDetailsPostalServiceElementsAddressLatitudeDirection() {
        return new AddressDetails.PostalServiceElements.AddressLatitudeDirection();
    }

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.AddressLongitude }
     * 
     */
    public AddressDetails.PostalServiceElements.AddressLongitude createAddressDetailsPostalServiceElementsAddressLongitude() {
        return new AddressDetails.PostalServiceElements.AddressLongitude();
    }

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.AddressLongitudeDirection }
     * 
     */
    public AddressDetails.PostalServiceElements.AddressLongitudeDirection createAddressDetailsPostalServiceElementsAddressLongitudeDirection() {
        return new AddressDetails.PostalServiceElements.AddressLongitudeDirection();
    }

    /**
     * Create an instance of {@link AddressDetails.PostalServiceElements.SupplementaryPostalServiceData }
     * 
     */
    public AddressDetails.PostalServiceElements.SupplementaryPostalServiceData createAddressDetailsPostalServiceElementsSupplementaryPostalServiceData() {
        return new AddressDetails.PostalServiceElements.SupplementaryPostalServiceData();
    }

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

}
