001: /*
002: * This file is part of the GeOxygene project source files.
003: *
004: * GeOxygene aims at providing an open framework which implements OGC/ISO specifications for
005: * the development and deployment of geographic (GIS) applications. It is a open source
006: * contribution of the COGIT laboratory at the Institut Géographique National (the French
007: * National Mapping Agency).
008: *
009: * See: http://oxygene-project.sourceforge.net
010: *
011: * Copyright (C) 2005 Institut Géographique National
012: *
013: * This library is free software; you can redistribute it and/or modify it under the terms
014: * of the GNU Lesser General Public License as published by the Free Software Foundation;
015: * either version 2.1 of the License, or any later version.
016: *
017: * This library is distributed in the hope that it will be useful, but WITHOUT ANY
018: * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
019: * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
020: *
021: * You should have received a copy of the GNU Lesser General Public License along with
022: * this library (see file LICENSE if present); if not, write to the Free Software
023: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
024: *
025: */
026:
027: package fr.ign.cogit.geoxygene.datatools;
028:
029: import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Envelope;
030:
031: /**
032: * Classe pour décrire les métadonnées des classes java persistantes.
033: * S'il s'agit de classes géographiques, des métadonnées sur la géométrie sont renseignées.
034: * Cette classe est instanciée à l'initialisation de Geodatabase.
035: * (on crée une liste de Métadata, une valeur par classe persistante).
036: *
037: * @author Thierry Badard & Arnaud Braun
038: * @version 1.0
039: */
040:
041: public class Metadata {
042:
043: /////////////////////////////////////////////////////////////////
044: /// attributs ///////////////////////////////////////////////////
045: /////////////////////////////////////////////////////////////////
046: /** Le nom de la classe persistante. */
047: protected String _className;
048:
049: /** La table du SGBD. */
050: protected String _tableName;
051:
052: /** La colonne où est stockée la géométrie (mono-représentation !).*/
053: protected String _geomColumnName;
054:
055: /** La colonne où est stocké la clef (ne gère pas les clefs complexes !). */
056: protected String _idColumnName;
057:
058: /** Le nom de l'attribut qui "mappe" la clef (ne gère pas les clefs complexes !). */
059: protected String _idFieldName;
060:
061: /** L'identifant du système de coordonnées. */
062: protected int _SRID;
063:
064: /** L'enveloppe de la couche. */
065: protected GM_Envelope _envelope; //
066:
067: /** La tolerance sur les coordonnées.
068: _tolerance[0] = tolerance sur X, etc.*/
069: protected double[] _tolerance;
070:
071: /** Dimension des coordonnées (2D ou 3D). */
072: protected int _dimension;
073:
074: /////////////////////////////////////////////////////////////////
075: /// get /////////////////////////////////////////////////////////
076: /////////////////////////////////////////////////////////////////
077: /** Le nom de la classe persistante. */
078: public String getClassName() {
079: return _className;
080: }
081:
082: /** La classe java persistante; */
083: public Class getJavaClass() {
084: try {
085: return Class.forName(_className);
086: } catch (Exception e) {
087: e.printStackTrace();
088: return null;
089: }
090: }
091:
092: /** La table du SGBD. */
093: public String getTableName() {
094: return _tableName;
095: }
096:
097: /** La colonne où est stockée la géométrie (mono-représentation !). */
098: public String getGeomColumnName() {
099: return _geomColumnName;
100: }
101:
102: /** La colonne où est stocké la clef (ne gère pas les clefs complexes !). */
103: public String getIdColumnName() {
104: return _idColumnName;
105: }
106:
107: /** Le nom de l'attribut qui "mappe" la clef (ne gère pas les clefs complexes !). */
108: public String getIdFieldName() {
109: return _idFieldName;
110: }
111:
112: /** L'identifant du système de coordonnées.
113: Vaut 0 s'il n'est pas affecté, ou si la classe n'est pas géographique.*/
114: public int getSRID() {
115: return _SRID;
116: }
117:
118: /** L'enveloppe de la couche.
119: Vaut null si la classe n'est pas géographique. */
120: public GM_Envelope getEnvelope() {
121: return _envelope;
122: }
123:
124: /** La tolerance sur les coordonnées.
125: _tolerance[0] = tolerance sur X, etc.
126: Vaut null si la classe n'est pas géographique. */
127: public double[] getTolerance() {
128: return _tolerance;
129: }
130:
131: /** La tolerance sur les coordonnées.
132: getTolerance(i) = tolerance sur X, etc.
133: Vaut null si la classe n'est pas géographique. */
134: public double getTolerance(int i) {
135: return _tolerance[i];
136: }
137:
138: /** Dimension des coordonnées (2D ou 3D).
139: Vaut null si la classe n'est pas géographique. */
140: public int getDimension() {
141: return _dimension;
142: }
143:
144: /////////////////////////////////////////////////////////////////
145: /// set /////////////////////////////////////////////////////////
146: /////////////////////////////////////////////////////////////////
147: public void setClassName(String ClassName) {
148: _className = ClassName;
149: }
150:
151: public void setTableName(String TableName) {
152: _tableName = TableName;
153: }
154:
155: public void setGeomColumnName(String GeomColumnName) {
156: _geomColumnName = GeomColumnName;
157: }
158:
159: public void setIdColumnName(String IdColumnName) {
160: _idColumnName = IdColumnName;
161: }
162:
163: public void setIdFieldName(String IdFieldName) {
164: _idFieldName = IdFieldName;
165: }
166:
167: public void setSRID(int SRID) {
168: _SRID = SRID;
169: }
170:
171: public void setEnvelope(GM_Envelope Envelope) {
172: _envelope = Envelope;
173: }
174:
175: public void setTolerance(double[] Tolerance) {
176: _tolerance = Tolerance;
177: }
178:
179: public void setTolerance(int i, double Tolerance) {
180: _tolerance[i] = Tolerance;
181: }
182:
183: public void setDimension(int Dimension) {
184: _dimension = Dimension;
185: }
186:
187: }
|