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 / TileCacheGetColorTable.java @ 43876

History | View | Annotate | Download (2.04 KB)

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

    
3
import org.gvsig.fmap.dal.raster.RasterStore;
4
import org.gvsig.raster.lib.legend.api.colortable.ColorTable;
5
import org.slf4j.LoggerFactory;
6

    
7

    
8
import org.gvsig.raster.tilecache.provider.TileCacheStoreProvider;
9
import org.gvsig.raster.tilecache.provider.TileStructImage;
10
import org.gvsig.tools.ToolsLocator;
11
import org.gvsig.tools.dynobject.DynClass;
12
import org.gvsig.tools.dynobject.DynMethod;
13
import org.gvsig.tools.dynobject.DynObject;
14
import org.gvsig.tools.dynobject.exception.DynMethodException;
15
import org.gvsig.tools.dynobject.exception.DynMethodNotSupportedException;
16

    
17
/**
18
 * Dynamic method to add a get Color Table funcionality
19
 * @author dmartinezizquierdo
20
 *
21
 */
22
public class TileCacheGetColorTable implements DynMethod {
23

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

    
26
    private static Integer code = null;
27

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

    
35
    }
36

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

    
42
    @Override
43
    public String getDescription() {
44
        return "Raster GDAL Color Table";
45
    }
46

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

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

    
57
        TileCacheStoreProvider tileCacheStoreProvider =
58
            (TileCacheStoreProvider) self;
59
        TileStructImage tileStructImage = tileCacheStoreProvider.getTileStructImage();
60

    
61
        colorTable = (ColorTable)tileStructImage.getColorTable();
62

    
63
        return colorTable;
64

    
65
    }
66

    
67
    @Override
68
    public TileCacheGetColorTable clone() throws CloneNotSupportedException {
69
        return (TileCacheGetColorTable) super.clone();
70
    }
71
}