Statistics
| Revision:

root / trunk / libraries / libGPE / src / org / gvsig / gpe / parser / GPEContentHandler.java @ 21998

History | View | Annotate | Download (15.7 KB)

1
package org.gvsig.gpe.parser;
2

    
3
import org.gvsig.gpe.warnings.FeatureNotSupportedWarning;
4
import org.gvsig.xmlschema.som.IXSSchemaDocument;
5
import org.gvsig.xmlschema.som.impl.XSSchemaDocumentImpl;
6

    
7
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
8
 *
9
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
10
 *
11
 * This program is free software; you can redistribute it and/or
12
 * modify it under the terms of the GNU General Public License
13
 * as published by the Free Software Foundation; either version 2
14
 * of the License, or (at your option) any later version.
15
 *
16
 * This program is distributed in the hope that it will be useful,
17
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19
 * GNU General Public License for more details.
20
 *
21
 * You should have received a copy of the GNU General Public License
22
 * along with this program; if not, write to the Free Software
23
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
24
 *
25
 * For more information, contact:
26
 *
27
 *  Generalitat Valenciana
28
 *   Conselleria d'Infraestructures i Transport
29
 *   Av. Blasco Ib??ez, 50
30
 *   46010 VALENCIA
31
 *   SPAIN
32
 *
33
 *      +34 963862235
34
 *   gvsig@gva.es
35
 *      www.gvsig.gva.es
36
 *
37
 *    or
38
 *
39
 *   IVER T.I. S.A
40
 *   Salamanca 50
41
 *   46005 Valencia
42
 *   Spain
43
 *
44
 *   +34 963163400
45
 *   dac@iver.es
46
 */
47
/* CVS MESSAGES:
48
 *
49
 * $Id: GPEContentHandler.java 202 2007-11-27 12:00:11Z jpiera $
50
 * $Log$
51
 * Revision 1.17  2007/06/20 09:35:37  jorpiell
52
 * Add the javadoc comments
53
 *
54
 * Revision 1.16  2007/06/19 10:34:51  jorpiell
55
 * Add some comments and creates a warning when an operation is not supported
56
 *
57
 * Revision 1.15  2007/06/14 13:50:06  jorpiell
58
 * The schema jar name has been changed
59
 *
60
 * Revision 1.14  2007/06/07 14:52:28  jorpiell
61
 * Add the schema support
62
 *
63
 * Revision 1.13  2007/05/15 12:09:18  jorpiell
64
 * The bbox is linked to the feature
65
 *
66
 * Revision 1.12  2007/05/09 10:25:45  jorpiell
67
 * Add the multiGeometries
68
 *
69
 * Revision 1.11  2007/05/07 12:57:55  jorpiell
70
 * Add some methods to manage the multigeometries
71
 *
72
 * Revision 1.10  2007/04/19 07:23:20  jorpiell
73
 * Add the add methods to teh contenhandler and change the register mode
74
 *
75
 * Revision 1.9  2007/04/18 12:48:16  jorpiell
76
 * The ID attribute is always on the first position
77
 *
78
 * Revision 1.8  2007/04/18 10:46:23  jorpiell
79
 * bbox para from tyhe starLayer method deleted
80
 *
81
 * Revision 1.7  2007/04/18 10:43:24  jorpiell
82
 * Eliminados los Object de la interfaz
83
 *
84
 * Revision 1.6  2007/04/17 07:53:55  jorpiell
85
 * Before to start a new parsing process, the initialize method of the content handlers is throwed
86
 *
87
 * Revision 1.5  2007/04/14 16:06:13  jorpiell
88
 * The writer handler has been updated
89
 *
90
 * Revision 1.4  2007/04/13 13:14:55  jorpiell
91
 * Created the base tests and add some methods to the content handler
92
 *
93
 * Revision 1.3  2007/04/12 17:06:42  jorpiell
94
 * First GML writing tests
95
 *
96
 * Revision 1.2  2007/04/11 13:04:51  jorpiell
97
 * Add the srs param to the addLayer method
98
 *
99
 * Revision 1.1  2007/04/11 08:46:21  csanchez
100
 * Actualizacion protoripo libGPE
101
 *
102
 *
103
 */
104
/**
105
 * This class is a common implementation for all
106
 * the application content handlers. It has an attribute
107
 * with the geographical file schema. It has a default
108
 * implementation for all the methods defined by the 
109
 * IGPEContentHandler.
110
 * @author Jorge Piera Llodr? (jorge.piera@iver.es)
111
 * @author Carlos S?nchez Peri??n (sanchez_carper@gva.es)
112
 */
