Revision 6220 org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.buffer/org.gvsig.raster.lib.buffer.impl/src/main/java/org/gvsig/raster/lib/buffer/impl/PaginatedBandByte.java

View differences:

PaginatedBandByte.java
15 15
 */
16 16
public class PaginatedBandByte extends AbstractPaginatedBand implements BandByte {
17 17

  
18
    private ByteBuffer specificData;
19 18

  
20 19
    /**
21 20
     * @param rows
......
26 25
     */
27 26
    public PaginatedBandByte(int rows, int columns, NoData noData, BandPageManager pageManager) {
28 27
        super(rows, columns, noData, pageManager);
29
        specificData = data;
28
        data = ByteBuffer.allocate(rowsPerPage * columns);
29

  
30 30
    }
31 31

  
32 32
    @Override
......
57 57

  
58 58
        for(int row=0; row<this.rows; row+=this.rowsPerPage){
59 59
            loadPage(row);
60
            Arrays.fill(specificData.array(), (byte)value);
60
            Arrays.fill((byte[])data.array(), (byte)value);
61 61
        }
62 62
    }
63 63

  
64 64
    @Override
65 65
    public byte getValue(int row, int column) {
66 66
        loadPage(row);
67
        return specificData.get( ((row-firstRowOfPage)*this.columns) + column);
67
        return ((ByteBuffer) data).get( ((row-firstRowOfPage)*this.columns) + column);
68 68
    }
69 69

  
70 70
    @Override
......
75 75

  
76 76
    protected void doSetValue(int row, int column, byte value) {
77 77
        loadPage(row);
78
        specificData.put(((row-firstRowOfPage)*this.columns) + column, value);
78
        ((ByteBuffer) data).put(((row-firstRowOfPage)*this.columns) + column, value);
79 79
    }
80 80

  
81 81
    @Override
......
86 86
    @Override
87 87
    public void fetchRow(int row, Object rowBuffer) {
88 88
        loadPage(row);
89
        byte[] source = (byte[]) ((java.nio.Buffer)specificData).array();
89
        byte[] source = (byte[]) data.array();
90 90
        byte[] target = (byte[]) rowBuffer;
91 91
        System.arraycopy(source, (row-firstRowOfPage)*this.columns, target, 0, this.columns);
92 92
    }
......
95 95
    protected void doPutRow(int row, Object rowBuffer) {
96 96
        loadPage(row);
97 97
        byte[] source = (byte[]) rowBuffer;
98
        byte[] target = (byte[]) ((java.nio.Buffer)specificData).array();
98
        byte[] target = (byte[]) data.array();
99 99
        System.arraycopy(source, 0, target, (row-firstRowOfPage)*this.columns, this.columns);
100 100
    }
101 101

  

Also available in: Unified diff