Statistics
| Revision:

gvsig-tools / org.gvsig.tools / library / trunk / org.gvsig.tools / org.gvsig.tools.swing / org.gvsig.tools.swing.impl / src / main / java / org / gvsig / tools / swing / impl / DefaultChangeListenerHelper.java @ 2562

History | View | Annotate | Download (1.67 KB)

1
package org.gvsig.tools.swing.impl;
2

    
3
import org.gvsig.tools.swing.api.ChangeListenerHelper;
4
import java.util.HashSet;
5
import java.util.Iterator;
6
import java.util.Set;
7
import javax.swing.event.ChangeEvent;
8
import javax.swing.event.ChangeListener;
9

    
10
public class DefaultChangeListenerHelper implements ChangeListenerHelper {
11

    
12
    protected Set listeners = new HashSet();
13
    protected boolean enabled;
14

    
15
    public DefaultChangeListenerHelper() {
16
        this.enabled = true;
17
    }
18
    
19
    @Override
20
    public void addChangeListener(ChangeListener listener) {
21
        listeners.add(listener);
22
    }
23

    
24
    @Override
25
    public ChangeListener[] getChangeListeners() {
26
        return (ChangeListener[]) this.listeners.toArray(new ChangeListener[this.listeners.size()]);
27
    }
28

    
29
    @Override
30
    public boolean hasChangeListeners() {
31
        return !this.listeners.isEmpty();
32
    }
33
    
34
    @Override
35
    public void removeChangeListener(ChangeListener listener) {
36
        listeners.remove(listener);
37
    }
38

    
39
    @Override
40
    public void removeAllChangeListener() {
41
        this.listeners.clear();
42
    }
43

    
44
    @Override
45
    public void fireEvent() {
46
        this.fireEvent(null);
47
    }
48
    
49
    @Override
50
    public void fireEvent(ChangeEvent event) {
51
        if( !this.enabled ) {
52
            return;
53
        }
54
        Iterator it = this.listeners.iterator();
55
        while (it.hasNext()) {
56
            ChangeListener listener = (ChangeListener) it.next();
57
            listener.stateChanged(event);
58
        }
59
    }
60

    
61
    @Override
62
    public void setEnabledEvents(boolean enabled) {
63
        this.enabled = enabled;
64
    }
65

    
66
    @Override
67
    public boolean isEnabledEvents() {
68
        return this.enabled;
69
    }
70

    
71
}