Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.compat.cdc / org.gvsig.fmap.dal / org.gvsig.fmap.dal.impl / src / main / java / org / gvsig / fmap / dal / raster / impl / RasterStoreFactory.java @ 43020

History | View | Annotate | Download (1.64 KB)

1
package org.gvsig.fmap.dal.raster.impl;
2

    
3
import org.gvsig.fmap.dal.DataParameters;
4
import org.gvsig.fmap.dal.DataStore;
5
import org.gvsig.fmap.dal.DataStoreParameters;
6
import org.gvsig.fmap.dal.DataStoreProvider;
7
import org.gvsig.fmap.dal.impl.AbstractDataStoreFactory;
8
import org.gvsig.fmap.dal.impl.DefaultDataManager;
9
import org.gvsig.fmap.dal.raster.OpenRasterStoreParameters;
10
import org.gvsig.fmap.dal.spi.DataStoreInitializer2;
11
import org.gvsig.tools.dynobject.DynObject;
12
import org.gvsig.tools.service.spi.Services;
13

    
14
public class RasterStoreFactory extends AbstractDataStoreFactory {
15
    private final Class theStoreClass;
16

    
17
    public static final String NAME = "RasterStore";
18
    
19
    public RasterStoreFactory(Class theStoreClass) {
20
        super(NAME,"");
21
        this.theStoreClass = theStoreClass;
22
    }
23
    
24
    @Override
25
    public DynObject createParameters() {
26
        return null;
27
    }
28

    
29
    @Override
30
    public DataStore create(DynObject parameters, Services services) {
31
        try {
32
            DataStoreInitializer2 store = (DataStoreInitializer2) this.theStoreClass.newInstance();
33
            store.intialize(
34
                    (DefaultDataManager)services,
35
                    (DataStoreParameters)parameters
36
            );
37
            return store;
38
        } catch (Exception ex) {
39
            throw new RuntimeException(ex);
40
        }
41
    }
42

    
43
    @Override
44
    public boolean canUse(DataParameters parameters) {
45
        return parameters instanceof OpenRasterStoreParameters;
46
    }
47

    
48
    @Override
49
    public void setProvider(DataStore store, DataStoreProvider provider) {
50
        ((DataStoreInitializer2)store).setProvider(provider);
51
    }
52
        
53
}