1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package com.cosylab.util;
21
22 import java.beans.PropertyChangeEvent;
23 import java.beans.PropertyChangeListener;
24 import java.beans.PropertyChangeSupport;
25 import java.util.HashMap;
26
27
28
29
30
31
32
33
34 public class PropertyChangeHelper {
35 private PropertyChangeSupport pcSupport;
36 private HashMap clientProperties;
37
38 public PropertyChangeHelper() {
39 super();
40 pcSupport=new PropertyChangeSupport(this);
41 }
42
43 public PropertyChangeHelper(Object source) {
44 super();
45 pcSupport=new PropertyChangeSupport(source);
46 }
47
48 public void setClientProperty(String propertyName, Object propertyValue) {
49 if (clientProperties==null) {
50 clientProperties=new HashMap();
51 }
52 Object old=clientProperties.get(propertyName);
53 clientProperties.put(propertyName,propertyValue);
54 firePropertyChange(propertyName,old,propertyValue);
55 }
56
57 public Object getClientProperty(String propertyName) {
58 if (clientProperties==null) {
59 return null;
60 } else {
61 return clientProperties.get(propertyName);
62 }
63 }
64
65 public void addPropertyChangeListener(PropertyChangeListener listener) {
66 pcSupport.addPropertyChangeListener(listener);
67 }
68 public void addPropertyChangeListener(String propertyName,
69 PropertyChangeListener listener) {
70 pcSupport.addPropertyChangeListener(propertyName, listener);
71 }
72 public void firePropertyChange(PropertyChangeEvent evt) {
73 pcSupport.firePropertyChange(evt);
74 }
75 public void firePropertyChange(String propertyName, boolean oldValue,
76 boolean newValue) {
77 pcSupport.firePropertyChange(propertyName, oldValue, newValue);
78 }
79 public void firePropertyChange(String propertyName, int oldValue,
80 int newValue) {
81 pcSupport.firePropertyChange(propertyName, oldValue, newValue);
82 }
83 public void firePropertyChange(String propertyName, Object oldValue,
84 Object newValue) {
85 pcSupport.firePropertyChange(propertyName, oldValue, newValue);
86 }
87 public PropertyChangeListener[] getPropertyChangeListeners() {
88 return pcSupport.getPropertyChangeListeners();
89 }
90 public PropertyChangeListener[] getPropertyChangeListeners(
91 String propertyName) {
92 return pcSupport.getPropertyChangeListeners(propertyName);
93 }
94 public int hashCode() {
95 return pcSupport.hashCode();
96 }
97 public boolean hasListeners(String propertyName) {
98 return pcSupport.hasListeners(propertyName);
99 }
100 public void removePropertyChangeListener(PropertyChangeListener listener) {
101 pcSupport.removePropertyChangeListener(listener);
102 }
103 public void removePropertyChangeListener(String propertyName,
104 PropertyChangeListener listener) {
105 pcSupport.removePropertyChangeListener(propertyName, listener);
106 }
107 public String toString() {
108 return pcSupport.toString();
109 }
110 }