/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package net.opengis.wcs10;

import org.eclipse.emf.ecore.EFactory;

/**
 * <!-- begin-user-doc -->
 * The <b>Factory</b> for the model.
 * It provides a create method for each non-abstract class of the model.
 * <!-- end-user-doc -->
 * @see net.opengis.wcs10.Wcs10Package
 * @generated
 */
public interface Wcs10Factory extends EFactory {
    /**
	 * The singleton instance of the factory.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @generated
	 */
    Wcs10Factory eINSTANCE = net.opengis.wcs10.impl.Wcs10FactoryImpl.init();

    /**
	 * Returns a new object of class '<em>Address Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Address Type</em>'.
	 * @generated
	 */
    AddressType createAddressType();

    /**
	 * Returns a new object of class '<em>Axis Description Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Axis Description Type</em>'.
	 * @generated
	 */
    AxisDescriptionType createAxisDescriptionType();

    /**
	 * Returns a new object of class '<em>Axis Description Type1</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Axis Description Type1</em>'.
	 * @generated
	 */
    AxisDescriptionType1 createAxisDescriptionType1();

    /**
	 * Returns a new object of class '<em>Axis Subset Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Axis Subset Type</em>'.
	 * @generated
	 */
    AxisSubsetType createAxisSubsetType();

    /**
	 * Returns a new object of class '<em>Contact Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Contact Type</em>'.
	 * @generated
	 */
    ContactType createContactType();

    /**
	 * Returns a new object of class '<em>Content Metadata Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Content Metadata Type</em>'.
	 * @generated
	 */
    ContentMetadataType createContentMetadataType();

    /**
	 * Returns a new object of class '<em>Coverage Description Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Coverage Description Type</em>'.
	 * @generated
	 */
    CoverageDescriptionType createCoverageDescriptionType();

    /**
	 * Returns a new object of class '<em>Coverage Offering Brief Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Coverage Offering Brief Type</em>'.
	 * @generated
	 */
    CoverageOfferingBriefType createCoverageOfferingBriefType();

    /**
	 * Returns a new object of class '<em>Coverage Offering Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Coverage Offering Type</em>'.
	 * @generated
	 */
    CoverageOfferingType createCoverageOfferingType();

    /**
	 * Returns a new object of class '<em>DCP Type Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>DCP Type Type</em>'.
	 * @generated
	 */
    DCPTypeType createDCPTypeType();

    /**
	 * Returns a new object of class '<em>Describe Coverage Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Describe Coverage Type</em>'.
	 * @generated
	 */
    DescribeCoverageType createDescribeCoverageType();

    /**
	 * Returns a new object of class '<em>Describe Coverage Type1</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Describe Coverage Type1</em>'.
	 * @generated
	 */
    DescribeCoverageType1 createDescribeCoverageType1();

    /**
	 * Returns a new object of class '<em>Document Root</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Document Root</em>'.
	 * @generated
	 */
    DocumentRoot createDocumentRoot();

    /**
	 * Returns a new object of class '<em>Domain Set Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Domain Set Type</em>'.
	 * @generated
	 */
    DomainSetType createDomainSetType();

    /**
	 * Returns a new object of class '<em>Domain Subset Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Domain Subset Type</em>'.
	 * @generated
	 */
    DomainSubsetType createDomainSubsetType();

    /**
	 * Returns a new object of class '<em>Exception Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Exception Type</em>'.
	 * @generated
	 */
    ExceptionType createExceptionType();

    /**
	 * Returns a new object of class '<em>Get Capabilities Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Get Capabilities Type</em>'.
	 * @generated
	 */
    GetCapabilitiesType createGetCapabilitiesType();

    /**
	 * Returns a new object of class '<em>Get Capabilities Type1</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Get Capabilities Type1</em>'.
	 * @generated
	 */
    GetCapabilitiesType1 createGetCapabilitiesType1();

    /**
	 * Returns a new object of class '<em>Get Coverage Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Get Coverage Type</em>'.
	 * @generated
	 */
    GetCoverageType createGetCoverageType();

    /**
	 * Returns a new object of class '<em>Get Coverage Type1</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Get Coverage Type1</em>'.
	 * @generated
	 */
    GetCoverageType1 createGetCoverageType1();

    /**
	 * Returns a new object of class '<em>Get Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Get Type</em>'.
	 * @generated
	 */
    GetType createGetType();

    /**
	 * Returns a new object of class '<em>HTTP Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>HTTP Type</em>'.
	 * @generated
	 */
    HTTPType createHTTPType();

    /**
	 * Returns a new object of class '<em>Interval Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Interval Type</em>'.
	 * @generated
	 */
    IntervalType createIntervalType();

    /**
	 * Returns a new object of class '<em>Keywords Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Keywords Type</em>'.
	 * @generated
	 */
    KeywordsType createKeywordsType();

    /**
	 * Returns a new object of class '<em>Lon Lat Envelope Base Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Lon Lat Envelope Base Type</em>'.
	 * @generated
	 */
    LonLatEnvelopeBaseType createLonLatEnvelopeBaseType();

