/**
* <copyright>
* </copyright>
*
* $Id$
*/
package net.opengis.wfs;
import java.math.BigInteger;
import java.util.Map;
import org.eclipse.emf.common.util.EList;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Get Feature Type</b></em>'.
* <!-- end-user-doc -->
*
* <!-- begin-model-doc -->
*
* A GetFeature element contains one or more Query elements
* that describe a query operation on one feature type. In
* response to a GetFeature request, a Web Feature Service
* must be able to generate a GML3 response that validates
* using a schema generated by the DescribeFeatureType request.
* A Web Feature Service may support other possibly non-XML
* (and even binary) output formats as long as those formats
* are advertised in the capabilities document.
* <!-- end-model-doc -->
*
* <p>
* The following features are supported:
* <ul>
* <li>{@link net.opengis.wfs.GetFeatureType#getQuery <em>Query</em>}</li>
* <li>{@link net.opengis.wfs.GetFeatureType#getMaxFeatures <em>Max Features</em>}</li>
* <li>{@link net.opengis.wfs.GetFeatureType#getOutputFormat <em>Output Format</em>}</li>
* <li>{@link net.opengis.wfs.GetFeatureType#getResultType <em>Result Type</em>}</li>
* <li>{@link net.opengis.wfs.GetFeatureType#getTraverseXlinkDepth <em>Traverse Xlink Depth</em>}</li>
* <li>{@link net.opengis.wfs.GetFeatureType#getTraverseXlinkExpiry <em>Traverse Xlink Expiry</em>}</li>
* <li>{@link net.opengis.wfs.GetFeatureType#getFormatOptions <em>Format Options</em>}</li>
* <li>{@link net.opengis.wfs.GetFeatureType#getMetadata <em>Metadata</em>}</li>
* </ul>
* </p>
*
* @see net.opengis.wfs.WfsPackage#getGetFeatureType()
* @model extendedMetaData="name='GetFeatureType' kind='elementOnly'"
* @generated
*/
public interface GetFeatureType extends BaseRequestType {
/**
* Returns the value of the '<em><b>Query</b></em>' containment reference list.
* The list contents are of type {@link net.opengis.wfs.QueryType}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Query</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Query</em>' containment reference list.
* @see net.opengis.wfs.WfsPackage#getGetFeatureType_Query()
* @model type="net.opengis.wfs.QueryType" containment="true" required="true"
* extendedMetaData="kind='element' name='Query' namespace='##targetNamespace'"
* @generated
*/
EList getQuery();
/**
* Returns the value of the '<em><b>Max Features</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
*
* The maxFeatures attribute is used to specify the maximum
* number of features that a GetFeature operation should
* generate (regardless of the actual number of query hits).
* <!-- end-model-doc -->
* @return the value of the '<em>Max Features</em>' attribute.
* @see #setMaxFeatures(BigInteger)
* @see net.opengis.wfs.WfsPackage#getGetFeatureType_MaxFeatures()
* @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.PositiveInteger"
* extendedMetaData="kind='attribute' name='maxFeatures'"
* @generated
*/
BigInteger getMaxFeatures();
/**
* Sets the value of the '{@link net.opengis.wfs.GetFeatureType#getMaxFeatures <em>Max Features</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Max Features</em>' attribute.
* @see #getMaxFeatures()
* @generated
*/
void setMaxFeatures(BigInteger value);
/**
* Returns the value of the '<em><b>Output Format</b></em>' attribute.
* The default value is <code>"text/xml; subtype=gml/3.1.1"</code>.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
*
* The outputFormat attribute is used to specify the output
* format that the Web Feature Service should generate in
* response to a GetFeature or GetFeatureWithLock element.
* The default value of 'text/xml; subtype=gml/3.1.1'
* indicates that the output is an XML document that
* conforms to the Geography Markup Language (GML)
* Implementation Specification V3.1.1.
* For the purposes of experimentation, vendor extension,
* or even extensions that serve a specific community of
* interest, other acceptable output format values may be
* used to specify other formats as long as those values
* are advertised in the capabilities document.
* For example, the value WKB may be used to indicate that a
* Well Known Binary format be used to encode the output.
* <!-- end-model-doc -->
* @return the value of the '<em>Output Format</em>' attribute.
* @see #isSetOutputFormat()
* @see #unsetOutputFormat()
* @see #setOutputFormat(String)
* @see net.opengis.wfs.WfsPackage#getGetFeatureType_OutputFormat()
* @model default="text/xml; subtype=gml/3.1.1" unique="false" unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.String"
* extendedMetaData="kind='attribute' name='outputFormat'"
* @generated
*/
String getOutputFormat();
/**
* Sets the value of the '{@link net.opengis.wfs.GetFeatureType#getOutputFormat <em>Output Format</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Output Format</em>' attribute.
* @see #isSetOutputFormat()
* @see #unsetOutputFormat()
* @see #getOutputFormat()
* @generated
*/
void setOutputFormat(String value);
/**
* Unsets the value of the '{@link net.opengis.wfs.GetFeatureType#getOutputFormat <em>Output Format</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isSetOutputFormat()
* @see #getOutputFormat()
* @see #setOutputFormat(String)
* @generated
*/
void unsetOutputFormat();
/**
* Returns whether the value of the '{@link net.opengis.wfs.GetFeatureType#getOutputFormat <em>Output Format</em>}' attribute is set.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return whether the value of the '<em>Output Format</em>' attribute is set.
* @see #unsetOutputFormat()
* @see #getOutputFormat()
* @see #setOutputFormat(String)
* @generated
*/
boolean isSetOutputFormat();
/**
* Returns the value of the '<em><b>Result Type</b></em>' attribute.
* The default value is <code>"results"</code>.
* The literals are from the enumeration {@link net.opengis.wfs.ResultTypeType}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
*
* The resultType attribute is used to indicate
* what response a WFS should return to user once
* a GetFeature request is processed.
* Possible values are:
* results - meaning that the full response set
* (i.e. all the feature instances)
* should be returned.
* hits - meaning that an empty response set
* should be returned (i.e. no feature
* instances should be returned) but
* the "numberOfFeatures" attribute
* should be set to the number of feature
* instances that would be returned.
* <!-- end-model-doc -->
* @return the value of the '<em>Result Type</em>' attribute.
* @see net.opengis.wfs.ResultTypeType
* @see #isSetResultType()
* @see #unsetResultType()
* @see #setResultType(ResultTypeType)
* @see net.opengis.wfs.WfsPackage#getGetFeatureType_ResultType()
* @model default="results" unique="false" unsettable="true"
* extendedMetaData="kind='attribute' name='resultType'"
* @generated
*/
ResultTypeType getResultType();
/**
* Sets the value of the '{@link net.opengis.wfs.GetFeatureType#getResultType <em>Result Type</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Result Type</em>' attribute.
* @see net.opengis.wfs.ResultTypeType
* @see #isSetResultType()
* @see #unsetResultType()
* @see #getResultType()
* @generated
*/
void setResultType(ResultTypeType value);
/**
* Unsets the value of the '{@link net.opengis.wfs.GetFeatureType#getResultType <em>Result Type</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isSetResultType()
* @see #getResultType()
* @see #setResultType(ResultTypeType)
* @generated
*/
void unsetResultType();
/**
* Returns whether the value of the '{@link net.opengis.wfs.GetFeatureType#getResultType <em>Result Type</em>}' attribute is set.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return whether the value of the '<em>Result Type</em>' attribute is set.
* @see #unsetResultType()
* @see #getResultType()
* @see #setResultType(ResultTypeType)
* @generated
*/
boolean isSetResultType();
/**
* Returns the value of the '<em><b>Traverse Xlink Depth</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
*
* This attribute indicates the depth to which nested property
* XLink linking element locator attribute (href) XLinks are
* traversed and resolved if possible. A value of "1"
* indicates that one linking element locator attribute
* (href) Xlink will be traversed and the referenced element
* returned if possible, but nested property XLink linking
* element locator attribute (href) XLinks in the returned
* element are not traversed. A value of "
* " indicates that
* all nested property XLink linking element locator attribute
* (href) XLinks will be traversed and the referenced elements
* returned if possible. The range of valid values for this
* attribute consists of positive integers plus "
* ".
* If this attribute is not specified then no xlinks shall be
* resolved and the value of traverseXlinkExpiry attribute (if
* it specified) may be ignored.
* <!-- end-model-doc -->
* @return the value of the '<em>Traverse Xlink Depth</em>' attribute.
* @see #setTraverseXlinkDepth(String)
* @see net.opengis.wfs.WfsPackage#getGetFeatureType_TraverseXlinkDepth()
* @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
* extendedMetaData="kind='attribute' name='traverseXlinkDepth'"
* @generated
*/
String getTraverseXlinkDepth();
/**
* Sets the value of the '{@link net.opengis.wfs.GetFeatureType#getTraverseXlinkDepth <em>Traverse Xlink Depth</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Traverse Xlink Depth</em>' attribute.
* @see #getTraverseXlinkDepth()
* @generated
*/
void setTraverseXlinkDepth(String value);
/**
* Returns the value of the '<em><b>Traverse Xlink Expiry</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
*
* The traverseXlinkExpiry attribute value is specified in
* minutes. It indicates how long a Web Feature Service
* should wait to receive a response to a nested GetGmlObject
* request.
* This attribute is only relevant if a value is specified
* for the traverseXlinkDepth attribute.
* <!-- end-model-doc -->
* @return the value of the '<em>Traverse Xlink Expiry</em>' attribute.
* @see #setTraverseXlinkExpiry(BigInteger)
* @see net.opengis.wfs.WfsPackage#getGetFeatureType_TraverseXlinkExpiry()
* @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.PositiveInteger"
* extendedMetaData="kind='attribute' name='traverseXlinkExpiry'"
* @generated
*/
BigInteger getTraverseXlinkExpiry();
/**
* Sets the value of the '{@link net.opengis.wfs.GetFeatureType#getTraverseXlinkExpiry <em>Traverse Xlink Expiry</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Traverse Xlink Expiry</em>' attribute.
* @see #getTraverseXlinkExpiry()
* @generated
*/
void setTraverseXlinkExpiry(BigInteger value);
/**
* The format options to be applied to any response to the GetFeature requst.
* <p>
* This property is not part of the standard model but an extension.
* </p>
* @model
*/
Map getFormatOptions();
/**
* Sets the value of the '{@link net.opengis.wfs.GetFeatureType#getFormatOptions <em>Format Options</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Format Options</em>' attribute.
* @see #getFormatOptions()
* @generated
*/
void setFormatOptions(Map value);
/**
* A generic bag of extra information that implementations can use to carry vendor parameters
* <p>
* This property is not part of the standard model but an extension.
* </p>
* @model
*/
Map getMetadata();
/**
* Sets the value of the '{@link net.opengis.wfs.GetFeatureType#getMetadata <em>Metadata</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Metadata</em>' attribute.
* @see #getMetadata()
* @generated
*/
void setMetadata(Map value);
} // GetFeatureType