Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.library / org.gvsig.raster / org.gvsig.raster.lib / org.gvsig.raster.lib.buffer.impl / src / main / java / org / gvsig / raster / lib / buffer / impl / ConvertedTypeBandShort.java @ 44831

History | View | Annotate | Download (2.2 KB)

1 44831 jjdelcerro
package org.gvsig.raster.lib.buffer.impl;
2
3
import org.gvsig.raster.lib.buffer.api.Band;
4
import org.gvsig.raster.lib.buffer.api.Band.BandShort;
5
import org.gvsig.raster.lib.buffer.api.BandInfo;
6
import org.gvsig.raster.lib.buffer.api.Buffer;
7
import org.gvsig.raster.lib.buffer.api.BufferLocator;
8
import org.gvsig.raster.lib.buffer.api.BufferManager;
9
import org.gvsig.raster.lib.buffer.api.NoData;
10
11
12
/**
13
 * @author fdiaz
14
 *
15
 */
16
public class ConvertedTypeBandShort extends AbstractConvertedTypeBand implements BandShort{
17
18
    /**
19
     * @param buffer
20
     * @param band
21
     */
22
    public ConvertedTypeBandShort(Buffer buffer, Band band) {
23
        super(buffer, band);
24
    }
25
26
    @Override
27
    public short[] createRowBuffer() {
28
        return new short[getColumns()];
29
    }
30
31
    @Override
32
    public void fetchRow(int row, Object rowBuffer) {
33
        for (int i = 0; i < getColumns(); i++) {
34
            ((short[]) rowBuffer)[i] = ((Number) this.band.get(row, i)).shortValue();
35
        }
36
    }
37
38
    @Override
39
    public short getValue(int row, int column) {
40
        return ((Number) this.get(row, column)).shortValue();
41
    }
42
43
    @Override
44
    public void setValue(int row, int column, short value) {
45
        doSet(row, column, new Short(value));
46
    }
47
48
    @Override
49
    public int getDataType() {
50
        return BufferManager.TYPE_SHORT;
51
    }
52
53
    @Override
54
    public Object get(int row, int column) {
55
        return ((Number) this.get(row, column)).shortValue();
56
    }
57
    @Override
58
    public NoData getNoData() {
59
        NoData bandNoData = this.band.getNoData();
60
        if(bandNoData==null){
61
            this.noData = BufferLocator.getBufferManager().createNoData(null, null);
62
        } else {
63
            Short value = null;
64
            Short defaultValue = null;
65
            Number bandvalue = bandNoData.getValue();
66
            Number bandDefaultValue = bandNoData.getDefaultValue();
67
            if (bandvalue != null) {
68
                value = bandvalue.shortValue();
69
            }
70
            if (bandDefaultValue != null) {
71
                defaultValue = bandDefaultValue.shortValue();
72
            }
73
74
            this.noData = BufferLocator.getBufferManager().createNoData(value, defaultValue);
75
        }
76
        return this.noData;
77
    }
78
79
}