    /**
	 * Returns a new object of class '<em>Lon Lat Envelope Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Lon Lat Envelope Type</em>'.
	 * @generated
	 */
    LonLatEnvelopeType createLonLatEnvelopeType();

    /**
	 * Returns a new object of class '<em>Metadata Association Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Metadata Association Type</em>'.
	 * @generated
	 */
    MetadataAssociationType createMetadataAssociationType();

    /**
	 * Returns a new object of class '<em>Metadata Link Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Metadata Link Type</em>'.
	 * @generated
	 */
    MetadataLinkType createMetadataLinkType();

    /**
	 * Returns a new object of class '<em>Online Resource Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Online Resource Type</em>'.
	 * @generated
	 */
    OnlineResourceType createOnlineResourceType();

    /**
	 * Returns a new object of class '<em>Output Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Output Type</em>'.
	 * @generated
	 */
    OutputType createOutputType();

    /**
	 * Returns a new object of class '<em>Post Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Post Type</em>'.
	 * @generated
	 */
    PostType createPostType();

    /**
	 * Returns a new object of class '<em>Range Set Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Range Set Type</em>'.
	 * @generated
	 */
    RangeSetType createRangeSetType();

    /**
	 * Returns a new object of class '<em>Range Set Type1</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Range Set Type1</em>'.
	 * @generated
	 */
    RangeSetType1 createRangeSetType1();

    /**
	 * Returns a new object of class '<em>Range Subset Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Range Subset Type</em>'.
	 * @generated
	 */
    RangeSubsetType createRangeSubsetType();

    /**
	 * Returns a new object of class '<em>Request Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Request Type</em>'.
	 * @generated
	 */
    RequestType createRequestType();

    /**
	 * Returns a new object of class '<em>Responsible Party Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Responsible Party Type</em>'.
	 * @generated
	 */
    ResponsiblePartyType createResponsiblePartyType();

    /**
	 * Returns a new object of class '<em>Service Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Service Type</em>'.
	 * @generated
	 */
    ServiceType createServiceType();

    /**
	 * Returns a new object of class '<em>Spatial Domain Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Spatial Domain Type</em>'.
	 * @generated
	 */
    SpatialDomainType createSpatialDomainType();

    /**
	 * Returns a new object of class '<em>Spatial Subset Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Spatial Subset Type</em>'.
	 * @generated
	 */
    SpatialSubsetType createSpatialSubsetType();

    /**
	 * Returns a new object of class '<em>Supported CR Ss Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Supported CR Ss Type</em>'.
	 * @generated
	 */
    SupportedCRSsType createSupportedCRSsType();

    /**
	 * Returns a new object of class '<em>Supported Formats Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Supported Formats Type</em>'.
	 * @generated
	 */
    SupportedFormatsType createSupportedFormatsType();

    /**
	 * Returns a new object of class '<em>Supported Interpolations Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Supported Interpolations Type</em>'.
	 * @generated
	 */
    SupportedInterpolationsType createSupportedInterpolationsType();

    /**
	 * Returns a new object of class '<em>Telephone Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Telephone Type</em>'.
	 * @generated
	 */
    TelephoneType createTelephoneType();

    /**
	 * Returns a new object of class '<em>Time Period Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Time Period Type</em>'.
	 * @generated
	 */
    TimePeriodType createTimePeriodType();

    /**
	 * Returns a new object of class '<em>Time Sequence Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Time Sequence Type</em>'.
	 * @generated
	 */
    TimeSequenceType createTimeSequenceType();

    /**
	 * Returns a new object of class '<em>Typed Literal Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Typed Literal Type</em>'.
	 * @generated
	 */
    TypedLiteralType createTypedLiteralType();

    /**
	 * Returns a new object of class '<em>Value Enum Base Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Value Enum Base Type</em>'.
	 * @generated
	 */
    ValueEnumBaseType createValueEnumBaseType();

    /**
	 * Returns a new object of class '<em>Value Enum Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Value Enum Type</em>'.
	 * @generated
	 */
    ValueEnumType createValueEnumType();

    /**
	 * Returns a new object of class '<em>Value Range Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Value Range Type</em>'.
	 * @generated
	 */
    ValueRangeType createValueRangeType();

    /**
	 * Returns a new object of class '<em>Values Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Values Type</em>'.
	 * @generated
	 */
    ValuesType createValuesType();

    /**
	 * Returns a new object of class '<em>Vendor Specific Capabilities Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>Vendor Specific Capabilities Type</em>'.
	 * @generated
	 */
    VendorSpecificCapabilitiesType createVendorSpecificCapabilitiesType();

    /**
	 * Returns a new object of class '<em>WCS Capabilities Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>WCS Capabilities Type</em>'.
	 * @generated
	 */
    WCSCapabilitiesType createWCSCapabilitiesType();

    /**
	 * Returns a new object of class '<em>WCS Capability Type</em>'.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return a new object of class '<em>WCS Capability Type</em>'.
	 * @generated
	 */
    WCSCapabilityType createWCSCapabilityType();

    /**
	 * Returns the package supported by this factory.
	 * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
	 * @return the package supported by this factory.
	 * @generated
	 */
    Wcs10Package getWcs10Package();

} //Wcs10Factory
