Save This Page
Home » openjdk-7 » java » beans » [javadoc | source]
    1   /*
    2    * Copyright 1996-2006 Sun Microsystems, Inc.  All Rights Reserved.
    3    * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    4    *
    5    * This code is free software; you can redistribute it and/or modify it
    6    * under the terms of the GNU General Public License version 2 only, as
    7    * published by the Free Software Foundation.  Sun designates this
    8    * particular file as subject to the "Classpath" exception as provided
    9    * by Sun in the LICENSE file that accompanied this code.
   10    *
   11    * This code is distributed in the hope that it will be useful, but WITHOUT
   12    * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   13    * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   14    * version 2 for more details (a copy is included in the LICENSE file that
   15    * accompanied this code).
   16    *
   17    * You should have received a copy of the GNU General Public License version
   18    * 2 along with this work; if not, write to the Free Software Foundation,
   19    * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   20    *
   21    * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   22    * CA 95054 USA or visit www.sun.com if you need additional information or
   23    * have any questions.
   24    */
   25   
   26   package java.beans;
   27   
   28   /**
   29    * A "PropertyChange" event gets delivered whenever a bean changes a "bound"
   30    * or "constrained" property.  A PropertyChangeEvent object is sent as an
   31    * argument to the PropertyChangeListener and VetoableChangeListener methods.
   32    * <P>
   33    * Normally PropertyChangeEvents are accompanied by the name and the old
   34    * and new value of the changed property.  If the new value is a primitive
   35    * type (such as int or boolean) it must be wrapped as the
   36    * corresponding java.lang.* Object type (such as Integer or Boolean).
   37    * <P>
   38    * Null values may be provided for the old and the new values if their
   39    * true values are not known.
   40    * <P>
   41    * An event source may send a null object as the name to indicate that an
   42    * arbitrary set of if its properties have changed.  In this case the
   43    * old and new values should also be null.
   44    */
   45   
   46   public class PropertyChangeEvent extends java.util.EventObject {
   47   
   48       /**
   49        * Constructs a new <code>PropertyChangeEvent</code>.
   50        *
   51        * @param source  The bean that fired the event.
   52        * @param propertyName  The programmatic name of the property
   53        *          that was changed.
   54        * @param oldValue  The old value of the property.
   55        * @param newValue  The new value of the property.
   56        */
   57       public PropertyChangeEvent(Object source, String propertyName,
   58                                        Object oldValue, Object newValue) {
   59           super(source);
   60           this.propertyName = propertyName;
   61           this.newValue = newValue;
   62           this.oldValue = oldValue;
   63       }
   64   
   65       /**
   66        * Gets the programmatic name of the property that was changed.
   67        *
   68        * @return  The programmatic name of the property that was changed.
   69        *          May be null if multiple properties have changed.
   70        */
   71       public String getPropertyName() {
   72           return propertyName;
   73       }
   74   
   75       /**
   76        * Gets the new value for the property, expressed as an Object.
   77        *
   78        * @return  The new value for the property, expressed as an Object.
   79        *          May be null if multiple properties have changed.
   80        */
   81       public Object getNewValue() {
   82           return newValue;
   83       }
   84   
   85       /**
   86        * Gets the old value for the property, expressed as an Object.
   87        *
   88        * @return  The old value for the property, expressed as an Object.
   89        *          May be null if multiple properties have changed.
   90        */
   91       public Object getOldValue() {
   92           return oldValue;
   93       }
   94   
   95       /**
   96        * Sets the propagationId object for the event.
   97        *
   98        * @param propagationId  The propagationId object for the event.
   99        */
  100       public void setPropagationId(Object propagationId) {
  101           this.propagationId = propagationId;
  102       }
  103   
  104       /**
  105        * The "propagationId" field is reserved for future use.  In Beans 1.0
  106        * the sole requirement is that if a listener catches a PropertyChangeEvent
  107        * and then fires a PropertyChangeEvent of its own, then it should
  108        * make sure that it propagates the propagationId field from its
  109        * incoming event to its outgoing event.
  110        *
  111        * @return the propagationId object associated with a bound/constrained
  112        *          property update.
  113        */
  114       public Object getPropagationId() {
  115           return propagationId;
  116       }
  117   
  118       /**
  119        * name of the property that changed.  May be null, if not known.
  120        * @serial
  121        */
  122       private String propertyName;
  123   
  124       /**
  125        * New value for property.  May be null if not known.
  126        * @serial
  127        */
  128       private Object newValue;
  129   
  130       /**
  131        * Previous value for property.  May be null if not known.
  132        * @serial
  133        */
  134       private Object oldValue;
  135   
  136       /**
  137        * Propagation ID.  May be null.
  138        * @serial
  139        * @see #getPropagationId
  140        */
  141       private Object propagationId;
  142   }

Save This Page
Home » openjdk-7 » java » beans » [javadoc | source]