Statistics
| Revision:

root / branches / v2_0_0_prep / libraries / libFMap_dal / src / org / gvsig / fmap / dal / feature / FeatureStoreTransforms.java @ 27234

History | View | Annotate | Download (2.26 KB)

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

    
3
import java.util.Iterator;
4

    
5
import org.gvsig.fmap.dal.exception.DataException;
6

    
7
/**
8
 * This interface represents a container for store transforms.
9
 *
10
 * Provides access to transforms by index and by iterator, and also allows
11
 * adding and removing transforms.
12
 *
13
 */
14
public interface FeatureStoreTransforms {
15

    
16
        /**
17
         * Returns the FeatureStoreTransform given its index.
18
         *
19
         * @param index
20
         *                         a position in this FeatureStoreTransforms
21
         *
22
         * @return
23
         *                 the FeatureStoreTransform that is stored in the given index.
24
         */
25
        public FeatureStoreTransform getTransform(int index);
26

    
27
        /**
28
         * Adds a FeatureStoreTransform to this container.
29
         *
30
         * @param transform
31
         *                         the FeatureStoreTransform to add
32
         *
33
         * @return
34
         *                 the added FeatureStoreTransform
35
         *
36
         * @throws DataException
37
         */
38
        public FeatureStoreTransform add(FeatureStoreTransform transform)
39
                        throws DataException;
40

    
41
        /**
42
         * Returns the number of FeatureStoreTransforms stored in this container
43
         *
44
         * @return
45
         *                 number of FeatureStoreTransforms stored in this container
46
         */
47
        public int size();
48

    
49
        /**
50
         * Indicates whether this container is empty.
51
         *
52
         * @return
53
         *                 true if this container is empty, false if not
54
         */
55
        public boolean isEmpty();
56

    
57
        /**
58
         * Returns an iterator over this container elements.
59
         *
60
         * @return
61
         *                 an iterator over this container elements.
62
         */
63
        public Iterator iterator();
64

    
65
        /**
66
         * Empties this container.
67
         *
68
         */
69
        public void clear();
70

    
71
        /**
72
         * Removes the {@link FeatureStoreTransform} given its index.
73
         *
74
         * @param index
75
         *                         the position of the {@link FeatureStoreTransform} to remove.
76
         * @return
77
         *                 the removed object
78
         */
79
        public Object remove(int index);
80

    
81
        /**
82
         * Removes the given {@link FeatureStoreTransform}.
83
         *
84
         * @param transform
85
         *                                 {@link FeatureStoreTransform} to remove
86
         * @return
87
         *                 true if the transform was successfully removed, false if not.
88
         */
89
        public boolean remove(FeatureStoreTransform transform);
90

    
91
        /**
92
         * Retruns true if any {@link FeatureStoreTransform} make changes of any
93
         * previous attributes values.<br>
94
         *
95
         * If all {@link FeatureStoreTransform} affects only to attributes defition,
96
         * the {@link FeatureSet} performance can be better.
97
         *
98
         * @return
99
         */
100
        public boolean isTransformsOriginalValues();
101

    
102
}