01: /*
02: * GeoTools - OpenSource mapping toolkit
03: * http://geotools.org
04: * (C) 2004-2006, Geotools Project Managment Committee (PMC)
05: *
06: * This library is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public
08: * License as published by the Free Software Foundation; either
09: * version 2.1 of the License, or (at your option) any later version.
10: *
11: * This library is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: * Lesser General Public License for more details.
15: */
16: package org.geotools.data.wms.request;
17:
18: import java.util.Set;
19:
20: import org.geotools.data.ows.Layer;
21: import org.geotools.data.ows.Request;
22:
23: /**
24: * Information required for a GetFeatureInfo request.
25:
26: * <p>
27: * Q: queryableLayers is a Set - is this true? Or is order important Q:
28: * infoFormats - what does this do? Do these match up with querableLayers? Or
29: * is it a list of formats our client is willing to understand?
30: * </p>
31: *
32: * @author Richard Gould, Refractions Research
33: * @source $URL: http://svn.geotools.org/geotools/tags/2.4.1/modules/plugin/wms/src/main/java/org/geotools/data/wms/request/GetFeatureInfoRequest.java $
34: */
35: public interface GetFeatureInfoRequest extends Request {
36: /** Represents the INFO_FORMAT parameter */
37: public static final String INFO_FORMAT = "INFO_FORMAT"; //$NON-NLS-1$
38: /** Represents the FEATURE_COUNT parameter */
39: public static final String FEATURE_COUNT = "FEATURE_COUNT"; //$NON-NLS-1$
40: /** Represents the X parameter */
41: public static final String QUERY_X = "X"; //$NON-NLS-1$
42: /** Represents the Y parameter */
43: public static final String QUERY_Y = "Y"; //$NON-NLS-1$
44: /** Represents the QUERY_LAYERS parameter */
45: public static final String QUERY_LAYERS = "QUERY_LAYERS"; //$NON-NLS-1$
46:
47: /**
48: * An unordered set of type Layer. These are the layers that the
49: * GetFeatureInfo request will be performed on.
50: *
51: * @param layers A Set of type Layer, each to be queried
52: */
53: public void setQueryLayers(Set layers);
54:
55: /**
56: * Add a Layer to the set of layers to be queried in the request.
57: * This Layer must have queryable set to true.
58: *
59: * @param layer a queryable Layer
60: */
61: public void addQueryLayer(Layer layer);
62:
63: /**
64: * Sets the INFO_FORMAT parameter, which specifies the format of the
65: * GetFeatureInfoResponse. Valid values are available in getInfoFormats()
66: *
67: * @param infoFormat a value from getInfoFormats()
68: */
69: public void setInfoFormat(String infoFormat);
70:
71: /**
72: * @param featureCount the maximum number of features to return in the response
73: */
74: public void setFeatureCount(String featureCount);
75:
76: /**
77: * @param featureCount the maximum number of features to return in the response
78: */
79: public void setFeatureCount(int featureCount);
80:
81: /**
82: * The point on the image (in pixels) to be queried. The image is
83: * represented by the GetMapRequest passed into the constructor.
84: *
85: * @param x the x point, in pixels
86: * @param y the y point, in pixels
87: */
88: public void setQueryPoint(int x, int y);
89: }
|