113
public abstract class GPEContentHandler implements IGPEContentHandler {
114
        private IGPEErrorHandler errorHandler = null;
115
        
116
        /**
117
         * @return the errorHandler
118
         */
119
        public IGPEErrorHandler getErrorHandler() {
120
                return errorHandler;
121
        }
122

    
123
        /**
124
         * @param errorHandler the errorHandler to set
125
         */
126
        public void setErrorHandler(IGPEErrorHandler errorHandler) {
127
                this.errorHandler = errorHandler;
128
        }
129

    
130
        /*
131
         * (non-Javadoc)
132
         * @see org.gvsig.gpe.IGPEContentHandler#addBboxToFeature(java.lang.Object, java.lang.Object)
133
         */
134
        public void addBboxToFeature(Object bbox, Object feature) {
135
                addNotSupportedWarning(FeatureNotSupportedWarning.FEATUEWITHBBOX);                
136
        }
137

    
138
        /*
139
         * (non-Javadoc)
140
         * @see org.gvsig.gpe.IGPEContentHandler#addBboxToLayer(java.lang.Object, java.lang.Object)
141
         */
142
        public void addBboxToLayer(Object bbox, Object layer) {
143
                addNotSupportedWarning(FeatureNotSupportedWarning.LAYERWITHBBOX);                                
144
        }
145

    
146
        /*
147
         * (non-Javadoc)
148
         * @see org.gvsig.gpe.IGPEContentHandler#addDescriptionToLayer(java.lang.String, java.lang.Object)
149
         */
150
        public void addDescriptionToLayer(String description, Object layer) {
151
                addNotSupportedWarning(FeatureNotSupportedWarning.LAYERWITHDESCRIPTION);                                
152
        }
153

    
154
        /*
155
         * (non-Javadoc)
156
         * @see org.gvsig.gpe.IGPEContentHandler#addElementToFeature(java.lang.Object, java.lang.Object)
157
         */
158
        public void addElementToFeature(Object element, Object feature) {
159
                addNotSupportedWarning(FeatureNotSupportedWarning.FEATUREWITHELEMENTS);                                
160
        }
161

    
162
        /*
163
         * (non-Javadoc)
164
         * @see org.gvsig.gpe.IGPEContentHandler#addFeatureToLayer(java.lang.Object, java.lang.Object)
165
         */
166
        public void addFeatureToLayer(Object feature, Object layer) {
167
                addNotSupportedWarning(FeatureNotSupportedWarning.LAYERWITHFEATURES);
168
        }
169

    
170
        /*
171
         * (non-Javadoc)
172
         * @see org.gvsig.gpe.IGPEContentHandler#addGeometryToFeature(java.lang.Object, java.lang.Object)
173
         */
174
        public void addGeometryToFeature(Object geometry, Object feature) {
175
                addNotSupportedWarning(FeatureNotSupportedWarning.FEATUREWITHGEOMETRY);
176
        }
177

    
178
        /*
179
         * (non-Javadoc)
180
         * @see org.gvsig.gpe.IGPEContentHandler#addInnerPolygonToPolygon(java.lang.Object, java.lang.Object)
181
         */
182
        public void addInnerPolygonToPolygon(Object innerPolygon, Object Polygon) {
183
                addNotSupportedWarning(FeatureNotSupportedWarning.POLYGONWITHINNERPOLYGON);
184
        }
185

    
186
        /*
187
         * (non-Javadoc)
188
         * @see org.gvsig.gpe.IGPEContentHandler#addNameToFeature(java.lang.String, java.lang.Object)
189
         */
190
        public void addNameToFeature(String name, Object feature) {
191
                addNotSupportedWarning(FeatureNotSupportedWarning.FEATUREWITHNAME);
192
        }
193

    
194
        /*
195
         * (non-Javadoc)
196
         * @see org.gvsig.gpe.IGPEContentHandler#addNameToLayer(java.lang.String, java.lang.Object)
197
         */
198
        public void addNameToLayer(String name, Object layer) {
199
                addNotSupportedWarning(FeatureNotSupportedWarning.LAYERWITHNAME);
200
        }
201

    
202
        /*
203
         * (non-Javadoc)
204
         * @see org.gvsig.gpe.IGPEContentHandler#addParentElementToElement(java.lang.Object, java.lang.Object)
205
         */
206
        public void addParentElementToElement(Object parent, Object element) {
207
                addNotSupportedWarning(FeatureNotSupportedWarning.ELEMENTWITHCHILDREN);
208
        }
209
        
210
        
211
        /*
212
         * (non-Javadoc)
213
         * @see org.gvsig.gpe.IGPEContentHandler#addParentLayerToLayer(java.lang.Object, java.lang.Object)
214
         */
215
        public void addParentLayerToLayer(Object parent, Object layer) {
216
                addNotSupportedWarning(FeatureNotSupportedWarning.LAYERWITHCHILDREN);
217
        }
218

    
219
        /*
220
         * (non-Javadoc)
221
         * @see org.gvsig.gpe.IGPEContentHandler#addSrsToLayer(java.lang.String, java.lang.Object)
222
         */
223
        public void addSrsToLayer(String srs, Object Layer) {
224
                addNotSupportedWarning(FeatureNotSupportedWarning.LAYERWITHSRS);
225
        }
226

    
227
        /*
228
         * (non-Javadoc)
229
         * @see org.gvsig.gpe.IGPEContentHandler#endBbox(java.lang.Object)
230
         */
231
        public void endBbox(Object bbox) {
232
                                
233
        }
234

    
235
        /*
236
         * (non-Javadoc)
237
         * @see org.gvsig.gpe.IGPEContentHandler#endElement(java.lang.Object)
238
         */
239
        public void endElement(Object element) {
240
                
241
        }
242
        
243
        /*
244
         * (non-Javadoc)
245
         * @see org.gvsig.gpe.IGPEContentHandler#endFeature(java.lang.Object)
246
         */
247
        public void endFeature(Object feature) {
248
                
249
        }
250

    
251
        /*
252
         * (non-Javadoc)
253
         * @see org.gvsig.gpe.IGPEContentHandler#endInnerPolygon(java.lang.Object)
254
         */
255
        public void endInnerPolygon(Object innerPolygon) {
256
                
257
        }
258
        
259
        /*
260
         * (non-Javadoc)
261
         * @see org.gvsig.gpe.IGPEContentHandler#endLayer(java.lang.Object)
262
         */
263
        public void endLayer(Object layer) {
264
                
265
        }
266

    
267
        /*
268
         * (non-Javadoc)
269
         * @see org.gvsig.gpe.IGPEContentHandler#endLineString(java.lang.Object)
270
         */
271
        public void endLineString(Object lineString) {
272
                
273
        }
274

    
275
        /*
276
         * (non-Javadoc)
277
         * @see org.gvsig.gpe.IGPEContentHandler#endLinearRing(java.lang.Object)
278
         */
279
        public void endLinearRing(Object linearRing) {
280
                
281
        }
282

    
283
        /*
284
         * (non-Javadoc)
285
         * @see org.gvsig.gpe.IGPEContentHandler#endPoint(java.lang.Object)
286
         */
287
        public void endPoint(Object point) {
288
                
289
        }
290

    
291
        /*
292
         * (non-Javadoc)
293
         * @see org.gvsig.gpe.IGPEContentHandler#endPolygon(java.lang.Object)
294
         */
295
        public void endPolygon(Object Polygon) {
296
                
297
        }
298

    
299
        /*
300
         * (non-Javadoc)
301
         * @see org.gvsig.gpe.parser.IGPEContentHandler#startBbox(java.lang.String, org.gvsig.gpe.parser.ICoordinateIterator, java.lang.String)
302
         */
303
        public Object startBbox(String id, ICoordinateIterator coords, String srs) {
304
                addNotSupportedWarning(FeatureNotSupportedWarning.BBOXCREATION);
305
                return null;
306
        }
307

    
308
        /*
309
         * (non-Javadoc)
310
         * @see org.gvsig.gpe.IGPEContentHandler#startElement(java.lang.String, java.lang.Object, java.lang.String, java.lang.Object)
311
         */
312
        public Object startElement(String namespace, String name, Object value, Object parentElement) {
313
                addNotSupportedWarning(FeatureNotSupportedWarning.ELEMENTCREATION);
314
                return null;
315
        }
316

    
317
        /*
318
         * (non-Javadoc)
319
         * @see org.gvsig.gpe.IGPEContentHandler#startFeature(java.lang.String, java.lang.String, java.lang.String, java.lang.Object)
320
         */
321
        public Object startFeature(String id, String namespace, String name, Object layer) {
322
                addNotSupportedWarning(FeatureNotSupportedWarning.FEATURECREATION);
323
                return null;
324
        }
325

    
326
        /*
327
         * (non-Javadoc)
328
         * @see org.gvsig.gpe.parser.IGPEContentHandler#startInnerPolygon(java.lang.String, org.gvsig.gpe.parser.ICoordinateIterator, java.lang.String)
329
         */
330
        public Object startInnerPolygon(String id, ICoordinateIterator coords, String srs) {
331
                addNotSupportedWarning(FeatureNotSupportedWarning.INNERBOUNDARYCREATION);
332
                return null;
333
        }
334

    
335
        /*
336
         * (non-Javadoc)
337
         * @see org.gvsig.gpe.IGPEContentHandler#startLayer(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.Object, java.lang.Object, java.lang.String)
338
         */
339
        public Object startLayer(String id, String namespace, String name, String description, String srs, Object parentLayer, Object bBox) {
340
                addNotSupportedWarning(FeatureNotSupportedWarning.LAYERCREATION);
341
                return null;
342
        }
343

    
344
        /*
345
         * (non-Javadoc)
346
         * @see org.gvsig.gpe.parser.IGPEContentHandler#startLineString(java.lang.String, org.gvsig.gpe.parser.ICoordinateIterator, java.lang.String)
347
         */
348
        public Object startLineString(String id, ICoordinateIterator coords, String srs) {
349
                addNotSupportedWarning(FeatureNotSupportedWarning.LINESTRINGCREATION);
350
                return null;
351
        }
352

    
353
        /*
354
         * (non-Javadoc)
355
         * @see org.gvsig.gpe.parser.IGPEContentHandler#startLinearRing(java.lang.String, org.gvsig.gpe.parser.ICoordinateIterator, java.lang.String)
356
         */
357
        public Object startLinearRing(String id, ICoordinateIterator coords, String srs) {
358
                addNotSupportedWarning(FeatureNotSupportedWarning.LINEARRINGCREATION);
359
                return null;
360
        }
361

    
362
        /*
363
         * (non-Javadoc)
364
         * @see org.gvsig.gpe.parser.IGPEContentHandler#startPoint(java.lang.String, org.gvsig.gpe.parser.ICoordinateIterator, java.lang.String)
365
         */
366
        public Object startPoint(String id, ICoordinateIterator coords, String srs) {
367
                addNotSupportedWarning(FeatureNotSupportedWarning.POINTCREATION);
368
                return null;
369
        }
370

    
371

    
372
        /*
373
         * (non-Javadoc)
374
         * @see org.gvsig.gpe.parser.IGPEContentHandler#startPolygon(java.lang.String, org.gvsig.gpe.parser.ICoordinateIterator, java.lang.String)
375
         */
376
        public Object startPolygon(String id, ICoordinateIterator coords, String srs) {
377
                addNotSupportedWarning(FeatureNotSupportedWarning.POLYGONCREATION);
378
                return null;
379
        }
380

    
381
        /*
382
         * (non-Javadoc)
383
         * @see org.gvsig.gpe.IGPEContentHandler#addGeometryToMultiGeometry(java.lang.Object, java.lang.Object)
384
         */
385
        public void addGeometryToMultiGeometry(Object geometry, Object multiGeometry) {
386
                
387
        }
388
        
389
        /*
390
         * (non-Javadoc)
391
         * @see org.gvsig.gpe.IGPEContentHandlerSFP0#addCurveToMultiCurve(java.lang.Object, java.lang.Object)
392
         */
393
        public void addCurveToMultiCurve(Object curve, Object multiCurve) {
394
                
395
        }
396
        
397
        /*
398
         * (non-Javadoc)
399
         * @see org.gvsig.gpe.IGPEContentHandlerSFP0#startMultiCurve(java.lang.String, java.lang.String)
400
         */
401
        public Object startMultiCurve(String id, String srs) {
402
                addNotSupportedWarning(FeatureNotSupportedWarning.MULTICURVECREATION);
403
                return null;
404
        }
405
        
406
        /*
407
         * (non-Javadoc)
408
         * @see org.gvsig.gpe.IGPEContentHandlerSFP0#endMultiCurve(java.lang.Object)
409
         */
410
        public void endMultiCurve(Object multiCurve) {
411
                
412
        }
413
        
414
        
415
        public Object startCurve(String id, ICoordinateIterator coords, String srs){
416
                addNotSupportedWarning(FeatureNotSupportedWarning.CURVECREATION);
417
                return null;
418
        }
419
        
420
        /*
421
         * (non-Javadoc)
422
         * @see org.gvsig.gpe.IGPEContentHandlerSFP0#endCurve(java.lang.Object)
423
         */
424
        public void endCurve(Object Curve) {
425
                
426
        }
427
                
428
        /*
429
         * (non-Javadoc)
430
         * @see org.gvsig.gpe.IGPEContentHandler#addLineStringToMultiLineString(java.lang.Object, java.lang.Object)
431
         */
432
        public void addLineStringToMultiLineString(Object lineString, Object multiLineString) {
433
                
434
        }
435

    
436
        /*
437
         * (non-Javadoc)
438
         * @see org.gvsig.gpe.IGPEContentHandler#addPointToMultiPoint(java.lang.Object, java.lang.Object)
439
         */
440
        public void addPointToMultiPoint(Object point, Object multiPoint) {
441
                
442
        }
443

    
444
        /*
445
         * (non-Javadoc)
446
         * @see org.gvsig.gpe.IGPEContentHandler#addPolygonToMultiPolygon(java.lang.Object, java.lang.Object)
447
         */
448
        public void addPolygonToMultiPolygon(Object polygon, Object multiPolygon) {
449
                
450
        }
451

    
452
        /*
453
         * (non-Javadoc)
454
         * @see org.gvsig.gpe.IGPEContentHandler#endMultiGeometry(java.lang.Object)
455
         */
456
        public void endMultiGeometry(Object multiGeometry) {
457
                
458
        }
459

    
460
        /*
461
         * (non-Javadoc)
462
         * @see org.gvsig.gpe.IGPEContentHandler#endMultiLineString(java.lang.Object)
463
         */
464
        public void endMultiLineString(Object multiLineString) {
465
                
466
        }
467

    
468
        /*
469
         * (non-Javadoc)
470
         * @see org.gvsig.gpe.IGPEContentHandler#endMultiPoint(java.lang.Object)
471
         */
472
        public void endMultiPoint(Object multiPoint) {
473
                
474
        }
475

    
476
        /*
477
         * (non-Javadoc)
478
         * @see org.gvsig.gpe.IGPEContentHandler#endMultiPolygon(java.lang.Object)
479
         */
480
        public void endMultiPolygon(Object multiPolygon) {
481
                
482
        }
483

    
484
        /*
485
         * (non-Javadoc)
486
         * @see org.gvsig.gpe.IGPEContentHandler#startMultiGeometry(java.lang.String, java.lang.String)
487
         */
488
        public Object startMultiGeometry(String id, String srs) {
489
                addNotSupportedWarning(FeatureNotSupportedWarning.MULTIGEOMETRYCREATION);
490
                return null;
491
        }
492

    
493
        /*
494
         * (non-Javadoc)
495
         * @see org.gvsig.gpe.IGPEContentHandler#startMultiLineString(java.lang.String, java.lang.String)
496
         */
497
        public Object startMultiLineString(String id, String srs) {
498
                addNotSupportedWarning(FeatureNotSupportedWarning.MULTILINESTRINGCREATION);
499
                return null;
500
        }
501

    
502
        /*
503
         * (non-Javadoc)
504
         * @see org.gvsig.gpe.IGPEContentHandler#startMultiPoint(java.lang.String, java.lang.String)
505
         */
506
        public Object startMultiPoint(String id, String srs) {
507
                addNotSupportedWarning(FeatureNotSupportedWarning.MULTIPOINTCREATION);
508
                return null;
509
        }
510

    
511
        /*
512
         * (non-Javadoc)
513
         * @see org.gvsig.gpe.IGPEContentHandler#startMultiPolygon(java.lang.String, java.lang.String)
514
         */
515
        public Object startMultiPolygon(String id, String srs) {
516
                addNotSupportedWarning(FeatureNotSupportedWarning.MULTIPOLYGONCREATION);
517
                return null;
518
        }
519
        
520
        
521
        /**
522
         * This method adds a warning message into the ErrorHandler
523
         * to indicate that the application doesn't supports 
524
         * the especified objects
525
         * @param objectName
526
         * Object name that is not supported
527
         */
528
        private void addNotSupportedWarning(String objectName){
529
                if (errorHandler != null){
530
                        errorHandler.addWarning(new FeatureNotSupportedWarning(objectName));
531
                }
532
        }
533

    
534
        /* (non-Javadoc)
535
         * @see org.gvsig.gpe.IGPEContentHandlerSFP0#addSegmentToCurve(java.lang.Object, java.lang.Object)
536
         */
537
        public void addSegmentToCurve(Object segment, Object curve) {
538
                                
539
        }
540

    
541
        /* (non-Javadoc)
542
         * @see org.gvsig.gpe.IGPEContentHandlerSFP0#startCurve(java.lang.String, java.lang.String)
543
         */
544
        public Object startCurve(String id, String srs) {
545
                addNotSupportedWarning(FeatureNotSupportedWarning.CURVECREATION);
546
                return null;
547
        }        
548
}