Statistics
| Revision:

root / trunk / libraries / libFMap / src / com / iver / cit / gvsig / fmap / layers / LayerFactory.java @ 354

History | View | Annotate | Download (4.27 KB)

1
/* Generated by Together */
2
package com.iver.cit.gvsig.fmap.layers;
3

    
4
import com.iver.cit.gvsig.fmap.drivers.RasterDriver;
5
import com.iver.cit.gvsig.fmap.drivers.VectorialDatabaseDriver;
6
import com.iver.cit.gvsig.fmap.drivers.VectorialFileDriver;
7
import com.iver.cit.gvsig.fmap.drivers.wfs.WFSDriver;
8

    
9
import org.cresques.cts.IProjection;
10

    
11
import java.io.File;
12

    
13
import java.net.URL;
14

    
15
import java.util.TreeMap;
16

    
17

    
18
/**
19
 * Crea un adaptador del driver que se le pasa como par?metro en los m?todos
20
 * createLayer. Si hay memoria suficiente se crea un FLyrMemory que pasa todas
21
 * las features del driver a memoria
22
 */
23
public class LayerFactory {
24
    /**
25
     * Map en el que se guarda para cada fuente de datos a?adida al sistema, el
26
     * adaptador que la maneja. Ha de ser un TreeMap ya que esta clase define
27
     * la igualdad entre las claves a traves del m?todo equals de las mismas.
28
     * Los objetos FileSource, DBSource y WFSSource tienen definido el m?todo
29
     * equals de forma que devuelven true cuando dos objetos apuntan a la
30
     * misma fuente de datos
31
     */
32
    private static TreeMap sourceAdapter;
33

    
34
    /*
35
     * TODO Implementar bien
36
     */
37
    public static FLyrVect createLayer(File f, IProjection p) {
38
        throw new UnsupportedOperationException();
39
    }
40

    
41
    /*
42
     * TODO Esta llamada debe de sustituir la instancia del driver por
43
     * la clase del driver, y crear las instancias dentro
44
     */
45

    
46
    /**
47
     * Crea un RandomVectorialFile con el driver que se le pasa como par?metro
48
     * y guard?ndose el nombre del fichero para realizar los accesos, la capa
49
     * tendr? asociada la proyecci?n que se pasa como parametro tambi?n
50
     *
51
     * @param driver DOCUMENT ME!
52
     * @param f DOCUMENT ME!
53
     * @param p DOCUMENT ME!
54
     *
55
     * @return DOCUMENT ME!
56
     */
57
    public static FLyrVect createLayer(VectorialFileDriver driver, File f, IProjection proj) {
58
        //TODO Comprobar si hay un adaptador ya
59
        VectorialFileAdapter adapter = new VectorialFileAdapter(f);
60
        adapter.setDriver(driver);
61

    
62
        FLyrVect capa = new FLyrVect();
63

    
64
        //TODO Meter esto dentro de la comprobaci?n de si hay memoria
65
        if (false) {
66
        } else {
67
            capa.setSource(adapter);
68
            capa.setProjection(proj);
69
        }
70

    
71
        return capa;
72
    }
73

    
74
    /**
75
     * Crea un RandomVectorialWFS con el driver que se le pasa como par?metro y
76
     * guard?ndose la URL del servidor que se pasa como par?metro
77
     *
78
     * @param driver DOCUMENT ME!
79
     * @param host DOCUMENT ME!
80
     * @param p DOCUMENT ME!
81
     *
82
     * @return DOCUMENT ME!
83
     *
84
     * @throws UnsupportedOperationException DOCUMENT ME!
85
     */
86
    public static FLyrVect createLayer(WFSDriver driver, URL host, IProjection proj) {
87
        throw new UnsupportedOperationException();
88
    }
89

    
90
    /**
91
     * Crea un RandomVectorialWFS con el driver que se le pasa como par?metro y
92
     * guard?ndose la URL del servidor que se pasa como par?metro
93
     *
94
     * @param driver DOCUMENT ME!
95
     * @param connectionString DOCUMENT ME!
96
     * @param p DOCUMENT ME!
97
     *
98
     * @return DOCUMENT ME!
99
     *
100
     * @throws UnsupportedOperationException DOCUMENT ME!
101
     */
102
    public static FLyrVect createLayer(VectorialDatabaseDriver driver,
103
        String connectionString, IProjection proj) {
104
        throw new UnsupportedOperationException();
105
    }
106

    
107
    /**
108
     * Obtiene el adaptador de un driver si ya se ha a?adido el origen de datos
109
     * o null si es un origen de datos nuevo
110
     *
111
     * @param source DOCUMENT ME!
112
     */
113
    private static void getAdapter(Source source) {
114
    }
115

    
116
    /**
117
     * Registra la asociaci?n entre la fuente de datos que se pasa como
118
     * par?metro y el VectorialAdapter que se pasa como par?metro, para
119
     * satisfacer futuras llamadas a getAdapter
120
     *
121
     * @param s DOCUMENT ME!
122
     * @param a DOCUMENT ME!
123
     */
124
    private static void saveSourceAdapter(Source s, VectorialAdapter a) {
125
    }
126

    
127
    /**
128
     * Crea una FLyrComplexRaster que ataca al driver que se pasa como par?metro.
129
     * 
130
     * @throws IllegalArgumentException Si se pasa un driver que no implementa
131
     *         GeorreferencedRasterDriver o NotGeorreferencedRasterDriver
132
     */
133
    public static void createLayer(RasterDriver driver, File f, IProjection proj)
134
        throws IllegalArgumentException {
135
    }
136
}