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

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.wcs11.Wcs11Package
 * @generated
 */
public interface Wcs11Factory extends EFactory {
	/**
	 * The singleton instance of the factory.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	Wcs11Factory eINSTANCE = net.opengis.wcs11.impl.Wcs11FactoryImpl.init();

	/**
	 * Returns a new object of class '<em>Available Keys Type</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Available Keys Type</em>'.
	 * @generated
	 */
	AvailableKeysType createAvailableKeysType();

	/**
	 * 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>Axis Type</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Axis Type</em>'.
	 * @generated
	 */
	AxisType createAxisType();

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

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

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

	/**
	 * 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 Domain Type</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Coverage Domain Type</em>'.
	 * @generated
	 */
	CoverageDomainType createCoverageDomainType();

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

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

	/**
	 * 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>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 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>Field Subset Type</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Field Subset Type</em>'.
	 * @generated
	 */
	FieldSubsetType createFieldSubsetType();

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

	/**
	 * 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 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>Grid Crs Type</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Grid Crs Type</em>'.
	 * @generated
	 */
	GridCrsType createGridCrsType();

	/**
	 * Returns a new object of class '<em>Image CRS Ref Type</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Image CRS Ref Type</em>'.
	 * @generated
	 */
	ImageCRSRefType createImageCRSRefType();

	/**
	 * Returns a new object of class '<em>Interpolation Method Base Type</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Interpolation Method Base Type</em>'.
	 * @generated
	 */
	InterpolationMethodBaseType createInterpolationMethodBaseType();

	/**
	 * Returns a new object of class '<em>Interpolation Methods Type</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Interpolation Methods Type</em>'.
	 * @generated
	 */
	InterpolationMethodsType createInterpolationMethodsType();

	/**
	 * Returns a new object of class '<em>Interpolation Method Type</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Interpolation Method Type</em>'.
	 * @generated
	 */
	InterpolationMethodType createInterpolationMethodType();

	/**
	 * 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>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>Range Type</em>'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return a new object of class '<em>Range Type</em>'.
	 * @generated
	 */
	RangeType createRangeType();

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

	/**
	 * 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>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 the package supported by this factory.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the package supported by this factory.
	 * @generated
	 */
	Wcs11Package getWcs11Package();

} //Wcs11Factory
