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 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
/* * @(#)PropertyChangeEvent.java 1.35 05/11/17 * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package java.beans; /** * A "PropertyChange" event gets delivered whenever a bean changes a "bound" * or "constrained" property. A PropertyChangeEvent object is sent as an * argument to the PropertyChangeListener and VetoableChangeListener methods. * <P> * Normally PropertyChangeEvents are accompanied by the name and the old * and new value 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. */ public class PropertyChangeEvent extends java.util.EventObject { /** * 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; } /** * Gets 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; } /** * Sets the propagationId object for the event. * * @param propagationId The propagationId object for the event. */ public void setPropagationId(Object propagationId) { this.propagationId = propagationId; } /** * The "propagationId" field is reserved for future use. In Beans 1.0 * the sole requirement is that if a listener catches a PropertyChangeEvent * and then fires a PropertyChangeEvent of its own, then it should * make sure that it propagates the propagationId field from its * incoming event to its outgoing event. * * @return the propagationId object associated with a bound/constrained * property update. */ public Object getPropagationId() { return propagationId; } /** * 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; /** * Propagation ID. May be null. * @serial * @see #getPropagationId. */ private Object propagationId; }