Statistics
| Revision:

root / trunk / libraries / libFMap / src / com / iver / cit / gvsig / fmap / AtomicEvent.java @ 1034

History | View | Annotate | Download (3.47 KB)

1 679 fernando
package com.iver.cit.gvsig.fmap;
2
3
import com.iver.cit.gvsig.fmap.layers.LayerCollectionEvent;
4 727 fernando
import com.iver.cit.gvsig.fmap.layers.LayerEvent;
5 679 fernando
import com.iver.cit.gvsig.fmap.layers.LegendEvent;
6
import com.iver.cit.gvsig.fmap.layers.SelectionEvent;
7
8 1034 vcaballero
import java.util.ArrayList;
9
import java.util.Iterator;
10 679 fernando
11 1034 vcaballero
12
/**
13
 * Evento.
14
 */
15 679 fernando
public class AtomicEvent extends FMapEvent {
16
        private ArrayList events;
17 1034 vcaballero
18
        /**
19
         * Crea un nuevo AtomicEvent.
20
         *
21
         * @param fmapEvents ArrayList de FMapEvent.
22
         */
23
        public AtomicEvent(ArrayList fmapEvents) {
24
                this.events = (ArrayList) fmapEvents.clone();
25 679 fernando
        }
26 1034 vcaballero
27
        /**
28
         * Devuelve el FMapEvent a partir de un ?ndice.
29
         *
30
         * @param index ?ndice.
31
         *
32
         * @return FMapEvent.
33
         */
34
        public FMapEvent getEvent(int index) {
35 679 fernando
                return (FMapEvent) events.get(index);
36
        }
37 1034 vcaballero
38
        /**
39
         * Devuelve el n?mero de eventos.
40
         *
41
         * @return N?mero de eventos.
42
         */
43
        public int getEventCount() {
44 679 fernando
                return events.size();
45
        }
46
47 1034 vcaballero
        /**
48
         * Devuelve un vector con los eventos de leyenda.
49
         *
50
         * @return Vector de eventos de leyenda.
51
         */
52
        public LegendEvent[] getLegendEvents() {
53 679 fernando
                ArrayList ret = new ArrayList();
54 1034 vcaballero
55 679 fernando
                for (Iterator iter = events.iterator(); iter.hasNext();) {
56
                        FMapEvent event = (FMapEvent) iter.next();
57 1034 vcaballero
58
                        if (event instanceof LegendEvent) {
59 679 fernando
                                ret.add(event);
60
                        }
61
                }
62 1034 vcaballero
63 679 fernando
                return (LegendEvent[]) ret.toArray(new LegendEvent[0]);
64
        }
65
66 1034 vcaballero
        /**
67
         * Devuelve un vector con los eventos de colecciones de capas.
68
         *
69
         * @return vector con los eventos de colecciones de capas.
70
         */
71
        public LayerCollectionEvent[] getLayerCollectionEvents() {
72 679 fernando
                ArrayList ret = new ArrayList();
73 1034 vcaballero
74 679 fernando
                for (Iterator iter = events.iterator(); iter.hasNext();) {
75
                        FMapEvent event = (FMapEvent) iter.next();
76 1034 vcaballero
77
                        if (event instanceof LayerCollectionEvent) {
78 679 fernando
                                ret.add(event);
79
                        }
80
                }
81 1034 vcaballero
82 679 fernando
                return (LayerCollectionEvent[]) ret.toArray(new LayerCollectionEvent[0]);
83
        }
84
85 1034 vcaballero
        /**
86
         * Devuelve un vector con los eventos de selecci?n.
87
         *
88
         * @return vector de eventos de selecci?n.
89
         */
90
        public SelectionEvent[] getSelectionEvents() {
91 679 fernando
                ArrayList ret = new ArrayList();
92 1034 vcaballero
93 679 fernando
                for (Iterator iter = events.iterator(); iter.hasNext();) {
94
                        FMapEvent event = (FMapEvent) iter.next();
95 1034 vcaballero
96
                        if (event instanceof SelectionEvent) {
97 679 fernando
                                ret.add(event);
98
                        }
99
                }
100 1034 vcaballero
101 679 fernando
                return (SelectionEvent[]) ret.toArray(new SelectionEvent[0]);
102
        }
103
104 1034 vcaballero
        /**
105
         * Devuelve un vector con los eventos de extent.
106
         *
107
         * @return vector con los eventos de extent.
108
         */
109
        public ExtentEvent[] getExtentEvents() {
110 679 fernando
                ArrayList ret = new ArrayList();
111 1034 vcaballero
112 679 fernando
                for (Iterator iter = events.iterator(); iter.hasNext();) {
113
                        FMapEvent event = (FMapEvent) iter.next();
114 1034 vcaballero
115
                        if (event instanceof ExtentEvent) {
116 679 fernando
                                ret.add(event);
117
                        }
118
                }
119 1034 vcaballero
120 679 fernando
                return (ExtentEvent[]) ret.toArray(new ExtentEvent[0]);
121
        }
122
123 1034 vcaballero
        /**
124
         * Devuelve un vector con los eventos de capa.
125
         *
126
         * @return vector con los eventos de capa.
127
         */
128
        public LayerEvent[] getLayerEvents() {
129 727 fernando
                ArrayList ret = new ArrayList();
130 1034 vcaballero
131 727 fernando
                for (Iterator iter = events.iterator(); iter.hasNext();) {
132
                        FMapEvent event = (FMapEvent) iter.next();
133 1034 vcaballero
134
                        if (event instanceof LayerEvent) {
135 727 fernando
                                ret.add(event);
136
                        }
137
                }
138 1034 vcaballero
139 727 fernando
                return (LayerEvent[]) ret.toArray(new LayerEvent[0]);
140
        }
141 1034 vcaballero
142
        /**
143
         * Devuelve un vector con los eventos de color.
144
         *
145
         * @return vector con los eventos de color.
146
         */
147
        public ColorEvent[] getColorEvents() {
148 956 vcaballero
                ArrayList ret = new ArrayList();
149 1034 vcaballero
150 956 vcaballero
                for (Iterator iter = events.iterator(); iter.hasNext();) {
151
                        FMapEvent event = (FMapEvent) iter.next();
152 1034 vcaballero
153
                        if (event instanceof ColorEvent) {
154 956 vcaballero
                                ret.add(event);
155
                        }
156
                }
157 1034 vcaballero
158 956 vcaballero
                return (ColorEvent[]) ret.toArray(new ColorEvent[0]);
159
        }
160 679 fernando
}