Patch: FYI: Classpath mergelet
Tom Tromey
tromey@redhat.com
Mon Jun 17 16:21:00 GMT 2002
I'm checking this in. This re-merges a couple class with Classpath
and adds a new class.
Tom
Index: ChangeLog
from Tom Tromey <tromey@redhat.com>
* gcj/javaprims.h: Updated class declaration list.
* Makefile.in: Rebuilt.
* Makefile.am (core_java_source_files): Added new file.
* java/util/EventListenerProxy.java: New file.
* java/util/EventListener.java: Re-merge with Classpath.
* java/util/EventObject.java: Re-merge with Classpath.
Index: Makefile.am
===================================================================
RCS file: /cvs/gcc/gcc/libjava/Makefile.am,v
retrieving revision 1.225
diff -u -r1.225 Makefile.am
--- Makefile.am 11 Jun 2002 17:32:46 -0000 1.225
+++ Makefile.am 17 Jun 2002 21:27:45 -0000
@@ -1198,6 +1198,7 @@
java/util/EmptyStackException.java \
java/util/Enumeration.java \
java/util/EventListener.java \
+java/util/EventListenerProxy.java \
java/util/EventObject.java \
java/util/GregorianCalendar.java \
java/util/HashMap.java \
Index: gcj/javaprims.h
===================================================================
RCS file: /cvs/gcc/gcc/libjava/gcj/javaprims.h,v
retrieving revision 1.36
diff -u -r1.36 javaprims.h
--- gcj/javaprims.h 17 Jun 2002 04:08:46 -0000 1.36
+++ gcj/javaprims.h 17 Jun 2002 21:27:49 -0000
@@ -288,6 +288,7 @@
class EmptyStackException;
class Enumeration;
class EventListener;
+ class EventListenerProxy;
class EventObject;
class GregorianCalendar;
class HashMap;
Index: java/util/EventListener.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/util/EventListener.java,v
retrieving revision 1.5
diff -u -r1.5 EventListener.java
--- java/util/EventListener.java 22 Jan 2002 22:40:38 -0000 1.5
+++ java/util/EventListener.java 17 Jun 2002 21:27:50 -0000
@@ -1,5 +1,5 @@
-/* An interface that all event listener interfaces must extend
- Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc.
+/* EventListener.java -- tagging interface for all event listeners
+ Copyright (C) 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -38,11 +38,6 @@
package java.util;
-/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
- * "The Java Language Specification", ISBN 0-201-63451-1
- * Status: Believed complete and correct.
- */
-
/**
* Empty interface that is implemented by classes that need to receive
* events. Subinterfaces define methods that can be called to fire an
@@ -51,7 +46,8 @@
* take as argument an subclass of <code>EventObject</code>.
*
* @author Tom Tromey <tromey@cygnus.com>
- * @date December 12, 1998
+ * @see EventObject
+ * @status updated to 1.4
*/
public interface EventListener
{
Index: java/util/EventListenerProxy.java
===================================================================
RCS file: java/util/EventListenerProxy.java
diff -N java/util/EventListenerProxy.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ java/util/EventListenerProxy.java 17 Jun 2002 21:27:50 -0000
@@ -0,0 +1,75 @@
+/* EventListenerProxy.java -- abstract wrapper for event listeners
+ Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+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
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package java.util;
+
+/**
+ * An abstract wrapper for event listeners. This allows subclasses to
+ * attach additional parameters to an existing event listener to create
+ * a new one. Subclasses are expected to add methods to set and retrieve
+ * any attached properties.
+ *
+ * @author Eric Blake <ebb9@email.byu.edu>
+ * @since 1.4
+ * @status updated to 1.4
+ */
+public abstract class EventListenerProxy implements EventListener
+{
+ /** The listener that this proxy wraps. */
+ private final EventListener listener;
+
+ /**
+ * Construct a proxy event listener, given an existing one to augment.
+ *
+ * @param listener the listener to wrap
+ */
+ public EventListenerProxy(EventListener listener)
+ {
+ this.listener = listener;
+ }
+
+ /**
+ * Return the wrapped event listener.
+ *
+ * @return the listener associated with this proxy
+ */
+ public EventListener getListener()
+ {
+ return listener;
+ }
+} // class EventListenerProxy
Index: java/util/EventObject.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/util/EventObject.java,v
retrieving revision 1.6
diff -u -r1.6 EventObject.java
--- java/util/EventObject.java 22 Jan 2002 22:40:38 -0000 1.6
+++ java/util/EventObject.java 17 Jun 2002 21:27:50 -0000
@@ -1,5 +1,5 @@
-/* EventObject.java - Represent events fired by objects.
- Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+/* EventObject.java -- represents an event on an object
+ Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -43,23 +43,44 @@
/**
* Represents Events fired by Objects.
*
+ * @author Eric Blake <ebb9@email.byu.edu>
* @see EventListener
+ * @since 1.1
+ * @status updated to 1.4
*/
public class EventObject implements Serializable
{
+ /**
+ * Compatible with JDK 1.1+.
+ */
private static final long serialVersionUID = 5516075349620653480L;
+
+ /**
+ * The source object; in other words, the object which this event takes
+ * place on.
+ */
protected transient Object source;
/**
* Constructs an EventObject with the specified source.
+ *
+ * @param source the source of the event
+ * @throws IllegalArgumentException if source is null (This is not
+ * specified, but matches the behavior of the JDK)
*/
public EventObject(Object source)
{
+ // This check for null is stupid, if you ask me, since source is
+ // protected and non-final, so a subclass can set it to null later on.
+ if (source == null)
+ throw new IllegalArgumentException();
this.source = source;
}
/**
- * @return The source of the Event.
+ * Returns the source of the event.
+ *
+ * @return the event source
*/
public Object getSource()
{
@@ -67,11 +88,14 @@
}
/**
- * @return String representation of the Event.
- * @override toString in class Object
+ * Converts the event to a String. The format is not specified, but by
+ * observation, the JDK uses:
+ * <code>getClass().getName() + "[source=" + source + "]";</code>.
+ *
+ * @return String representation of the Event
*/
public String toString()
{
- return this.getClass() + "[source=" + source.toString() + "]";
+ return getClass().getName() + "[source=" + source + "]";
}
-}
+} // class EventObject
More information about the Java-patches
mailing list