Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.compat.cdc / org.gvsig.fmap.dal / org.gvsig.fmap.dal.impl / src / main / java / org / gvsig / fmap / dal / feature / impl / expansionadapter / ExpansionAdapter.java @ 40435

History | View | Annotate | Download (2.34 KB)

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

    
3
import java.util.HashMap;
4
import java.util.Iterator;
5

    
6

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

    
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 calculated index of feature to be modified
39
         * @param feature newFeature that replaces the old feature.
40
         *
41
         * @return new calculated index of the modified feature.
42
         */
43
//        int updateObject(Object obj);
44

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

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

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

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

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

    
77
    int getSize();
78

    
79
    Iterator iterator();
80
}