001: /**
002: * <copyright>
003: * </copyright>
004: *
005: * $Id: QueryType.java 7522 2007-09-12 22:00:10Z saul.farber $
006: */package net.opengis.wfs;
007:
008: import java.net.URI;
009: import java.util.List;
010:
011: import org.eclipse.emf.common.util.EList;
012:
013: import org.eclipse.emf.ecore.EObject;
014:
015: import org.eclipse.emf.ecore.util.FeatureMap;
016: import org.opengis.filter.Filter;
017: import org.opengis.filter.sort.SortBy;
018:
019: /**
020: * <!-- begin-user-doc -->
021: * A representation of the model object '<em><b>Query Type</b></em>'.
022: * <!-- end-user-doc -->
023: *
024: * <!-- begin-model-doc -->
025: *
026: * The Query element is of type QueryType.
027: * <!-- end-model-doc -->
028: *
029: * <p>
030: * The following features are supported:
031: * <ul>
032: * <li>{@link net.opengis.wfs.QueryType#getGroup <em>Group</em>}</li>
033: * <li>{@link net.opengis.wfs.QueryType#getPropertyName <em>Property Name</em>}</li>
034: * <li>{@link net.opengis.wfs.QueryType#getXlinkPropertyName <em>Xlink Property Name</em>}</li>
035: * <li>{@link net.opengis.wfs.QueryType#getFunction <em>Function</em>}</li>
036: * <li>{@link net.opengis.wfs.QueryType#getFilter <em>Filter</em>}</li>
037: * <li>{@link net.opengis.wfs.QueryType#getSortBy <em>Sort By</em>}</li>
038: * <li>{@link net.opengis.wfs.QueryType#getFeatureVersion <em>Feature Version</em>}</li>
039: * <li>{@link net.opengis.wfs.QueryType#getHandle <em>Handle</em>}</li>
040: * <li>{@link net.opengis.wfs.QueryType#getSrsName <em>Srs Name</em>}</li>
041: * <li>{@link net.opengis.wfs.QueryType#getTypeName <em>Type Name</em>}</li>
042: * </ul>
043: * </p>
044: *
045: * @see net.opengis.wfs.WfsPackage#getQueryType()
046: * @model extendedMetaData="name='QueryType' kind='elementOnly'"
047: * @generated
048: */
049: public interface QueryType extends EObject {
050: /**
051: * Returns the value of the '<em><b>Group</b></em>' attribute list.
052: * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
053: * <!-- begin-user-doc -->
054: * <p>
055: * If the meaning of the '<em>Group</em>' attribute list isn't clear,
056: * there really should be more of a description here...
057: * </p>
058: * <!-- end-user-doc -->
059: * @return the value of the '<em>Group</em>' attribute list.
060: * @see net.opengis.wfs.WfsPackage#getQueryType_Group()
061: * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
062: * extendedMetaData="kind='group' name='group:0'"
063: * @generated
064: */
065: FeatureMap getGroup();
066:
067: /**
068: * Returns the value of the '<em><b>Property Name</b></em>' attribute.
069: * <!-- begin-user-doc -->
070: * <!-- end-user-doc -->
071: * <!-- begin-model-doc -->
072: *
073: * The Property element is used to specify one or more
074: * properties of a feature whose values are to be retrieved
075: * by a Web Feature Service.
076: *
077: * While a Web Feature Service should endeavour to satisfy
078: * the exact request specified, in some instance this may
079: * not be possible. Specifically, a Web Feature Service
080: * must generate a valid GML3 response to a Query operation.
081: * The schema used to generate the output may include
082: * properties that are mandatory. In order that the output
083: * validates, these mandatory properties must be specified
084: * in the request. If they are not, a Web Feature Service
085: * may add them automatically to the Query before processing
086: * it. Thus a client application should, in general, be
087: * prepared to receive more properties than it requested.
088: *
089: * Of course, using the DescribeFeatureType request, a client
090: * application can determine which properties are mandatory
091: * and request them in the first place.
092: * <!-- end-model-doc -->
093: * @return the value of the '<em>Property Name</em>' attribute.
094: * @see #setPropertyName(String)
095: * @see net.opengis.wfs.WFSPackage#getQueryType_PropertyName()
096: * @model type="java.lang.String"
097: */
098: EList getPropertyName();
099:
100: /**
101: * Returns the value of the '<em><b>Xlink Property Name</b></em>' containment reference list.
102: * The list contents are of type {@link net.opengis.wfs.XlinkPropertyNameType}.
103: * <!-- begin-user-doc -->
104: * <p>
105: * If the meaning of the '<em>Xlink Property Name</em>' containment reference list isn't clear,
106: * there really should be more of a description here...
107: * </p>
108: * <!-- end-user-doc -->
109: * @return the value of the '<em>Xlink Property Name</em>' containment reference list.
110: * @see net.opengis.wfs.WfsPackage#getQueryType_XlinkPropertyName()
111: * @model type="net.opengis.wfs.XlinkPropertyNameType" containment="true" transient="true" volatile="true" derived="true"
112: * extendedMetaData="kind='element' name='XlinkPropertyName' namespace='##targetNamespace' group='#group:0'"
113: * @generated
114: */
115: EList getXlinkPropertyName();
116:
117: /**
118: * Returns the value of the '<em><b>Function</b></em>' attribute list.
119: * The list contents are of type {@link java.lang.Object}.
120: * <!-- begin-user-doc -->
121: * <!-- end-user-doc -->
122: * <!-- begin-model-doc -->
123: *
124: * A function may be used as a select item in a query.
125: * However, if a function is used, care must be taken
126: * to ensure that the result type matches the type in the
127: *
128: *
129: * <!-- end-model-doc -->
130: * @return the value of the '<em>Function</em>' attribute list.
131: * @see net.opengis.wfs.WFSPackage#getQueryType_Function()
132: * @model type="org.opengis.filter.expression.Function"
133: */
134: EList getFunction();
135:
136: /**
137: * Returns the value of the '<em><b>Filter</b></em>' attribute.
138: * <!-- begin-user-doc -->
139: * <!-- end-user-doc -->
140: * <!-- begin-model-doc -->
141: *
142: * The Filter element is used to define spatial and/or non-spatial
143: * constraints on query. Spatial constrains use GML3 to specify
144: * the constraining geometry. A full description of the Filter
145: * element can be found in the Filter Encoding Implementation
146: * Specification.
147: *
148: * <!-- end-model-doc -->
149: * @return the value of the '<em>Filter</em>' attribute.
150: * @see #setFilter(Object)
151: * @see net.opengis.wfs.WFSPackage#getQueryType_Filter()
152: * @model
153: */
154: Filter getFilter();
155:
156: /**
157: * Sets the value of the '{@link net.opengis.wfs.QueryType#getFilter <em>Filter</em>}' attribute.
158: * <!-- begin-user-doc -->
159: * <!-- end-user-doc -->
160: * @param value the new value of the '<em>Filter</em>' attribute.
161: * @see #getFilter()
162: * @generated
163: */
164: void setFilter(Filter value);
165:
166: /**
167: * Returns the value of the '<em><b>Sort By</b></em>' attribute.
168: * <!-- begin-user-doc -->
169: * <!-- end-user-doc -->
170: * <!-- begin-model-doc -->
171: *
172: * The SortBy element is used specify property names whose
173: * values should be used to order (upon presentation) the
174: * set of feature instances that satisfy the query.
175: *
176: * <!-- end-model-doc -->
177: * @return the value of the '<em>Sort By</em>' attribute.
178: * @see #setSortBy(Object)
179: * @see net.opengis.wfs.WFSPackage#getQueryType_SortBy()
180: * @model type="org.opengis.filter.sort.SortBy"
181: */
182: EList getSortBy();
183:
184: /**
185: * Returns the value of the '<em><b>Feature Version</b></em>' attribute.
186: * <!-- begin-user-doc -->
187: * <!-- end-user-doc -->
188: * <!-- begin-model-doc -->
189: *
190: * For systems that implement versioning, the featureVersion
191: * attribute is used to specify which version of a particular
192: * feature instance is to be retrieved. A value of ALL means
193: * that all versions should be retrieved. An integer value
194: * 'i', means that the ith version should be retrieve if it
195: * exists or the most recent version otherwise.
196: * <!-- end-model-doc -->
197: * @return the value of the '<em>Feature Version</em>' attribute.
198: * @see #setFeatureVersion(String)
199: * @see net.opengis.wfs.WfsPackage#getQueryType_FeatureVersion()
200: * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
201: * extendedMetaData="kind='attribute' name='featureVersion'"
202: * @generated
203: */
204: String getFeatureVersion();
205:
206: /**
207: * Sets the value of the '{@link net.opengis.wfs.QueryType#getFeatureVersion <em>Feature Version</em>}' attribute.
208: * <!-- begin-user-doc -->
209: * <!-- end-user-doc -->
210: * @param value the new value of the '<em>Feature Version</em>' attribute.
211: * @see #getFeatureVersion()
212: * @generated
213: */
214: void setFeatureVersion(String value);
215:
216: /**
217: * Returns the value of the '<em><b>Handle</b></em>' attribute.
218: * <!-- begin-user-doc -->
219: * <!-- end-user-doc -->
220: * <!-- begin-model-doc -->
221: *
222: * The handle attribute allows a client application
223: * to assign a client-generated identifier for the
224: * Query. The handle is included to facilitate error
225: * reporting. If one Query in a GetFeature request
226: * causes an exception, a WFS may report the handle
227: * to indicate which query element failed. If the a
228: * handle is not present, the WFS may use other means
229: * to localize the error (e.g. line numbers).
230: * <!-- end-model-doc -->
231: * @return the value of the '<em>Handle</em>' attribute.
232: * @see #setHandle(String)
233: * @see net.opengis.wfs.WfsPackage#getQueryType_Handle()
234: * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String"
235: * extendedMetaData="kind='attribute' name='handle'"
236: * @generated
237: */
238: String getHandle();
239:
240: /**
241: * Sets the value of the '{@link net.opengis.wfs.QueryType#getHandle <em>Handle</em>}' attribute.
242: * <!-- begin-user-doc -->
243: * <!-- end-user-doc -->
244: * @param value the new value of the '<em>Handle</em>' attribute.
245: * @see #getHandle()
246: * @generated
247: */
248: void setHandle(String value);
249:
250: /**
251: * Returns the value of the '<em><b>Srs Name</b></em>' attribute.
252: * <!-- begin-user-doc -->
253: * <!-- end-user-doc -->
254: * <!-- begin-model-doc -->
255: *
256: * This attribute is used to specify a specific WFS-supported SRS
257: * that should be used for returned feature geometries. The value
258: * may be the WFS StorageSRS value, DefaultRetrievalSRS value, or
259: * one of AdditionalSRS values. If no srsName value is supplied,
260: * then the features will be returned using either the
261: * DefaultRetrievalSRS, if specified, and StorageSRS otherwise.
262: * For feature types with no spatial properties, this attribute
263: * must not be specified or ignored if it is specified.
264: *
265: * <!-- end-model-doc -->
266: * @return the value of the '<em>Srs Name</em>' attribute.
267: * @see #setSrsName(String)
268: * @see net.opengis.wfs.WFSPackage#getQueryType_SrsName()
269: * @model
270: */
271: URI getSrsName();
272:
273: /**
274: * Sets the value of the '{@link net.opengis.wfs.QueryType#getSrsName <em>Srs Name</em>}' attribute.
275: * <!-- begin-user-doc -->
276: * <!-- end-user-doc -->
277: * @param value the new value of the '<em>Srs Name</em>' attribute.
278: * @see #getSrsName()
279: * @generated
280: */
281: void setSrsName(URI value);
282:
283: /**
284: * Returns the value of the '<em><b>Type Name</b></em>' attribute.
285: * <!-- begin-user-doc -->
286: * <!-- end-user-doc -->
287: * <!-- begin-model-doc -->
288: *
289: * The typeName attribute is a list of one or more
290: * feature type names that indicate which types
291: * of feature instances should be included in the
292: * reponse set. Specifying more than one typename
293: * indicates that a join operation is being performed.
294: * All the names in the typeName list must be valid
295: * types that belong to this query's feature content
296: * as defined by the GML Application Schema.
297: * <!-- end-model-doc -->
298: * @return the value of the '<em>Type Name</em>' attribute.
299: * @see #setTypeName(List)
300: * @see net.opengis.wfs.WfsPackage#getQueryType_TypeName()
301: * @model unique="false" dataType="net.opengis.wfs.TypeNameListType" required="true" many="false"
302: * extendedMetaData="kind='attribute' name='typeName'"
303: * @generated
304: */
305: List getTypeName();
306:
307: /**
308: * Sets the value of the '{@link net.opengis.wfs.QueryType#getTypeName <em>Type Name</em>}' attribute.
309: * <!-- begin-user-doc -->
310: * <!-- end-user-doc -->
311: * @param value the new value of the '<em>Type Name</em>' attribute.
312: * @see #getTypeName()
313: * @generated
314: */
315: void setTypeName(List value);
316:
317: } // QueryType
|