Statistics
| Revision:

svn-gvsig-desktop / branches / org.gvsig.desktop-2018a / org.gvsig.desktop.library / org.gvsig.raster.legend / org.gvsig.raster.legend.jpg / src / main / java / org / gvsig / fmap / dal / file / jpg / legend / JpgGetLegend.java @ 43803

History | View | Annotate | Download (2.13 KB)

1
package org.gvsig.fmap.dal.file.jpg.legend;
2

    
3
import org.gvsig.fmap.dal.file.jpg.JpgStoreProvider;
4
import org.gvsig.fmap.dal.raster.api.RasterStore;
5
import org.gvsig.raster.lib.legend.api.RasterLegend;
6
import org.gvsig.raster.lib.legend.api.RasterLegendLocator;
7
import org.gvsig.raster.lib.legend.api.RasterLegendManager;
8
import org.gvsig.raster.lib.legend.api.colorinterpretation.ColorInterpretation;
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
 * @author fdiaz
18
 *
19
 */
20
public class JpgGetLegend implements DynMethod {
21

    
22
    private static Integer code = null;
23

    
24

    
25
    static void register(DynClass storeClass) {
26
        if (code != null) {
27
            return;
28
        }
29
        code = ToolsLocator.getDynObjectManager()
30
                .registerDynMethod(storeClass, new JpgGetLegend());
31

    
32
    }
33

    
34
    @Override
35
    public int getCode() throws DynMethodNotSupportedException {
36
        return code;
37
    }
38

    
39
    @Override
40
    public String getDescription() {
41
        return "JPG Legend";
42
    }
43

    
44
    @Override
45
    public String getName() {
46
        return RasterStore.DYNMETHOD_GETLEGEND_NAME;
47
    }
48

    
49
    @Override
50
    public Object invoke(DynObject self, Object[] args)
51
            throws DynMethodException {
52
        try {
53
             JpgStoreProvider provider=(JpgStoreProvider)self;
54
             RasterLegendManager legendManager=RasterLegendLocator.getRasterLegendManager();
55

    
56
             ColorInterpretation colorInterpretation =(ColorInterpretation)provider.
57
                 invokeDynMethod(RasterStore.DYNMETHOD_GETCOLORINTERPRETATION_NAME, null);
58

    
59
             RasterLegend legend= legendManager.createLegend(colorInterpretation);
60

    
61
             return legend;
62

    
63
        } catch (DynMethodNotSupportedException e) {
64
            //FIXME
65
            throw new RuntimeException(e);
66
        }
67
    }
68

    
69
    @Override
70
    public Object clone() throws CloneNotSupportedException {
71
        return super.clone();
72
    }
73
}