Statistics
| Revision:

svn-gvsig-desktop / branches / org.gvsig.desktop-2018a / org.gvsig.desktop.library / org.gvsig.raster.legend / org.gvsig.raster.legend.tilecache / src / main / java / org / gvsig / raster / tilecache / provider / legend / TileCacheGetLegend.java @ 43876

History | View | Annotate | Download (1.92 KB)

1
package org.gvsig.raster.tilecache.provider.legend;
2

    
3
import org.gvsig.fmap.dal.raster.RasterStore;
4
import org.slf4j.LoggerFactory;
5

    
6
import org.gvsig.raster.lib.legend.api.RasterLegend;
7
import org.gvsig.raster.tilecache.provider.TileCacheStoreProvider;
8
import org.gvsig.raster.tilecache.provider.TileStructImage;
9
import org.gvsig.tools.ToolsLocator;
10
import org.gvsig.tools.dynobject.DynClass;
11
import org.gvsig.tools.dynobject.DynMethod;
12
import org.gvsig.tools.dynobject.DynObject;
13
import org.gvsig.tools.dynobject.exception.DynMethodException;
14
import org.gvsig.tools.dynobject.exception.DynMethodNotSupportedException;
15

    
16
/**
17
 * Dynamic method to add a get Legend funcionality
18
 * @author dmartinezizquierdo
19
 *
20
 */
21
public class TileCacheGetLegend implements DynMethod {
22

    
23
    final static private org.slf4j.Logger logger = LoggerFactory.getLogger(TileCacheGetLegend.class);
24

    
25
    private static Integer code = null;
26

    
27

    
28
    static void register(DynClass storeClass) {
29
        if (code != null) {
30
            return;
31
        }
32
        code = ToolsLocator.getDynObjectManager()
33
                .registerDynMethod(storeClass, new TileCacheGetLegend());
34

    
35
    }
36

    
37
    @Override
38
    public int getCode() throws DynMethodNotSupportedException {
39
        return code;
40
    }
41

    
42
    @Override
43
    public String getDescription() {
44
        return "Tile Cache Legend";
45
    }
46

    
47
    @Override
48
    public String getName() {
49
        return RasterStore.DYNMETHOD_GETLEGEND_NAME;
50
    }
51

    
52
    @Override
53
    public Object invoke(DynObject self, Object[] args) throws DynMethodException {
54
        RasterLegend legend = null;
55

    
56
        TileCacheStoreProvider tileCacheStoreProvider = (TileCacheStoreProvider) self;
57

    
58
        TileStructImage tileStructImage = tileCacheStoreProvider.getTileStructImage();
59
        legend = (RasterLegend) tileStructImage.getLegend();
60

    
61
        return legend;
62
    }
63

    
64
    @Override
65
    public Object clone() throws CloneNotSupportedException {
66
        return super.clone();
67
    }
68
}