01: /*
02: * Geotools2 - OpenSource mapping toolkit
03: * http://geotools.org
04: * (C) 2002, 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;
09: * version 2.1 of the License.
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: */
17: package org.geotools.coverage.grid.io;
18:
19: import java.io.IOException;
20:
21: import org.geotools.factory.Factory;
22: import org.geotools.factory.OptionalFactory;
23: import org.opengis.coverage.grid.Format;
24:
25: /**
26: * Constructs a live GridCoverageFormat.
27: *
28: * <p>
29: * In addition to implementing
30: * this interface datastores should have a services file:
31: * </p>
32: *
33: * <p>
34: * <code>META-INF/services/org.geotools.data.GridCoverageFormatFactorySpi</code>
35: * </p>
36: *
37: * <p>
38: * The file should contain a single line which gives the full name of the
39: * implementing class.
40: * </p>
41: *
42: * <p>
43: * example:<br/><code>e.g.
44: * org.geotools.data.arcgrid.ArcGridFormatFactory</code>
45: * </p>
46: *
47: * <p>
48: * The factories are never called directly by users, instead the
49: * GridFormatFinder class is used.
50: * </p>
51: *
52: * @author Jody Garnett, Refractions Research
53: * @source $URL: http://svn.geotools.org/geotools/tags/2.4.1/modules/library/coverage/src/main/java/org/geotools/coverage/grid/io/GridFormatFactorySpi.java $
54: */
55: public interface GridFormatFactorySpi extends Factory, OptionalFactory {
56: /**
57: * Construct a live grid format.
58: *
59: *
60: * @throws IOException (Warning: the rest of the javadoc comment was wrong)
61: * if there were any problems creating or connecting
62: * the datasource.
63: */
64: Format createFormat();
65:
66: }
|