Statistics
| Revision:

gvsig-raster / 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 / DefaultBufferManager.java @ 5452

History | View | Annotate | Download (2.72 KB)

1
package org.gvsig.raster.lib.buffer.impl;
2

    
3
import java.io.File;
4

    
5
import org.gvsig.raster.lib.buffer.api.Band;
6
import org.gvsig.raster.lib.buffer.api.BandPageManager;
7
import org.gvsig.raster.lib.buffer.api.Buffer;
8
import org.gvsig.raster.lib.buffer.api.BufferManager;
9
import org.gvsig.raster.lib.buffer.api.NoData;
10
import org.gvsig.raster.lib.buffer.impl.exceptions.CreateBandTypeException;
11

    
12

    
13
/**
14
 * @author fdiaz
15
 *
16
 */
17
public class DefaultBufferManager implements BufferManager {
18

    
19
    @Override
20
    public NoData createNoData(Number value, Number defaultValue) {
21
        NoData noData = new DefaultNoData(defaultValue);
22
        noData.setValue(value);
23
        return noData;
24
    }
25

    
26
    @Override
27
    public Band createBand(int dataType, int rows, int columns, NoData noData, BandPageManager pageManager) throws CreateBandTypeException {
28
        if(pageManager == null){
29
            switch (dataType) {
30
            case BufferManager.TYPE_BYTE:
31
                return new DefaultBandByte(rows, columns, noData);
32
            case BufferManager.TYPE_SHORT:
33
                return new DefaultBandShort(rows, columns, noData);
34
            case BufferManager.TYPE_INT:
35
                return new DefaultBandInt(rows, columns, noData);
36
            case BufferManager.TYPE_FLOAT:
37
                return new DefaultBandFloat(rows, columns, noData);
38
            case BufferManager.TYPE_DOUBLE:
39
                return new DefaultBandDouble(rows, columns, noData);
40
            default:
41
                throw new CreateBandTypeException(dataType);
42
            }
43
        } else {
44
            switch (dataType) {
45
            case BufferManager.TYPE_BYTE:
46
                //FIXME:
47
                return new DefaultBandByte(rows, columns, noData);
48
            case BufferManager.TYPE_SHORT:
49
                //FIXME:
50
                return new DefaultBandShort(rows, columns, noData);
51
            case BufferManager.TYPE_INT:
52
                //FIXME:
53
                return new DefaultBandInt(rows, columns, noData);
54
            case BufferManager.TYPE_FLOAT:
55
                //FIXME:
56
                return new DefaultBandFloat(rows, columns, noData);
57
            case BufferManager.TYPE_DOUBLE:
58
                //FIXME:
59
                return new DefaultBandDouble(rows, columns, noData);
60
            default:
61
                throw new CreateBandTypeException(dataType);
62
            }
63

    
64
        }
65
    }
66

    
67
    @Override
68
    public Buffer createBuffer(int rows, int columns, int[] bandDataTypes, BandPageManager pageManager) {
69
        return DefaultBuffer(rows, columns, bandDataTypes, pageManager);
70
    }
71

    
72
    @Override
73
    public BandPageManager createSimpleBandPageManager(File file, int rows, int columns, int dataType) {
74
        // TODO Auto-generated method stub
75
        return null;
76
    }
77

    
78

    
79
}