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