Statistics
| Revision:

root / trunk / libraries / libjni-mrsid / src / main / java / es / gva / cit / jmrsid / LTIMetadataDatabase.java @ 20374

History | View | Annotate | Download (3.19 KB)

1
/**********************************************************************
2
 * $Id: LTIMetadataDatabase.java 3539 2006-01-09 12:23:20Z nacho $
3
 *
4
 * Name:     LTIMetadataDatabase.java
5
 * Project:  JMRSID. Interface java to mrsid (Lizardtech).
6
 * Purpose:   
7
 * Author:   Nacho Brodin, brodin_ign@gva.es
8
 *
9
 **********************************************************************/
10
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
11
*
12
* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
13
*
14
* This program is free software; you can redistribute it and/or
15
* modify it under the terms of the GNU General Public License
16
* as published by the Free Software Foundation; either version 2
17
* of the License, or (at your option) any later version.
18
*
19
* This program is distributed in the hope that it will be useful,
20
* but WITHOUT ANY WARRANTY; without even the implied warranty of
21
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22
* GNU General Public License for more details.
23
*
24
* You should have received a copy of the GNU General Public License
25
* along with this program; if not, write to the Free Software
26
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
27
*
28
* For more information, contact:
29
*
30
*  Generalitat Valenciana
31
*   Conselleria d'Infraestructures i Transport
32
*   Av. Blasco Ib??ez, 50
33
*   46010 VALENCIA
34
*   SPAIN
35
*
36
*      +34 963862235
37
*   gvsig@gva.es
38
*      www.gvsig.gva.es
39
*
40
*    or
41
*
42
*   IVER T.I. S.A
43
*   Salamanca 50
44
*   46005 Valencia
45
*   Spain
46
*
47
*   +34 963163400
48
*   dac@iver.es
49
*/
50

    
51
package es.gva.cit.jmrsid;
52

    
53

    
54

    
55
/**
56
 * Almacena los metadatos asociados a la im?gen.
57
 * 
58
 * @author Nacho Brodin <brodin_ign@gva.es>.<BR> Equipo de desarrollo gvSIG.<BR> http://www.gvsig.gva.es
59
 * @version 0.0
60
 * @link http://www.gvsig.gva.es
61
 */
62

    
63
public class LTIMetadataDatabase extends JNIBase{
64
        
65
        private native long getDataByIndexNat(long cPtr, int i);
66
        private native void FreeLTIMetadataDatabaseNat(long cPtr);
67
        
68
        public LTIMetadataDatabase(){}
69
        
70
        /**
71
         * Constructor
72
         * @param cPtr        direcci?n de memoria al objeto LTIMetadataDatabase de C. 
73
         */
74
        public LTIMetadataDatabase(long cPtr){
75
                
76
                super.cPtr=cPtr;
77
        }
78
        
79
        /**
80
         * Destructor 
81
         */
82
        protected void finalize(){
83
                
84
                if(cPtr != 0)
85
                        FreeLTIMetadataDatabaseNat(cPtr);
86
        }
87
                
88
                
89
        /**
90
         * Devuelve el n?mero de entradas.
91
         * @throws MrSIDException
92
         * @return n?mero de metadatos
93
         */
94
        public int getIndexCount()throws MrSIDException{
95
                
96
                String msg1="Error en getIndexCount. No se ha obtenido un puntero valido a LTIMetadataDatabase";
97
                String msg2="La llamada nativa a getIndexCount ha devuelto un c?digo de error";
98
                return baseSimpleFunction(0,msg1,msg2);
99
                
100
        }
101
        
102
        /**
103
         * Obtiene una entrada de metadatos a partir de su ?ndice.
104
         * @throws MrSIDException
105
         * @param i        ?ndice del metadato obtenido
106
         * @return objeto que contiene la entrada seleccionada
107
         */
108
        public LTIMetadataRecord getDataByIndex(int i)throws MrSIDException{
109
                
110
                if(cPtr == 0)
111
                         throw new MrSIDException("Error en getDataByIndex. La referencia al objeto no es valida.");
112

    
113
                LTIMetadataRecord metadata=new LTIMetadataRecord(getDataByIndexNat(cPtr,i));
114
                                
115
                if(metadata==null)
116
                         throw new MrSIDException("Objeto LTIMetadataRecord nulo");
117
                
118
                return metadata;
119
                
120
        }
121
        
122
        
123
}