Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.compat.cdc / org.gvsig.fmap.dal / org.gvsig.fmap.dal.tilecache / org.gvsig.fmap.dal.tilecache.raster / src / main / java / org / gvsig / raster / tilecache / provider / TileCacheBandPageManager.java @ 44831

History | View | Annotate | Download (2.03 KB)

1
package org.gvsig.raster.tilecache.provider;
2

    
3
import java.io.IOException;
4
import java.nio.Buffer;
5

    
6
import org.gvsig.raster.lib.buffer.api.Band;
7
import org.gvsig.raster.lib.buffer.api.BandInfo;
8
import org.gvsig.raster.lib.buffer.api.BandTileManager;
9
import org.gvsig.raster.lib.buffer.api.TileStruct;
10
import org.gvsig.tools.dispose.impl.AbstractDisposable;
11
import org.gvsig.tools.exception.BaseException;
12

    
13
/**
14
 * Band Page Managaer for a Memory Image
15
 * @author dmartinezizquierdo
16
 *
17
 */
18
public class TileCacheBandPageManager extends AbstractDisposable implements BandTileManager{
19

    
20
    private TileStructImage tileStructImage;
21
    private int bandNumber;
22
    private int zoomLevel;
23

    
24
    /**
25
     * @param tileStructImage
26
     * @param zoomLevel
27
     * @param band
28
     */
29
    public TileCacheBandPageManager(TileStructImage tileStructImage, int zoomLevel, int band){
30
        this.tileStructImage=tileStructImage;
31
        this.bandNumber=band;
32
        this.zoomLevel=zoomLevel;
33
    }
34

    
35
    @Override
36
    public boolean isSupportedSave() {
37
        return false;
38
    }
39

    
40
    @Override
41
    public Band load(int row, int col, int dataType) throws IOException {
42

    
43
        int tileRow = (int) row / getRowsPerTile();
44
        int tileCol = (int) col / getColumnsPerTile();
45

    
46
        return tileStructImage.fetchTile(bandNumber, this.zoomLevel, tileRow, tileCol);
47
    }
48

    
49
    @Override
50
    public BandInfo getBandInfo() {
51
        //FIXME
52
        return null;
53
    }
54

    
55
    @Override
56
    public void save(Buffer buffer, int row, int rows, int col, int cols,
57
        int dataType) throws IOException {
58
        throw new UnsupportedOperationException();
59

    
60
    }
61

    
62
    @Override
63
    public int getRowsPerTile() {
64
        return tileStructImage.getRowsPerTile();
65
    }
66

    
67
    @Override
68
    public int getColumnsPerTile() {
69
        return tileStructImage.getColumnsPerTile();
70
    }
71

    
72
    @Override
73
    public TileStruct getTileStruct() {
74
        return tileStructImage.getTileStruct();
75
    }
76

    
77
    @Override
78
    protected void doDispose() throws BaseException {
79
        this.tileStructImage = null;
80
    }
81

    
82
}