Revision 2709

View differences:

branches/CqCMSDvp/libraries/libCq CMS for java.old/src/org/cresques/io/DxfGroupVector.java
52 52

  
53 53
        return false;
54 54
    }
55

  
55
    
56
    /**
57
     * Devuelve la informaci?n contenida en un DxfGroup.
58
     * @param code, la parte concreta del DxfGroup a la que queremos acceder
59
     * @return
60
     */
56 61
    public Object getData(int code) {
57 62
        DxfGroup grp = null;
58 63

  
......
66 71

  
67 72
        return null;
68 73
    }
69

  
74
    
75
    /**
76
     * Obtiene la informaci?n contenida en un DxfGroup en forma de String
77
     * @param code
78
     * @return
79
     */
70 80
    public String getDataAsString(int code) {
71 81
        return (String) getData(code);
72 82
    }
73

  
83
    
84
    /**
85
     * Obtiene la informaci?n contenida en un DxfGroup en forma de double
86
     * @param code
87
     * @return
88
     */
74 89
    public double getDataAsDouble(int code) {
75 90
        Double f = (Double) getData(code);
76 91

  
......
80 95

  
81 96
        return f.doubleValue();
82 97
    }
83

  
98
    
99
    /**
100
     * Obtiene la informaci?n contenida en un DxfGroup en forma de integer
101
     * @param code
102
     * @return
103
     */
84 104
    public int getDataAsInt(int code) {
85 105
        Integer i = (Integer) getData(code);
86 106

  
......
90 110

  
91 111
        return i.intValue();
92 112
    }
93

  
113
    
114
    /**
115
     * Permite obtener el contenido de un DxfGroup en forma de String
116
     */
