Revision 3513 branches/FMap_CAD/libraries/libFMap/src/com/iver/cit/gvsig/fmap/edition/ExpansionFile.java

View differences:

ExpansionFile.java
8 8

  
9 9

  
10 10
/**
11
 * Maneja el fichero de extensi?n en el que se almacenan las modificacionesy adici?nes
12
 * durante la edici?n. Los ?ndices que devuelve esta clase en sus m?todos
13
 * addGeometry y modifyGeometry son invariables, es decir, que si se invoca un
14
 * m?todo addGeometry que retorna un 8, independientemente de las operaciones
15
 * que se realicen posteriormente, una llamada a getGeometry(8) retornar?
16
 * dicha geometr?a. Si esta geometr?a es eliminada posteriormente, se retornar? un
17
 * null. Esto ?ltimo se cumple mientras no se invoque el m?todo compact, mediante
18
 * el que se reorganizan las geometr?as dejando en el fichero s?lo las que tienen
19
 * validez en el momento de realizar la invocaci?n.
11
 * Maneja el fichero de extensi?n en el que se almacenan las modificacionesy
12
 * adici?nes durante la edici?n. Los ?ndices que devuelve esta clase en sus
13
 * m?todos addGeometry y modifyGeometry son invariables, es decir, que si se
14
 * invoca un m?todo addGeometry que retorna un 8, independientemente de las
15
 * operaciones que se realicen posteriormente, una llamada a getGeometry(8)
16
 * retornar? dicha geometr?a. Si esta geometr?a es eliminada posteriormente,
17
 * se retornar? un null. Esto ?ltimo se cumple mientras no se invoque el
18
 * m?todo compact, mediante el que se reorganizan las geometr?as dejando en el
19
 * fichero s?lo las que tienen validez en el momento de realizar la
20
 * invocaci?n.
20 21
 */
21 22
public interface ExpansionFile {
22
	/**
23
	 * A?ade una geometria al final del fichero y retorna el ?ndice que ocupa
24
	 * esta geometria en el mismo
25
	 *
26
	 * @param g DOCUMENT ME!
27
	 *
28
	 * @return DOCUMENT ME!
29
	 *
30
	 * @throws IOException
31
	 */
32
	int addGeometry(IGeometry g) throws IOException;
23
    /**
24
     * A?ade una geometria al final del fichero y retorna el ?ndice que ocupa
25
     * esta geometria en el mismo
26
     *
27
     * @param g DOCUMENT ME!
28
     *
29
     * @return DOCUMENT ME!
30
     *
31
     * @throws IOException
32
     */
33
    int addGeometry(IGeometry g) throws IOException;
33 34

  
34
	/**
35
	 * Modifica la index-?sima geometr?a del fichero devolviendo la posici?n en
36
	 * la que se pone la geometria modificada.
37
	 *
38
	 * @param index DOCUMENT ME!
39
	 * @param g DOCUMENT ME!
40
	 *
41
	 * @return DOCUMENT ME!
42
	 *
43
	 * @throws IOException
44
	 */
45
	int modifyGeometry(int index, IGeometry g) throws IOException;
35
    /**
36
     * Modifica la index-?sima geometr?a del fichero devolviendo la posici?n en
37
     * la que se pone la geometria modificada.
38
     *
39
     * @param index DOCUMENT ME!
40
     * @param g DOCUMENT ME!
41
     *
42
     * @return DOCUMENT ME!
43
     *
44
     * @throws IOException
45
     */
46
    int modifyGeometry(int index, IGeometry g) throws IOException;
46 47

  
47
	/**
48
	 * Obtiene la geometria que hay en el ?ndice 'index' o null si la geometr?a
49
	 * ha sido invalidada.
50
	 *
51
	 * @param index DOCUMENT ME!
52
	 *
53
	 * @return DOCUMENT ME!
54
	 *
55
	 * @throws IOException
56
	 */
57
	IGeometry getGeometry(int index) throws IOException;
48
    /**
49
     * Obtiene la geometria que hay en el ?ndice 'index' o null si la geometr?a
50
     * ha sido invalidada.
51
     *
52
     * @param index DOCUMENT ME!
53
     *
54
     * @return DOCUMENT ME!
55
     *
56
     * @throws IOException
57
     */
58
    IGeometry getGeometry(int index) throws IOException;
58 59

  
59
	/**
60
	 * Invalida una geometr?a, de cara a una futura compactaci?n del fichero
61
	 *
62
	 * @param index DOCUMENT ME!
63
	 */
64
	void invalidateGeometry(int index);
60
    /**
61
     * Invalida una geometr?a, de cara a una futura compactaci?n del fichero
62
     *
63
     * @param index DOCUMENT ME!
64
     */
65
    void invalidateGeometry(int index);
65 66

  
66
	/**
67
	 * Realiza una compactaci?n del fichero que maneja esta clase
68
	 *
69
	 * @param relations DOCUMENT ME!
70
	 */
71
	void compact(HashMap relations);
67
    /**
68
     * Valida una geometr?a, de cara a una futura compactaci?n del fichero
69
     *
70
     * @param index ?ndice de la geometr?a a desmarcar como invalidada.
71
     */
72
    void validateGeometry(int index);
72 73

  
73
	/**
74
	 * Devuelve el n?mero de geometr?as del fichero.
75
	 *
76
	 * @return n?mero de geometr?as.
77
	 */
78
	int getGeometryCount();
74
    /**
75
     * Realiza una compactaci?n del fichero que maneja esta clase
76
     *
77
     * @param relations DOCUMENT ME!
78
     */
79
    void compact(HashMap relations);
80

  
81
    /**
82
     * Devuelve el n?mero de geometr?as del fichero.
83
     *
84
     * @return n?mero de geometr?as.
85
     */
86
    int getGeometryCount();
87

  
88
    /**
89
     * Mueve el puntero de escritura de manera que las siguientes escrituras
90
     * machacar?n la ?ltima geometr?a
91
     */
92
    void deleteLastGeometry();
93

  
94
    /**
95
     * Abre el fichero de expansi?n para comenzar la edici?n
96
     *
97
     * @throws IOException Si se produce alg?n error al abrir
98
     */
99
    void open() throws IOException;
100

  
101
    /**
102
     * Cierra el fichero de expansi?n al terminar la edici?n
103
     *
104
     * @throws IOException Si se produce alg?n error
105
     */
106
    void close() throws IOException;
79 107
}

Also available in: Unified diff