Statistics
| Revision:

svn-gvsig-desktop / branches / v2_0_0_prep / libraries / libFMap_dal / src / org / gvsig / fmap / dal / feature / impl / expansionadapter / ExpansionAdapter.java @ 24496

History | View | Annotate | Download (2.29 KB)

1
package org.gvsig.fmap.dal.feature.impl.expansionadapter;
2

    
3
import java.util.HashMap;
4

    
5

    
6
/**
7
 * Maneja el fichero de extensi?n en el que se almacenan las modificacionesy adici?nes
8
 * durante la edici?n. Los ?ndices que devuelve esta clase en sus m?todos
9
 * addFeature y modifyFeature son invariables, es decir, que si se invoca un
10
 * m?todo addFeature que retorna un 8, independientemente de las operaciones
11
 * que se realicen posteriormente, una llamada a getFeature(8) retornar?
12
 * dicha fila. Si esta geometr?a es eliminada posteriormente, se retornar? un
13
 * null. Esto ?ltimo se cumple mientras no se invoque el m?todo compact, mediante
14
 * el que se reorganizan las geometr?as dejando en el fichero s?lo las que tienen
15
 * validez en el momento de realizar la invocaci?n.
16
 *
17
 * @author Vicente Caballero Navarro
18
 *
19
 */
20
public interface ExpansionAdapter {
21
        /**
22
         * A?ade una geometria al final del fichero y retorna el ?ndice que ocupa
23
         * esta geometria en el mismo
24
         *
25
         * @param feature
26
         * @param status TODO
27
         * @param indexInternalFields fields that where valid when this feature was added.
28
         *
29
         * @return calculated index of the new feature.
30
         */
31
        int addObject(Object obj);
32

    
33
        /**
34
         * Modifica la index-?sima geometr?a del fichero devolviendo la posici?n en
35
         * la que se pone la geometria modificada.
36
         *
37
         * @param calculated index of feature to be modified
38
         * @param feature newFeature that replaces the old feature.
39
         *
40
         * @return new calculated index of the modified feature.
41
         */
42
//        int updateObject(Object obj);
43

    
44
        /**
45
         * Obtiene la geometria que hay en el ?ndice 'index' o null si la geometr?a
46
         * ha sido invalidada.
47
         *
48
         * @param index caculatedIndex of the feature to be read.
49
         * @return feature
50
         */
51
        Object getObject(int index);
52

    
53
        /**
54
         * Realiza una compactaci?n del fichero que maneja esta clase
55
         *
56
         * @param relations DOCUMENT ME!
57
         */
58
        void compact(HashMap relations);
59

    
60
        /**
61
     * Mueve el puntero de escritura de manera que las siguientes escrituras
62
     * machacar?n la ?ltima fila
63
     */
64
    void deleteLastObject();
65

    
66
    /**
67
     * Abre el fichero de expansi?n para comenzar la edici?n
68
     */
69
    void open();
70

    
71
    /**
72
     * Cierra el fichero de expansi?n al terminar la edici?n
73
     */
74
    void close();
75

    
76
    int getSize();
77
}