Revision 11119

View differences:

trunk/libraries/libGPE/src/org/gvsig/gpe/GPE.java
1
package org.gvsig.gpe;
2

  
3
import java.io.File;
4
import java.util.ArrayList;
5

  
6
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
7
 *
8
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
9
 *
10
 * This program is free software; you can redistribute it and/or
11
 * modify it under the terms of the GNU General Public License
12
 * as published by the Free Software Foundation; either version 2
13
 * of the License, or (at your option) any later version.
14
 *
15
 * This program is distributed in the hope that it will be useful,
16
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18
 * GNU General Public License for more details.
19
 *
20
 * You should have received a copy of the GNU General Public License
21
 * along with this program; if not, write to the Free Software
22
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
23
 *
24
 * For more information, contact:
25
 *
26
 *  Generalitat Valenciana
27
 *   Conselleria d'Infraestructures i Transport
28
 *   Av. Blasco Ib??ez, 50
29
 *   46010 VALENCIA
30
 *   SPAIN
31
 *
32
 *      +34 963862235
33
 *   gvsig@gva.es
34
 *      www.gvsig.gva.es
35
 *
36
 *    or
37
 *
38
 *   IVER T.I. S.A
39
 *   Salamanca 50
40
 *   46005 Valencia
41
 *   Spain
42
 *
43
 *   +34 963163400
44
 *   dac@iver.es
45
 */
46
/* CVS MESSAGES:
47
 *
48
 * $Id$
49
 * $Log$
50
 * Revision 1.1  2007-04-11 08:22:41  jorpiell
51
 * GPE clase para registrar los drivers
52
 *
53
 *
54
 */
55
/**
56
 * This class is used to register the GPE parsers. All the 
57
 * parsers must be registered in this class before to be
58
 * used for the consumer application
59
 * @author Jorge Piera LLodr? (jorge.piera@iver.es)
60
 */
61
public class GPE {
62
	private static ArrayList parsers = new ArrayList();
63
	
64
	/**
65
	 * Adds a new GPE driver
66
	 * @param driver
67
	 */
68
	private static void addGpeDriver(Object driver){
69
		parsers.add(driver);
70
	}
71
	
72
	/**
73
	 * Return true if exists a driver that can open the file
74
	 * @param file
75
	 * File to open
76
	 * @return
77
	 * true if the driver exists
78
	 */
79
	private static boolean accept(File file){
80
		for (int i=0 ; i<parsers.size() ; i++){
81
			GPEParser parser = (GPEParser)parsers.get(i);
82
			if (parser.accept(file)){
83
				return true;
84
			}
85
		}
86
		return false;
87
	}
88
	
89
	/**
90
	 * Gets the driver that can open the file (if it exists)
91
	 * @param file
92
	 * File to open
93
	 * @return
94
	 * Null if the driver doesn't exist
95
	 */
96
	private static GPEParser getDriver(File file){
97
		for (int i=0 ; i<parsers.size() ; i++){
98
			GPEParser parser = (GPEParser)parsers.get(i);
99
			if (parser.accept(file)){
100
				return parser;
101
			}
102
		}
103
		return null;
104
	}
105
	
106
}
0 107

  

Also available in: Unified diff