/** * <copyright> * </copyright> * * $Id$ */ package net.opengis.wfs; import java.net.URI; import java.util.List; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.util.FeatureMap; import org.opengis.filter.Filter; import org.opengis.filter.sort.SortBy; /** * <!-- begin-user-doc --> * A representation of the model object '<em><b>Query Type</b></em>'. * <!-- end-user-doc --> * * <!-- begin-model-doc --> * * The Query element is of type QueryType. * <!-- end-model-doc --> * * <p> * The following features are supported: * <ul> * <li>{@link net.opengis.wfs.QueryType#getGroup <em>Group</em>}</li> * <li>{@link net.opengis.wfs.QueryType#getPropertyName <em>Property Name</em>}</li> * <li>{@link net.opengis.wfs.QueryType#getXlinkPropertyName <em>Xlink Property Name</em>}</li> * <li>{@link net.opengis.wfs.QueryType#getFunction <em>Function</em>}</li> * <li>{@link net.opengis.wfs.QueryType#getFilter <em>Filter</em>}</li> * <li>{@link net.opengis.wfs.QueryType#getSortBy <em>Sort By</em>}</li> * <li>{@link net.opengis.wfs.QueryType#getFeatureVersion <em>Feature Version</em>}</li> * <li>{@link net.opengis.wfs.QueryType#getHandle <em>Handle</em>}</li> * <li>{@link net.opengis.wfs.QueryType#getSrsName <em>Srs Name</em>}</li> * <li>{@link net.opengis.wfs.QueryType#getTypeName <em>Type Name</em>}</li> * </ul> * </p> * * @see net.opengis.wfs.WfsPackage#getQueryType() * @model extendedMetaData="name='QueryType' kind='elementOnly'" * @generated */ public interface QueryType extends EObject { /** * Returns the value of the '<em><b>Group</b></em>' attribute list. * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Group</em>' attribute list isn't clear, * there really should be more of a description here... * </p> * <!-- end-user-doc --> * @return the value of the '<em>Group</em>' attribute list. * @see net.opengis.wfs.WfsPackage#getQueryType_Group() * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true" * extendedMetaData="kind='group' name='group:0'" * @generated */ FeatureMap getGroup(); /** * Returns the value of the '<em><b>Property Name</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * * The Property element is used to specify one or more * properties of a feature whose values are to be retrieved * by a Web Feature Service. * * While a Web Feature Service should endeavour to satisfy * the exact request specified, in some instance this may * not be possible. Specifically, a Web Feature Service * must generate a valid GML3 response to a Query operation. * The schema used to generate the output may include * properties that are mandatory. In order that the output * validates, these mandatory properties must be specified * in the request. If they are not, a Web Feature Service * may add them automatically to the Query before processing * it. Thus a client application should, in general, be * prepared to receive more properties than it requested. * * Of course, using the DescribeFeatureType request, a client * application can determine which properties are mandatory * and request them in the first place. * <!-- end-model-doc --> * @return the value of the '<em>Property Name</em>' attribute. * @see #setPropertyName(String) * @see net.opengis.wfs.WFSPackage#getQueryType_PropertyName() * @model type="java.lang.String" */ EList getPropertyName(); /** * Returns the value of the '<em><b>Xlink Property Name</b></em>' containment reference list. * The list contents are of type {@link net.opengis.wfs.XlinkPropertyNameType}. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Xlink Property Name</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>Xlink Property Name</em>' containment reference list. * @see net.opengis.wfs.WfsPackage#getQueryType_XlinkPropertyName() * @model type="net.opengis.wfs.XlinkPropertyNameType" containment="true" transient="true" volatile="true" derived="true" * extendedMetaData="kind='element' name='XlinkPropertyName' namespace='##targetNamespace' group='#group:0'" * @generated */ EList getXlinkPropertyName(); /** * Returns the value of the '<em><b>Function</b></em>' attribute list. * The list contents are of type {@link java.lang.Object}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * * A function may be used as a select item in a query. * However, if a function is used, care must be taken * to ensure that the result type matches the type in the * * * <!-- end-model-doc --> * @return the value of the '<em>Function</em>' attribute list. * @see net.opengis.wfs.WFSPackage#getQueryType_Function() * @model type="org.opengis.filter.expression.Function" */ EList getFunction(); /** * Returns the value of the '<em><b>Filter</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * * The Filter element is used to define spatial and/or non-spatial * constraints on query. Spatial constrains use GML3 to specify * the constraining geometry. A full description of the Filter * element can be found in the Filter Encoding Implementation * Specification. * * <!-- end-model-doc --> * @return the value of the '<em>Filter</em>' attribute. * @see #setFilter(Object) * @see net.opengis.wfs.WFSPackage#getQueryType_Filter() * @model */ Filter getFilter(); /** * Sets the value of the '{@link net.opengis.wfs.QueryType#getFilter <em>Filter</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Filter</em>' attribute. * @see #getFilter() * @generated */ void setFilter(Filter value); /** * Returns the value of the '<em><b>Sort By</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * * The SortBy element is used specify property names whose * values should be used to order (upon presentation) the * set of feature instances that satisfy the query. * * <!-- end-model-doc --> * @return the value of the '<em>Sort By</em>' attribute. * @see #setSortBy(Object) * @see net.opengis.wfs.WFSPackage#getQueryType_SortBy() * @model type="org.opengis.filter.sort.SortBy" */ EList getSortBy(); /** * Returns the value of the '<em><b>Feature Version</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * * For systems that implement versioning, the featureVersion * attribute is used to specify which version of a particular * feature instance is to be retrieved. A value of ALL means * that all versions should be retrieved. An integer value * 'i', means that the ith version should be retrieve if it * exists or the most recent version otherwise. * <!-- end-model-doc --> * @return the value of the '<em>Feature Version</em>' attribute. * @see #setFeatureVersion(String) * @see net.opengis.wfs.WfsPackage#getQueryType_FeatureVersion() * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" * extendedMetaData="kind='attribute' name='featureVersion'" * @generated */ String getFeatureVersion(); /** * Sets the value of the '{@link net.opengis.wfs.QueryType#getFeatureVersion <em>Feature Version</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Feature Version</em>' attribute. * @see #getFeatureVersion() * @generated */ void setFeatureVersion(String value); /** * Returns the value of the '<em><b>Handle</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * * The handle attribute allows a client application * to assign a client-generated identifier for the * Query. The handle is included to facilitate error * reporting. If one Query in a GetFeature request * causes an exception, a WFS may report the handle * to indicate which query element failed. If the a * handle is not present, the WFS may use other means * to localize the error (e.g. line numbers). * <!-- end-model-doc --> * @return the value of the '<em>Handle</em>' attribute. * @see #setHandle(String) * @see net.opengis.wfs.WfsPackage#getQueryType_Handle() * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" * extendedMetaData="kind='attribute' name='handle'" * @generated */ String getHandle(); /** * Sets the value of the '{@link net.opengis.wfs.QueryType#getHandle <em>Handle</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Handle</em>' attribute. * @see #getHandle() * @generated */ void setHandle(String value); /** * Returns the value of the '<em><b>Srs Name</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * * This attribute is used to specify a specific WFS-supported SRS * that should be used for returned feature geometries. The value * may be the WFS StorageSRS value, DefaultRetrievalSRS value, or * one of AdditionalSRS values. If no srsName value is supplied, * then the features will be returned using either the * DefaultRetrievalSRS, if specified, and StorageSRS otherwise. * For feature types with no spatial properties, this attribute * must not be specified or ignored if it is specified. * * <!-- end-model-doc --> * @return the value of the '<em>Srs Name</em>' attribute. * @see #setSrsName(String) * @see net.opengis.wfs.WFSPackage#getQueryType_SrsName() * @model */ URI getSrsName(); /** * Sets the value of the '{@link net.opengis.wfs.QueryType#getSrsName <em>Srs Name</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Srs Name</em>' attribute. * @see #getSrsName() * @generated */ void setSrsName(URI value); /** * Returns the value of the '<em><b>Type Name</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * <!-- begin-model-doc --> * * The typeName attribute is a list of one or more * feature type names that indicate which types * of feature instances should be included in the * reponse set. Specifying more than one typename * indicates that a join operation is being performed. * All the names in the typeName list must be valid * types that belong to this query's feature content * as defined by the GML Application Schema. * <!-- end-model-doc --> * @return the value of the '<em>Type Name</em>' attribute. * @see #setTypeName(List) * @see net.opengis.wfs.WfsPackage#getQueryType_TypeName() * @model unique="false" dataType="net.opengis.wfs.TypeNameListType" required="true" many="false" * extendedMetaData="kind='attribute' name='typeName'" * @generated */ List getTypeName(); /** * Sets the value of the '{@link net.opengis.wfs.QueryType#getTypeName <em>Type Name</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Type Name</em>' attribute. * @see #getTypeName() * @generated */ void setTypeName(List value); } // QueryType