1 package fr.ifremer.tutti.ui.swing.util;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import org.jdesktop.beans.AbstractBean;
26 import org.nuiton.util.beans.BeanMonitor;
27 import org.nuiton.util.beans.PropertyDiff;
28
29 import java.util.Map;
30
31
32
33
34
35
36
37 public class TuttiBeanMonitor<B> extends AbstractBean {
38
39 public static final String PROPERTY_BEAN = "bean";
40
41 BeanMonitor monitor;
42
43 public TuttiBeanMonitor(String... properties) {
44 this.monitor = new BeanMonitor(properties);
45 }
46
47 public void setProperties(String... properties) {
48 monitor.setProperties(properties);
49 }
50
51 public B getBean() {
52 return (B) monitor.getBean();
53 }
54
55 public void setBean(B bean) {
56 Object oldValue = getBean();
57 monitor.setBean(bean);
58 firePropertyChange(PROPERTY_BEAN, oldValue, bean);
59 }
60
61 public BeanMonitor getMonitor() {
62 return monitor;
63 }
64
65 public boolean wasModified() {
66 return monitor.wasModified();
67 }
68
69 public String[] getModifiedProperties() {
70 return monitor.getModifiedProperties();
71 }
72
73 public Map<String, Object> getOriginalValues() {
74 return monitor.getOriginalValues();
75 }
76
77 public PropertyDiff[] getPropertyDiffs() {
78 return monitor.getPropertyDiffs();
79 }
80
81 public void clearModified() {
82 monitor.clearModified();
83 }
84 }