Statistics
| Revision:

root / trunk / libraries / libRaster / src / org / gvsig / raster / dataset / io / features / WriteFileFormatFeatures.java @ 18040

History | View | Annotate | Download (5.15 KB)

1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2007 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 */
19
package org.gvsig.raster.dataset.io.features;
20

    
21
import org.gvsig.raster.dataset.IBuffer;
22
import org.gvsig.raster.dataset.Params;
23

    
24
/**
25
 * Caracteristicas de un formato de fichero utilizado para escritura. El contenido 
26
 * de esta clase es utilizado por el driver para informar de las caracteristicas de cada
27
 * formato. 
28
 *
29
 * 02-jun-2007
30
 * @author Nacho Brodin (nachobrodin@gmail.com)
31
 */
32
public class WriteFileFormatFeatures {
33
        private String                driverName = null;
34
        private String                ext = null;
35
        private int[]                nBandsSupported = new int[]{-1};
36
        private int[]                dataTypesSupported = new int[]{IBuffer.TYPE_BYTE};
37
        private Class                driver = null;
38
        protected Params        driverParams = new Params();
39
        
40
        /**
41
         * Constructor.
42
         * Asigna las caracteristicas del formato de escritura. El tipo de dato se inicializa por
43
         * defecto a solo byte. Si recibe como parametro un null el formato acepta por defecto el tipo
44
         * byte.
45
         * @param name Nombre del driver. En el caso de gdal debe coincidir con el nombre de driver de gdal
46
         * @param ext Extensi?n del fichero
47
         * @param bands N?mero de bandas m?ximas soportadas en la escritura. Si el valor es menor que 1 soporta cualquier n?mero.
48
         * @param dataTypes Array con el tipo de datos que soporta. Cada posici?n del array contiene un entero 
49
         * que corresponde con un tipo de dato soportado. Los tipo de datos posibles est?n listados como constante
50
         * en la clase IBuffer
51
         * @param driver Clase con el driver de la libreria de raster que gestiona el formato.
52
         */
53
        public WriteFileFormatFeatures(String name, String ext, int[] bands, int[] dataTypes, Class driver) {
54
                this.driverName = name;
55
                this.ext = ext;
56
                this.nBandsSupported = bands;
57
                if(dataTypes != null)
58
                        this.dataTypesSupported = dataTypes;
59
                this.driver = driver;
60
        }
61
        
62
        public WriteFileFormatFeatures() {
63
                
64
        }
65
        
66
         /**
67
     * Carga los par?metros comunes a todos los drivers en el objeto WriterParams.
68
     */
69
    public void loadParams() {
70
            driverParams.clear();
71
            //Aqu? se definen los par?metros globales a todos los drivers.
72
    }
73
    
74
    /**
75
     * Obtiene los par?metros del driver.
76
     * @return WriterParams
77
     */
78
    public Params getParams() {
79
                return driverParams;
80
        }
81
    
82
    /**
83
     * Asigna los par?metros del driver modificados por el cliente.
84
     * @param Params
85
     */
86
    public void setParams(Params params) {
87
                this.driverParams = params;
88
        }
89
    
90
        /**
91
         * Obtiene la clase del driver que gestiona la escritura de ese tipo de formato
92
         * @return Clase del driver
93
         */
94
        public Class getDriver() {
95
                return driver;
96
        }
97
        
98
        /**
99
         * Asigna la clase del driver que gestiona la escritura de ese tipo de formato
100
         * @param Clase del driver
101
         */
102
        public void setDriver(Class driver) {
103
                this.driver = driver;
104
        }
105
        
106
        /**
107
         * Obtiene una lista de los tipos de datos soportados. Estos est?n definidos como
108
         * constantes en IBuffer.
109
         * @return Lista con los tipos de datos soportados
110
         */
111
        public int[] getDataTypesSupported() {
112
                return dataTypesSupported;
113
        }
114
        
115
        /**
116
         * Asigna una lista de los tipos de datos soportados. Estos est?n definidos como
117
         * constantes en IBuffer.
118
         * @param Lista con los tipos de datos soportados
119
         */
120
        public void setDataTypesSupported(int[] dataTypesSupported) {
121
                this.dataTypesSupported = dataTypesSupported;
122
        }
123
        
124
        /**
125
         * Obtiene el nombre del driver. En el caso de gdal debe coincidir con el nombre de driver de gdal.
126
         * @return Nombre del driver
127
         */
128
        public String getDriverName() {
129
                return driverName;
130
        }
131
        
132
        /**
133
         * Asigna el nombre del driver. En el caso de gdal debe coincidir con el nombre de driver de gdal.
134
         * @return Nombre del driver
135
         */
136
        public void setDriverName(String driverName) {
137
                this.driverName = driverName;
138
        }
139
        
140
        /**
141
         * Obtiene la extensi?n del formato
142
         * @return Cadena con la extensi?n del formato
143
         */
144
        public String getExt() {
145
                return ext;
146
        }
147
        
148
        /**
149
         * Asigna la extensi?n del formato
150
         * @param ext Cadena con la extensi?n del formato
151
         */
152
        public void setExt(String ext) {
153
                this.ext = ext;
154
        }
155
        
156
        /**
157
         * Obtiene el n?mero de bandas soportadas o -1 si es cualquier n?mero de ellas
158
         * @return N?mero de bandas soportadas
159
         */
160
        public int[] getNBandsSupported() {
161
                return nBandsSupported;
162
        }
163
        
164
        /**
165
         * Asigna el n?mero de bandas soportadas o -1 si es cualquier n?mero de ellas
166
         * @param N?mero de bandas soportadas
167
         */
168
        public void setNBandsSupported(int[] bandsSupported) {
169
                nBandsSupported = bandsSupported;
170
        }
171
}