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
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