Statistics
| Revision:

svn-gvsig-desktop / branches / org.gvsig.desktop-2018a / 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 / ConvertedTypeBandByte.java @ 43803

History | View | Annotate | Download (2.18 KB)

1
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.BandByte;
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 ConvertedTypeBandByte extends AbstractConvertedTypeBand implements BandByte{
17

    
18
    /**
19
     * @param buffer
20
     * @param band
21
     */
22
    public ConvertedTypeBandByte(Buffer buffer, Band band) {
23
        super(buffer, band);
24
    }
25

    
26
    @Override
27
    public byte[] createRowBuffer() {
28
        return new byte[getColumns()];
29
    }
30

    
31
    @Override
32
    public void fetchRow(int row, Object rowBuffer) {
33
        for (int i = 0; i < getColumns(); i++) {
34
            ((byte[]) rowBuffer)[i] = ((Number) this.band.get(row, i)).byteValue();
35
        }
36
    }
37

    
38
    @Override
39
    public byte getValue(int row, int column) {
40
        return ((Number) this.get(row, column)).byteValue();
41
    }
42

    
43
    @Override
44
    public void setValue(int row, int column, byte value) {
45
        doSet(row, column, new Byte(value));
46
    }
47

    
48
    @Override
49
    public int getDataType() {
50
        return BufferManager.TYPE_BYTE;
51
    }
52

    
53
    @Override
54
    public Object get(int row, int column) {
55
        return ((Number) this.get(row, column)).byteValue();
56
    }
57

    
58
    @Override
59
    public NoData getNoData() {
60
        NoData bandNoData = this.band.getNoData();
61
        if(bandNoData==null){
62
            this.noData = BufferLocator.getBufferManager().createNoData(null, null);
63
        } else {
64
            Byte value = null;
65
            Byte defaultValue = null;
66
            Number bandvalue = bandNoData.getValue();
67
            Number bandDefaultValue = bandNoData.getDefaultValue();
68
            if (bandvalue != null) {
69
                value = bandvalue.byteValue();
70
            }
71
            if (bandDefaultValue != null) {
72
                defaultValue = bandDefaultValue.byteValue();
73
            }
74

    
75
            this.noData = BufferLocator.getBufferManager().createNoData(value, defaultValue);
76
        }
77
        return this.noData;
78
    }
79

    
80
}