Makefile.in: Rebuilt.

* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Added new files.
	* java/beans/ExceptionListener.java: Merged with Classpath.
	* java/beans/PropertyChangeEvent.java: Merged with Classpath.
	* java/beans/PropertyChangeListener.java: Merged with Classpath.
	* java/beans/PropertyChangeListenerProxy.java: Merged with Classpath.
	* java/beans/PropertyChangeSupport.java: Merged with Classpath.
	* java/beans/VetoableChangeListener.java: Merged with Classpath.
	* java/beans/VetoableChangeListenerProxy.java: Merged with Classpath.
	* java/beans/VetoableChangeSupport.java: Merged with Classpath.

From-SVN: r55459
This commit is contained in:
Tom Tromey 2002-07-15 16:05:13 +00:00 committed by Tom Tromey
parent ed8d29205b
commit 9698ee33f0
11 changed files with 1383 additions and 571 deletions

View file

@ -1,5 +1,5 @@
/* java.beans.PropertyChangeEvent
Copyright (C) 1998, 2000 Free Software Foundation, Inc.
/* PropertyChangeEvent.java -- describes a change in a property
Copyright (C) 1998, 2000, 2002 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@ -7,7 +7,7 @@ GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
@ -38,87 +38,152 @@ exception statement from your version. */
package java.beans;
import java.util.EventObject;
/**
** PropertyChangeEvents are fired in the PropertyChange
** and VetoableChange event classes. They represent the
** old and new values as well as the source Bean.<P>
**
** If the old or new value is a primitive type, it must
** be wrapped in the appropriate wrapper type
** (java.lang.Integer for int, etc., etc.).<P>
**
** If the old or new values are unknown (although why
** that would be I do not know), they may be null.<P>
**
** Right now Sun put in a propagationId, reserved for
** future use. Read the comments on the constructor
** and on setPropagationId for more information.
**
** @author John Keiser
** @since JDK1.1
** @version 1.1.0, 29 Jul 1998
**/
* PropertyChangeEvents are fired in the PropertyChange and VetoableChange
* event classes. They represent the old and new values as well as the
* source Bean. If the old or new value is a primitive type, it must be
* wrapped in the appropriate wrapper type (java.lang.Integer for int, etc.,
* etc.).
*
* <p>If the old or new values are unknown (although why that would be I do
* not know), they may be null. Also, if the set of properties itself has
* changed, the name should be null, and the old and new values may also be
* null. Right now Sun put in a propagationId, reserved for future use. Read
* the comments on the constructor and on setPropagationId for more
* information.
*
* @author John Keiser
* @author Eric Blake <ebb9@email.byu.edu>
* @since 1.1
* @status udpated to 1.4
*/
public class PropertyChangeEvent extends EventObject
{
/**
* Compatible with JDK 1.1+.
*/
private static final long serialVersionUID = 7042693688939648123L;
public class PropertyChangeEvent extends java.util.EventObject {
String propertyName;
Object oldValue;
Object newValue;
Object propagationId;
/**
* The name of the property that changed, may be null. Package visible for
* use by PropertyChangeSupport.
*
* @serial the changed property name
*/
final String propertyName;
private static final long serialVersionUID = 7042693688939648123L;
/**
* The new value of the property, may be null. Package visible for use by
* PropertyChangeSupport.
*
* @serial the new property value
*/
final Object newValue;
/** Create a new PropertyChangeEvent. Remember that if
** you received a PropertyChangeEvent and are sending
** a new one, you should also set the propagation ID
** from the old PropertyChangeEvent.
** @param source the Bean containing the property.
** @param propertyName the property's name.
** @param oldValue the old value of the property.
** @param newValue the new value of the property.
**/
public PropertyChangeEvent(Object source, String propertyName, Object oldVal, Object newVal) {
super(source);
this.propertyName = propertyName;
oldValue = oldVal;
newValue = newVal;
}
/**
* The old value of the property, may be null. Package visible for use by
* PropertyChangeSupport.
*
* @serial the old property value
*/
final Object oldValue;
/** Get the property name.
** @return the property name.
**/
public String getPropertyName() {
return propertyName;
}
/**
* The propagation ID, reserved for future use. May be null.
*
* @see #getPropagationId()
* @serial the Propagation ID
*/
private Object propagationId;
/** Get the property's old value.
** @return the property's old value.
**/
public Object getOldValue() {
return oldValue;
}
/**
* Create a new PropertyChangeEvent. Remember that if you received a
* PropertyChangeEvent and are sending a new one, you should also set the
* propagation ID from the old PropertyChangeEvent.
*
* @param source the Bean containing the property
* @param propertyName the property's name
* @param oldValue the old value of the property
* @param newValue the new value of the property
* @throws IllegalArgumentException if source is null
*/
public PropertyChangeEvent(Object source, String propertyName,
Object oldVal, Object newVal)
{
super(source);
this.propertyName = propertyName;
oldValue = oldVal;
newValue = newVal;
}
/** Get the property's new value.
** @return the property's new value.
**/
public Object getNewValue() {
return newValue;
}
/**
* Get the property name. May be null if multiple properties changed.
*
* @return the property name
*/
public String getPropertyName()
{
return propertyName;
}
/** Set the propagation ID. This is a way for the event
** to be passed from hand to hand and retain a little
** extra state. Right now it is unused, but it should
** be propagated anyway so that future versions of
** JavaBeans can use it, for God knows what.
** @param propagationId the propagation ID.
**/
public void setPropagationId(Object propagationId) {
this.propagationId = propagationId;
}
/**
* Get the property's new value. May be null if multiple properties changed.
*
* @return the property's new value
*/
public Object getNewValue()
{
return newValue;
}
/** Get the propagation ID.
** @return the propagation ID.
**/
public Object getPropagationId() {
return propagationId;
}
}
/**
* Get the property's old value. May be null if multiple properties changed.
*
* @return the property's old value
*/
public Object getOldValue()
{
return oldValue;
}
/**
* Set the propagation ID. This is a way for the event to be passed from
* hand to hand and retain a little extra state. Right now it is unused,
* but it should be propagated anyway so that future versions of JavaBeans
* can use it, for God knows what.
*
* @param propagationId the propagation ID
* @see #getPropagationId()
*/
public void setPropagationId(Object propagationId)
{
this.propagationId = propagationId;
}
/**
* Get the propagation ID. Right now, it is not used for anything.
*
* @return the propagation ID
* @see #setPropagationId(Object)
*/
public Object getPropagationId()
{
return propagationId;
}
/**
* Utility method to rollback a change.
*
* @param event the event to rollback
* @return a new event with old and new swapped
*/
PropertyChangeEvent rollback()
{
PropertyChangeEvent result
= new PropertyChangeEvent(source, propertyName, newValue, oldValue);
result.propagationId = propagationId;
return result;
}
} // class PropertyChangeEvent