Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.compat.cdc / org.gvsig.fmap.dal / org.gvsig.fmap.dal.api / src / main / java / org / gvsig / fmap / dal / feature / FeatureStoreTransforms.java @ 40435

History | View | Annotate | Download (2.32 KB)

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

    
3
import java.util.Iterator;
4

    
5
import org.gvsig.fmap.dal.exception.DataException;
6
import org.gvsig.tools.lang.Cloneable;
7

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

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

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

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

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

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

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

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

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

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

    
103
}