94 117
    public String toString() {
95 118
        String str = "DxfGroupVector[";
96 119
        DxfGroup grp = null;
branches/CqCMSDvp/libraries/libCq CMS for java.old/src/org/cresques/io/DxfFile.java
43 43
import org.cresques.px.dxf.DxfHeaderManager;
44 44
import org.cresques.px.dxf.DxfHeaderVariables;
45 45

  
46
/**
47
 * Clase que representa un fichero en formato DXF. Contiene los interfaces y m?todos
48
 * necesarios para acceder a la informaci?n almacenada en su interior.
49
 * 
50
 * @author jmorell
51
 */
46 52
public class DxfFile extends GeoFile {
47 53
	
48 54
	private boolean cadFlag = true;
......
64 70
	 * @author "Luis W. Sevilla" <sevilla_lui@gva.es>
65 71
	 */
66 72
	public interface EntityFactory extends Projected {
67
		public void setAddingToBlock(boolean a);
73
        
74
		/**
75
         * Permite saber si se est?n a?adiendo elementos a un bloque
76
         * @param booleano que indica si se est?n a?adiendo elementos a un bloque
77
		 */
78
        public void setAddingToBlock(boolean a);
79
        
80
        /**
81
         * Crea una nueva capa partiendo de la informaci?n almacenada en el DXF
82
         * @param DxfGroupVector con informaci?n para la construcci?n de la nueva capa
83
         * @throws Exception
84
         */
68 85
		public void createLayer(DxfGroupVector v) throws Exception ;
86
        
87
        /**
88
         * Crea una nueva polil?nea partiendo de la informaci?n almacenada en el DXF
89
         * @param DxfGroupVector con informaci?n para la construcci?n de la nueva polil?nea
90
         * @throws Exception
91
         */
69 92
		public void createPolyline(DxfGroupVector v) throws Exception ;
93
        
94
        /**
95
         * A?ade un v?rtice a la polil?nea que se est? creando
96
         * @param DxfGroupVector con la informaci?n necesaria para la adici?n del v?rtice
97
         * @throws Exception
98
         */
70 99
		public void addVertex(DxfGroupVector v) throws Exception ;
71
		public void endSeq() throws Exception ;
100
		
101
        /**
102
         * Fin de secuencia
103
         * @throws Exception
104
         */
105
        public void endSeq() throws Exception ;
106
        
107
        /**
108
         * Crea una nueva LwPolyline partiendo de la informaci?n almacenada en el DXF
109
         * @param DxfGroupVector con informaci?n para la construcci?n de la nueva polil?nea
110
         * @throws Exception
111
         */
72 112
		public void createLwPolyline(DxfGroupVector v) throws Exception ;
73
		public void createLine(DxfGroupVector v) throws Exception ;
74
		public void createText(DxfGroupVector v) throws Exception ;
75
		public void createMText(DxfGroupVector v) throws Exception ;
76
		public void createPoint(DxfGroupVector v) throws Exception ;
77
		public void createCircle(DxfGroupVector v) throws Exception ;
78
		public void createEllipse(DxfGroupVector v) throws Exception ;
79
		public void createArc(DxfGroupVector v) throws Exception ;
80
		public void createInsert(DxfGroupVector v) throws Exception ;
81
		public void createSolid(DxfGroupVector v) throws Exception ;
82
		public void createSpline(DxfGroupVector v) throws Exception ;
83
		public void createAttdef(DxfGroupVector v) throws Exception ;
84
		public void createAttrib(DxfGroupVector v) throws Exception ;
85
		public void createBlock(DxfGroupVector v) throws Exception ;
86
		public void endBlk(DxfGroupVector v) throws Exception ;
87
		void testBlocks();
88
		public Extent getExtent();
89
		public Vector getBlkList();
90
		// Para manejar los atributos almacenados en DXFs.
91
		public Vector getAttributes();
92
		public void depureAttributes();
93
		public IObjList getObjects();
94
		public boolean isDxf3DFile();
113
		
114
        /**
115
         * Crea una nueva l?nea partiendo de la informaci?n almacenada en el DXF
116
         * @param DxfGroupVector con informaci?n para la construcci?n de la nueva l?nea
117
         * @throws Exception
118
         */
119
        public void createLine(DxfGroupVector v) throws Exception ;
120
		
121
        /**
122
         * Crea un nuevo texto partiendo de la informaci?n almacenada en el DXF
123
         * @param DxfGroupVector con informaci?n para la construcci?n del nuevo texto
124
         * @throws Exception
125
         */
126
        public void createText(DxfGroupVector v) throws Exception ;
127
		
128
        /**
129
         * Crea un nuevo MText partiendo de la informaci?n almacenada en el DXF
130
         * @param DxfGroupVector con informaci?n para la construcci?n del nuevo MText
131
         * @throws Exception
132
         */
133
        public void createMText(DxfGroupVector v) throws Exception ;
134
		
135
        /**
136
         * Crea un nuevo punto partiendo de la informaci?n almacenada en el DXF
137
         * @param DxfGroupVector con informaci?n para la construcci?n del nuevo punto
138
         * @throws Exception
139
         */
140
        public void createPoint(DxfGroupVector v) throws Exception ;
141
		
142
        /**
143
         * Crea un nuevo c?rculo partiendo de la informaci?n almacenada en el DXF
144
         * @param DxfGroupVector con informaci?n para la construcci?n del nuevo c?rculo
145
         * @throws Exception
146
         */
147
        public void createCircle(DxfGroupVector v) throws Exception ;
148
		
149
        /**
150
         * Crea una nueva elipse partiendo de la informaci?n almacenada en el DXF
151
         * @param DxfGroupVector con informaci?n para la construcci?n de la nueva elipse
152
         * @throws Exception
153
         */
154
        public void createEllipse(DxfGroupVector v) throws Exception ;
155
		
156
        /**
157
         * Crea un nuevo arco partiendo de la informaci?n almacenada en el DXF
158
         * @param DxfGroupVector con informaci?n para la construcci?n del nuevo arco
159
         * @throws Exception
160
         */
161
        public void createArc(DxfGroupVector v) throws Exception ;
162
		
163
        /**
164
         * Crea un nuevo punto de inserci?n partiendo de la informaci?n almacenada en el DXF
165
         * @param DxfGroupVector con informaci?n para la construcci?n del nuevo punto de inserci?n
166
         * @throws Exception
167
         */
168
        public void createInsert(DxfGroupVector v) throws Exception ;
169
		
170
        /**
171
         * Crea un nuevo s?lido 2D partiendo de la informaci?n almacenada en el DXF
172
         * @param DxfGroupVector con informaci?n para la construcci?n del nuevo s?lido
173
         * @throws Exception
174
         */
175
        public void createSolid(DxfGroupVector v) throws Exception ;
176
		
177
        /**
178
         * Crea un nuevo Spline partiendo de la informaci?n almacenada en el DXF
179
         * @param DxfGroupVector con informaci?n para la construcci?n del nuevo Spline
180
         * @throws Exception
181
         */
182
        public void createSpline(DxfGroupVector v) throws Exception ;
183
		
184
        /**
185
         * Construye la definici?n de un nuevo atributo partiendo de la informaci?n almacenada en el DXF
186
         * @param DxfGroupVector con informaci?n para la construcci?n de la definici?n del nuevo atributo
187
         * @throws Exception
188
         */
189
        public void createAttdef(DxfGroupVector v) throws Exception ;
190
		
191
        /**
192
         * Crea un nuevo atributo partiendo de la informaci?n almacenada en el DXF
193
         * @param DxfGroupVector con informaci?n para la creaci?n del nuevo atributo
194
         * @throws Exception
195
         */
196
        public void createAttrib(DxfGroupVector v) throws Exception ;
197
		
198
        /**
199
         * Crea un bloque
200
         * @param DxfGroupVector con informaci?n para la creaci?n del nuevo elemento
201
         * @throws Exception
202
         */
203
        public void createBlock(DxfGroupVector v) throws Exception ;
204
		
205
        /**
206
         * Fin de la definici?n de un bloqe
207
         * @param DxfGroupVector con informaci?n referente al final de un bloque
208
         * @throws Exception
209
         */
210
        public void endBlk(DxfGroupVector v) throws Exception ;
211
		
212
        /**
213
         * Gestiona los bloques que no se han tratado en la primera vuelta
214
         */
215
        void testBlocks();
216
		
217
        /**
218
         * Devuelve el extent
219
         * @return el extent
220
         */
221
        public Extent getExtent();
222
		
223
        /**
224
         * Devuelve la lista de bloques
225
         * @return la lista de bloques
226
         */
227
        public Vector getBlkList();
228
		
229
		/**
230
         * Permite la gesti?n de los atributos almacenados en unn DXF
231
         * @return un Vector con la lista de atributos
232
		 */
233
        public Vector getAttributes();
234
		
235
        /**
236
         * Borra los atributos repetidos
237
         */
238
        public void depureAttributes();
239
		
240
        /**
241
         * Devuelve los objetos almacenados en el DXF
242
         * @return IObjList con los objetos procedentes del DXF
243
         */
244
        public IObjList getObjects();
245
		
246
        /**
247
         * Permite saber si se trata de un fichero DXF en 2D o en 3D
248
         * @return booleano que indica si se trata de un fichero DXF 3D
249
         */
250
        public boolean isDxf3DFile();
95 251
	};
96 252
	
97 253
	/**
......
104 260
		
105 261
		/**
106 262
		 * Establece la versi?n de Autocad en la que fue generado el DXF.
107
		 * @param v
263
		 * @param informaci?n de base
108 264
		 * @throws Exception
109 265
		 */
110 266
		public void setAcadVersion(DxfGroupVector v) throws Exception ;
......
123 279
		
124 280
	};
125 281
	
282
    /**
283
     * Constructor de la clase
284
     * @param proj, la proyecci?n cartogr?fica
285
     * @param name, el path absoluto hasta el fichero DXF
286
     * @param maker, el interface que permite la construcci?n de las entidades procedentes del DXF
287
     */
126 288
	public DxfFile(IProjection proj, String name, EntityFactory maker) {
127 289
		super(proj, name);
128 290
		entityMaker = maker;
129 291
		headerManager = new DxfHeaderManager();
130 292
	}
131 293
	
132
	// 041215: Metiendole el interface VarSettings. No me gusta pero no se como
133
	// evitar que pierda el objeto.
134
	public DxfFile(IProjection proj, String name, EntityFactory maker, VarSettings dxfVars) {
294
    /**
295
     * Constructor de la clase que adem?s incorpora la capacidad de leer una porci?n del HEADER
296
     * @param proj, la proyecci?n cartogr?fica
297
     * @param name, el path absoluto hasta el fichero DXF
298
     * @param maker, el interface que permite la construcci?n de las entidades procedentes del DXF
299
     * @param dxfVars, el interface que permite la lectura del HEADER de un DXF
300
     */
301
    public DxfFile(IProjection proj, String name, EntityFactory maker, VarSettings dxfVars) {
135 302
		super(proj, name);
136 303
		entityMaker = maker;
137 304
		headerManager = dxfVars;
138 305
	}
139 306
	
140 307
	/**
141
	 * Carga un .dxf
308
	 * Carga un fichero en formato DXF
142 309
	 */
143 310
	public GeoFile load() {
144 311
		System.out.println("Dxf: Cargando "+name+" ...");
......
158 325
		return this;
159 326
	}
160 327
	
328
    /**
329
     * Carga un fichero en formato DXF tomando un Reader como par?metro
330
     * @param fr, Reader que se le pasa como par?metro
331
     * @return devuelve un objeto GeoFile, padre de DxfFile
332
     * @throws NumberFormatException
333
     * @throws Exception
334
     */
161 335
	public GeoFile load(Reader fr) throws NumberFormatException, Exception {
162 336
		System.out.println("Dxf: Cargando '"+name+"' ...");
163 337
		fi = new BufferedReader(fr);
......
175 349
		return this;
176 350
	}
177 351
	
352
    /**
353
     * El fichero DXF se divide en grupos. Este m?todo permite leer cada grupo individualmente
354
     * @return devuelve la informaci?n del DXF en forma de objetos de la clase DxfGroup
355
     * @throws NumberFormatException
356
     * @throws IOException
357
     */
178 358
	private DxfGroup readGrp() throws NumberFormatException, IOException {
179 359
		DxfGroup g = DxfGroup.read(fi);
180 360
		if (g != null) l += 2;
......
186 366
		return g;
187 367
	}
188 368
	
369
    /**
370
     * El fichero DXF se divide en varias secciones. Este m?todo se encarga de leer cada
371
     * una de ellas
372
     * @throws NumberFormatException
373
     * @throws Exception
374
     */
189 375
	private void readSection() throws NumberFormatException, Exception {
190 376
		while (true) {
191 377
			grp = readGrp(); System.out.print("-1:"+grp);
......
213 399
		}		
214 400
	}
215 401
	
402
    /**
403
     * Habilita la lectura de la secci?n de TABLES
404
     * @throws NumberFormatException
405
     * @throws Exception
406
     */
216 407
	private void readTables() throws NumberFormatException, Exception {
217 408
		System.out.println("Dxf: Seccion TABLAS, linea "+ l+ "grp ="+ grp);
218 409
		int layerCnt = 0;
......
268 459
		System.out.println("Dxf: Seccion TABLAS: " + layerCnt + " Capas. ");
269 460
	}
270 461
	
462
    /**
463
     * M?todo de lectura de secci?n por defecto. Se utiliza mientras se realiza la
464
     * implementaci?n correspondiente
465
     * @throws NumberFormatException
466
     * @throws IOException
467
     */
271 468
	private void readAnySection() throws NumberFormatException, IOException {
272 469
		System.out.println("Dxf: Seccion '"+((String) grp.getData())+"', linea "+ l);
273 470
		while (true) {
......
325 522
		System.out.println("readHeader: ACAD Version: " + headerManager.getDxfHeaderVars().getAcadVersion());
326 523
	}	
327 524
	
525
    /**
526
     * Permite leer la secci?n ENTITIES del DXF, donde se encuentran las entidades
527
     * geom?tricas del DXF que no aparecen dentro de ning?n bloque
528
     * @throws NumberFormatException
529
     * @throws Exception
530
     */
328 531
	private void readEntities() throws NumberFormatException, Exception {
329 532
		System.out.println("Dxf: Seccion ENTITIES, linea "+ l);
330 533
		int entityCnt = 0;
......
386 589
		//System.out.println("Seccion ENTITIES, linea "+ l+ " (SALGO)");
387 590
	}
388 591
	
592
    /**
593
     * Permite la secci?n BLOCKS del DXF, donde se encuentran las definiciones de los
594
     * bloques que componen el DXF
595
     * @throws NumberFormatException
596
     * @throws Exception
597
     */
389 598
	private void readBlocks() throws NumberFormatException, Exception {
390 599
		System.out.println("Dxf: Seccion BLOCKS, linea "+ l);
391 600
		int blkCnt = 0;
......
469 678
		System.out.println("Dxf: Seccion BLOCKS, " + blkCnt + " elementos de bloque. "+ cntVeces + " veces.");
470 679
	}
471 680
	
681
    /**
682
     * Devuelve los objetos geom?tricos obtenidos de un DXF
683
     */
472 684
	public IObjList getObjects() {
473 685
		return this.entityMaker.getObjects();
474 686
	}
475 687
	
476 688
	/**
477
	 * jmorell: M?todo que permite salvar al formato DXF2000.
689
	 * jmorell: M?todo que permite salvar capas al formato DXF2000.
478 690
	 * Este m?todo ha sido actualizado en el proceso de implementaci?n del piloto
479 691
	 * de CAD. En este piloto deb?a existir soporte para elipses, y este es uno de
480 692
	 * los motivos que nos llevan a implementar ahora para DXF2000, puesto que el
......
503 715
		t2 = getTime();
504 716
		System.out.println("DxfFile.save(): Tiempo salvando: " + (t2-t1)/1000 + " seg.");
505 717
	}
718
    
506 719
	/**
507 720
	 * Escritor de la cabecera de un DXF.
508 721
	 * jmorell: Actualizaci?n del escritor de DXF de R12 a 2000.
509
	 * @param fw
722
	 * @param fw, un FileWriter para escribir ficheros
510 723
	 * @throws IOException
511 724
	 */
512 725
	public void writeHeader(FileWriter fw) throws IOException {
......
712 925
	
713 926
	/**
714 927
	 * Escritor de la secci?n TABLES de un DXF.
715
	 * @param fw
928
	 * @param fw, FileWriter
716 929
	 * @throws IOException
717 930
	 */
718 931
	public void writeTables(FileWriter fw) throws IOException {
......
734 947
		writeBlockRecordTable(fw);
735 948
		fw.write(DxfGroup.toString(0, "ENDSEC"));
736 949
	}
950
    
737 951
	/**
738 952
	 * Escritor de la tabla VPORT.
739 953
	 * @param fw
......
800 1014
		fw.write(DxfGroup.toString(146, 0.0, 4));*/
801 1015
		fw.write(DxfGroup.toString(0, "ENDTAB"));
802 1016
	}
1017
    
803 1018
	/**
804 1019
	 * Escritor de la tabla LTYPE.
805 1020
	 * @param fw
......
838 1053
		fw.write(DxfGroup.toString(40, 0.0, 4));
839 1054
		fw.write(DxfGroup.toString(0, "ENDTAB"));
840 1055
	}
1056
    
841 1057
	/**
842 1058
	 * Escritor de la tabla LAYER.
843 1059
	 * @param fw
......
863 1079
		fw.write(DxfGroup.toString(390, "F"));
864 1080
		fw.write(DxfGroup.toString(0, "ENDTAB"));
865 1081
	}
1082
    
866 1083
	/**
867 1084
	 * Escritor de la tabla STYLE.
868 1085
	 * @param fw
......
893 1110
		fw.write(DxfGroup.toString(4, ""));
894 1111
		fw.write(DxfGroup.toString(0, "ENDTAB"));
895 1112
	}
1113
    
896 1114
	/**
897 1115
	 * Escritor de la tabla VIEW.
898 1116
	 * @param fw
......
906 1124
		fw.write(DxfGroup.toString(70, 0));
907 1125
		fw.write(DxfGroup.toString(0, "ENDTAB"));
908 1126
	}
1127
    
909 1128
	/**
910 1129
	 * Escritor de la tabla UCS.
911 1130
	 * @param fw
......
919 1138
		fw.write(DxfGroup.toString(70, 0));
920 1139
		fw.write(DxfGroup.toString(0, "ENDTAB"));
921 1140
	}
1141
    
922 1142
	/**
923 1143
	 * Escritor de la tabla APPID.
924 1144
	 * @param fw
......
938 1158
		fw.write(DxfGroup.toString(70, 1));
939 1159
		fw.write(DxfGroup.toString(0, "ENDTAB"));
940 1160
	}
1161
    
941 1162
	/**
942 1163
	 * Escritor de la tabla DIMSTYLE.
943 1164
	 * @param fw
......
952 1173
		fw.write(DxfGroup.toString(100, "AcDbDimStyleTable"));
953 1174
		fw.write(DxfGroup.toString(0, "ENDTAB"));
954 1175
	}
1176
    
955 1177
	/**
956 1178
	 * Escritor de la tabla BLOCK_RECORD.
957 1179
	 * @param fw
......
983 1205
		fw.write(DxfGroup.toString(340, "26"));
984 1206
		fw.write(DxfGroup.toString(0, "ENDTAB"));
985 1207
	}
1208
    
986 1209
	/**
987 1210
	 * Escritor de la secci?n de bloques por defecto de un DXF2000.
988 1211
	 * @param fw
......
1046 1269
		fw.write(DxfGroup.toString(100, "AcDbBlockEnd"));
1047 1270
		fw.write(DxfGroup.toString(0, "ENDSEC"));
1048 1271
	}
1272
    
1049 1273
	/**
1050
	 * Escritor de la secci?n de entidades.
1274
	 * Escritor de la secci?n ENTITIES de entidades.
1051 1275
	 * @param fw
1052 1276
	 * @throws IOException
1053 1277
	 */
......
1393 1617
		fw.write(DxfGroup.toString(0, "ENDSEC"));
1394 1618
	}
1395 1619
	
1620
    /**
1621
     * Habilita la reproyecci?n cartogr?fica
1622
     */
1396 1623
	public void reProject(ICoordTrans rp) {
1397 1624
		System.out.println("Dxf: reproyectando ...");
1398 1625
		entityMaker.reProject(rp);
......
1405 1632
		// TODO Auto-generated method stub
1406 1633
		
1407 1634
	}
1635
    
1408 1636
	/**
1637
     * Informa sobre si estamos trabajando con el modelo de datos GIS o con el de CAD
1409 1638
	 * @return Returns the cadFlag.
1410 1639
	 */
1411 1640
	public boolean isCadFlag() {
1412 1641
		return cadFlag;
1413 1642
	}
1643
    
1414 1644
	/**
1645
     * Establece si trabajamos con el modelo de datos GIS o con el de CAD
1415 1646
	 * @param cadFlag The cadFlag to set.
1416 1647
	 */
1417 1648
	public void setCadFlag(boolean cadFlag) {
branches/CqCMSDvp/libraries/libCq CMS for java.old/src/org/cresques/io/DxfGroup.java
77 77
                                                          };
78 78
    int code;
79 79
    Object data;
80

  
80
    
81
    /**
82
     * Constructor por defecto.
83
     */
81 84
    public DxfGroup() {
82 85
        code = -1;
83 86
        data = null;
84 87
    }
85

  
88
    
89
    /**
90
     * Constructor habitual. Representa una entidad individual dentro del DXF
91
     * @param code, ?ndice del dato dentro del DxfGroup
92
     * @param data, el propio dato que queda almacenado en el DxfGroup
93
     */
86 94
    public DxfGroup(int code, String data) {
87 95
        this.code = code;
88 96
        this.data = data;
89 97
    }
90

  
98
    
99
    /**
100
     * Lee una entidad del DXF y la empaqueta en un DxfGroup.
101
     * @param fi, BufferedReader mediante el cual accedemos al DXF
102
     * @return DxfGroup con la informaci?n procedente del DXF
103
     * @throws NumberFormatException
104
     * @throws IOException
105
     */
91 106
    public static DxfGroup read(BufferedReader fi)
92 107
                         throws NumberFormatException, IOException {
93 108
        DxfGroup grp = null;
......
105 120

  
106 121
        return grp;
107 122
    }
108

  
123
    
124
    /**
125
     * Devuelve el code
126
     * @return
127
     */
109 128
    public int getCode() {
110 129
        return code;
111 130
    }
112

  
131
    
132
    /**
133
     * Devuelve data
134
     * @return
135
     */
113 136
    public Object getData() {
114 137
        return data;
115 138
    }
116

  
139
    
140
    /**
141
     * Lee un dato individual dentro de un DxfGroup
142
     * @param fi, BufferedReader
143
     * @throws IOException
144
     */
117 145
    private void readData(BufferedReader fi) throws IOException {
118 146
        String txt = fi.readLine().trim();
119 147

  
......
189 217

  
190 218
        //return _dfun
191 219
    }
192

  
220
    
221
    /**
222
     * Permite comparar dos objetos de la clase DxfGroup
223
     * @param c, code
224
     * @param s, data
225
     * @return boolean
226
     */
193 227
    public boolean equals(int c, String s) {
194 228
        if ((c == code) && (s.compareTo((String) data) == 0)) {
195 229
            return true;
......
197 231

  
198 232
        return false;
199 233
    }
200

  
234
    
235
    /**
236
     * Devuelve un dato concreto en forma de String tabulado
237
     * @param code
238
     * @return String
239
     */
201 240
    public static String int34car(int code) {
202 241
        if (code < 10) {
203 242
            return "  " + Integer.toString(code);
......
207 246
            return Integer.toString(code);
208 247
        }
209 248
    }
210

  
249
    
250
    /**
251
     * Devuelve un dato concreto en forma de String tabulado
252
     * @param value
253
     * @return String
254
     */
211 255
    public static String int6car(int value) {
212 256
        String s = "     " + Integer.toString(value);
213 257

  
214 258
        return s.substring(s.length() - 6, s.length());
215 259
    }
216

  
260
    
261
    /**
262
     * Convierte a String un dato del DxfGroup
263
     * @param code
264
     * @param value
265
     * @return String
266
     */
217 267
    public static String toString(int code, String value) {
218 268
        return int34car(code) + "\r\n" + value + "\r\n";
219 269
    }
220

  
270
    
271
    /**
272
     * Convierte a String un dato del DxfGroup
273
     * @param code
274
     * @param value
275
     * @return String
276
     */
221 277
    public static String toString(int code, int value) {
222 278
        return int34car(code) + "\r\n" + int6car(value) + "\r\n";
223 279
    }
224

  
280
    
281
    /**
282
     * Convierte a String un dato del DxfGroup
283
     * @param code
284
     * @param value
285
     * @param decimalPartLength
286
     * @return String
287
     */
225 288
    public static String toString(int code, float value, int decimalPartLength) {
226 289
        return int34car(code) + "\r\n" +
227 290
               decimalFormats[decimalPartLength].format((double) value) +
228 291
               "\r\n";
229 292
    }
230

  
293
    
294
    /**
295
     * Convierte a String un dato del DxfGroup
296
     * @param code
297
     * @param value
298
     * @param decimalPartLength
299
     * @return String
300
     */
231 301
    public static String toString(int code, double value, int decimalPartLength) {
232 302
        return int34car(code) + "\r\n" +
233 303
               decimalFormats[decimalPartLength].format(value) + "\r\n";
234 304
    }
235

  
305
    
306
    /**
307
     * Convierte a String un dato del DxfGroup
308
     * @param code
309
     * @param value
310
     * @return String
311
     */
236 312
    public static String toString(int code, Object value) {
237 313
        if (value instanceof String) {
238 314
            return toString(code, (String) value);
......
246 322
            return toString(code, value.toString());
247 323
        }
248 324
    }
249

  
325
    
326
    /**
327
     * Convierte a String un dato del DxfGroup
328
     */
250 329
    public String toString() {
251 330
        return toString(code, data);
252 331
    }
253 332

  
254 333
    /**
255
     * jmorell: Permite rellenar los datos. ?til en la escirtura de DXFs.
334
     * jmorell: Permite rellenar los datos. ?til en la escritura de DXFs.
256 335
     * @param data The data to set.
257 336
     */
258 337
    public void setData(Object data) {
......
260 339
    }
261 340

  
262 341
    /**
263
     * jmorell: Permite rellenar los c?digos. ?til en la escirtura de DXFs.
342
     * jmorell: Permite rellenar los c?digos. ?til en la escritura de DXFs.
264 343
     * @param code The code to set.
265 344
     */
266 345
    public void setCode(int code) {

Also available in: Unified diff