blob: 641a8c51cf4384d8b03b4f839afeb66bb8252c82 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
/*
* SIP Communicator, the OpenSource Java VoIP and Instant Messaging client.
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package net.java.sip.communicator.service.configuration.event;
import net.java.sip.communicator.service.configuration.*;
import net.java.sip.communicator.util.xml.*;
import net.java.sip.communicator.impl.configuration.xml.*;
/**
* A "ConfigurationChange" event gets delivered whenever a someone changes a
* configuration property. A ConfigurationEvent object is sent as an
* argument to the ConfigurationChangeListener methods.
* <P>
* Normally ConfigurationChangeEvents are accompanied by the name and the old
* and new values of the changed property. If the new value is a primitive
* type (such as int or boolean) it must be wrapped as the
* corresponding java.lang.* Object type (such as Integer or Boolean).
* <P>
* Null values may be provided for the old and the new values if their
* true values are not known.
* <P>
* An event source may send a null object as the name to indicate that an
* arbitrary set of if its properties have changed. In this case the
* old and new values should also be null.
* <P>
* In the case where the event reflects the change of a constrained property,
* it will first be dispatched to all propertyWillChange methods and only in
* case that none of them has objected (no ChangeVetoException has been thrown)
* the propertyChange method is called.
*
* @author Emil Ivov
*/
public class PropertyChangeEvent
extends java.util.EventObject
{
/**
* name of the property that changed. May be null, if not known.
* @serial
*/
private String propertyName;
/**
* New value for property. May be null if not known.
* @serial
*/
private Object newValue;
/**
* Previous value for property. May be null if not known.
* @serial
*/
private Object oldValue;
/**
* Constructs a new <code>PropertyChangeEvent</code>.
*
* @param source The bean that fired the event.
* @param propertyName The programmatic name of the property
* that was changed.
* @param oldValue The old value of the property.
* @param newValue The new value of the property.
*/
public PropertyChangeEvent(Object source, String propertyName,
Object oldValue, Object newValue)
{
super(source);
this.propertyName = propertyName;
this.newValue = newValue;
this.oldValue = oldValue;
}
/**
* Gets the programmatic name of the property that was changed.
*
* @return The programmatic name of the property that was changed.
* May be null if multiple properties have changed.
*/
public String getPropertyName()
{
return propertyName;
}
/**
* Sets the new value for the property, expressed as an Object.
*
* @return The new value for the property, expressed as an Object.
* May be null if multiple properties have changed.
*/
public Object getNewValue()
{
return newValue;
}
/**
* Gets the old value for the property, expressed as an Object.
*
* @return The old value for the property, expressed as an Object.
* May be null if multiple properties have changed.
*/
public Object getOldValue()
{
return oldValue;
}
}
|