Statistics
| Revision:

svn-gvsig-desktop / branches / v05 / extensions / extWMS / src / com / iver / cit / gvsig / fmap / layers / IFMapWMSDimension.java @ 3855

History | View | Annotate | Download (5.56 KB)

1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2005 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 *
19
 * For more information, contact:
20
 *
21
 *  Generalitat Valenciana
22
 *   Conselleria d'Infraestructures i Transport
23
 *   Av. Blasco Ib??ez, 50
24
 *   46010 VALENCIA
25
 *   SPAIN
26
 *
27
 *      +34 963862235
28
 *   gvsig@gva.es
29
 *      www.gvsig.gva.es
30
 *
31
 *    or
32
 *
33
 *   IVER T.I. S.A
34
 *   Salamanca 50
35
 *   46005 Valencia
36
 *   Spain
37
 *
38
 *   +34 963163400
39
 *   dac@iver.es
40
 */
41

    
42
/* CVS MESSAGES:
43
*
44
* $Id: IFMapWMSDimension.java 3855 2006-01-31 16:25:24Z jaume $
45
* $Log$
46
* Revision 1.2.2.3  2006-01-31 16:25:24  jaume
47
* correcciones de bugs
48
*
49
* Revision 1.3  2006/01/26 16:07:14  jaume
50
* *** empty log message ***
51
*
52
* Revision 1.2.2.1  2006/01/26 12:59:32  jaume
53
* 0.5
54
*
55
* Revision 1.2  2006/01/24 14:36:33  jaume
56
* This is the new version
57
*
58
* Revision 1.1.2.8  2006/01/23 12:54:45  jaume
59
* *** empty log message ***
60
*
61
* Revision 1.1.2.7  2006/01/20 15:22:46  jaume
62
* *** empty log message ***
63
*
64
* Revision 1.1.2.6  2006/01/19 16:09:30  jaume
65
* *** empty log message ***
66
*
67
* Revision 1.1.2.5  2006/01/10 11:33:31  jaume
68
* Time dimension working against Jet Propulsion Laboratory's WMS server
69
*
70
* Revision 1.1.2.4  2006/01/05 23:15:53  jaume
71
* *** empty log message ***
72
*
73
* Revision 1.1.2.3  2006/01/04 18:09:02  jaume
74
* Time dimension
75
*
76
* Revision 1.1.2.2  2006/01/04 16:49:44  jaume
77
* Time dimensios
78
*
79
* Revision 1.1.2.1  2006/01/03 18:08:40  jaume
80
* *** empty log message ***
81
*
82
*
83
*/
84
/**
85
 * 
86
 */
87
package com.iver.cit.gvsig.fmap.layers;
88

    
89
/**
90
 * 
91
 * @author jaume
92
 *
93
 */
94
public interface IFMapWMSDimension {
95
        public static int SINGLE_VALUE = 0;
96
        public static int MULTIPLE_VALUE = 1;
97
        public static int INTERVAL = 2;
98
    /**
99
     * Return the dimension's name. This value is the value that will be used in
100
     * a GetMap request.
101
     * 
102
     * @return String containing the name of this dimension.
103
     */
104
    public String getName();
105
    /**
106
     * Return the unit used by this dimension.
107
     * @return
108
     */
109
    public String getUnit();
110
    /**
111
     * Returns the unit symbol (i.e. 'm', 's', or 'l' for meters, seconds, or liters respectively) 
112
     * @return
113
     */
114
    public String getUnitSymbol();
115
    
116
    
117
    /**
118
     * This method returns the <b>lowest</b> value of this dimension if this dimension is
119
     * specified as an interval or as a set of values, or the value specified if it
120
     * was a single value. 
121
     * @return String containing the coded value.
122
     */
123
    public String getLowLimit();
124

    
125
    /**
126
     * This method returns the <b>highest</b> value of this dimension if this dimension is
127
     * specified as an interval or as a set of values, or the value specified if it
128
     * was a single value. 
129
     * @return String containing the coded value.
130
     */
131
    public String getHighLimit();
132
    
133
    /**
134
     * This method returns the resolution supported by this dimension. This
135
     * means the step lenght between two consecutive points along the
136
     * dimension's axis. 
137
     * @return String containing the coded value, or null if no value for resolution.
138
     */
139
    public String getResolution();
140
    
141
    /**
142
     * Checks if the value represented as string is a valid value by checking
143
     * if the dimensions supports it. It should be true if one of the following is
144
     * true:
145
     * <p>
146
     * <ol> 
147
     * <li>
148
     *  The dimension <b>supports nearest values</b> and <b>the value is greather
149
     *  or  equal than the low limit</b> and <b>less or equal than the high limit</b>.  
150
     *  </li>
151
     *  <li>
152
     *  The value matches in one of the points defined by the low and high limits, and
153
     *  the resolution value.
154
     *  </li>
155
     * </ol>
156
     * </p>
157
     * @param value
158
     * @return
159
     */
160
    public boolean isValidValue(String value);
161
    
162
    /**
163
     * Return the value of the String passed in the dimension's unit-natural type.
164
     * @param value
165
     * @return
166
     */
167
    public Object valueOf(String value) throws IllegalArgumentException;
168
    
169
    /**
170
     * Returns the value that would be at the position passed as argument.
171
     * @param pos
172
     * @return
173
     * @throws ArrayIndexOutOfBoundsException
174
     */
175
    public String valueAt(int pos) throws ArrayIndexOutOfBoundsException;
176
    
177
    /**
178
     * The amount of positions that this dimension contains.
179
     * @return
180
     */
181
    public int valueCount();
182
    
183
    /**
184
     * Returns the expression describing this WMS Dimension
185
     */
186
    public String getExpression();
187
    
188
    /**
189
     * Sets the expression describing this WMS Dimension
190
     * @throws IllegalArgumentException
191
     */
192
    public void setExpression(String expr) throws IllegalArgumentException;
193
    
194
    /**
195
         * Returns the type of the dimension expression.<br>
196
         * Possible values are:
197
         * <ol>
198
         *         <li>
199
         *                 <b>IFMapWMSDimension.SINGLE_VALUE</b>
200
         *                 <b>IFMapWMSDimension.MULTIPLE_VALUE</b>
201
         *                 <b>IFMapWMSDimension.INTERVAL</b>
202
         *         </li>
203
         * </ol>
204
         * @return int
205
         */
206
    public int getType();
207
}