javaprims.h: Updated class declaration list.
authorTom Tromey <tromey@redhat.com>
Mon, 17 Jun 2002 21:32:01 +0000 (21:32 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Mon, 17 Jun 2002 21:32:01 +0000 (21:32 +0000)
* 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.

From-SVN: r54720

libjava/ChangeLog
libjava/Makefile.am
libjava/Makefile.in
libjava/gcj/Makefile.in
libjava/gcj/javaprims.h
libjava/include/Makefile.in
libjava/java/util/EventListener.java
libjava/java/util/EventListenerProxy.java [new file with mode: 0644]
libjava/java/util/EventObject.java
libjava/testsuite/Makefile.in

index 5081227..04542a7 100644 (file)
@@ -1,3 +1,12 @@
+2002-06-17  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.
+
 2002-06-17  Nathanael Nerode  <neroden@twcny.rr.com>
 
        * java/lang/ClassNotFoundException.java: New Classpath version.
index 29ba729..3ccd548 100644 (file)
@@ -1198,6 +1198,7 @@ java/util/Dictionary.java \
 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 72b3daf..222746d 100644 (file)
@@ -965,6 +965,7 @@ java/util/Dictionary.java \
 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 \
@@ -2237,10 +2238,9 @@ DEP_FILES =  .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
 .deps/java/lang/ArithmeticException.P \
 .deps/java/lang/ArrayIndexOutOfBoundsException.P \
 .deps/java/lang/ArrayStoreException.P .deps/java/lang/AssertionError.P \
-.deps/java/lang/Boolean.P \
-.deps/java/lang/Byte.P .deps/java/lang/CharSequence.P \
-.deps/java/lang/Character.P .deps/java/lang/Class.P \
-.deps/java/lang/ClassCastException.P \
+.deps/java/lang/Boolean.P .deps/java/lang/Byte.P \
+.deps/java/lang/CharSequence.P .deps/java/lang/Character.P \
+.deps/java/lang/Class.P .deps/java/lang/ClassCastException.P \
 .deps/java/lang/ClassCircularityError.P \
 .deps/java/lang/ClassFormatError.P .deps/java/lang/ClassLoader.P \
 .deps/java/lang/ClassNotFoundException.P \
@@ -2538,15 +2538,15 @@ DEP_FILES =  .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
 .deps/java/util/ConcurrentModificationException.P \
 .deps/java/util/Date.P .deps/java/util/Dictionary.P \
 .deps/java/util/EmptyStackException.P .deps/java/util/Enumeration.P \
-.deps/java/util/EventListener.P .deps/java/util/EventObject.P \
-.deps/java/util/GregorianCalendar.P .deps/java/util/HashMap.P \
-.deps/java/util/HashSet.P .deps/java/util/Hashtable.P \
-.deps/java/util/IdentityHashMap.P .deps/java/util/Iterator.P \
-.deps/java/util/LinkedHashMap.P .deps/java/util/LinkedHashSet.P \
-.deps/java/util/LinkedList.P .deps/java/util/List.P \
-.deps/java/util/ListIterator.P .deps/java/util/ListResourceBundle.P \
-.deps/java/util/Locale.P .deps/java/util/Map.P \
-.deps/java/util/MissingResourceException.P \
+.deps/java/util/EventListener.P .deps/java/util/EventListenerProxy.P \
+.deps/java/util/EventObject.P .deps/java/util/GregorianCalendar.P \
+.deps/java/util/HashMap.P .deps/java/util/HashSet.P \
+.deps/java/util/Hashtable.P .deps/java/util/IdentityHashMap.P \
+.deps/java/util/Iterator.P .deps/java/util/LinkedHashMap.P \
+.deps/java/util/LinkedHashSet.P .deps/java/util/LinkedList.P \
+.deps/java/util/List.P .deps/java/util/ListIterator.P \
+.deps/java/util/ListResourceBundle.P .deps/java/util/Locale.P \
+.deps/java/util/Map.P .deps/java/util/MissingResourceException.P \
 .deps/java/util/NoSuchElementException.P .deps/java/util/Observable.P \
 .deps/java/util/Observer.P .deps/java/util/Properties.P \
 .deps/java/util/PropertyPermission.P \
index 697d7ff..eefd298 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -146,7 +146,7 @@ DIST_COMMON =  ./stamp-h2.in Makefile.am Makefile.in libgcj-config.h.in
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = tar
+TAR = gtar
 GZIP_ENV = --best
 all: all-redirect
 .SUFFIXES:
index 7676e48..1031503 100644 (file)
@@ -288,6 +288,7 @@ extern "Java"
       class EmptyStackException;
       class Enumeration;
       class EventListener;
+      class EventListenerProxy;
       class EventObject;
       class GregorianCalendar;
       class HashMap;
index 0dbe452..539ef74 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -142,7 +142,7 @@ DIST_COMMON =  ./stamp-h1.in Makefile.am Makefile.in config.h.in
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = tar
+TAR = gtar
 GZIP_ENV = --best
 all: all-redirect
 .SUFFIXES:
index 574b24a..f844331 100644 (file)
@@ -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 @@ exception statement from your version. */
 
 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 @@ package java.util;
  * 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
 {
diff --git a/libjava/java/util/EventListenerProxy.java b/libjava/java/util/EventListenerProxy.java
new file mode 100644 (file)
index 0000000..2955f45
--- /dev/null
@@ -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 0c3af2b..3ccb6ec 100644 (file)
@@ -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 @@ import java.io.Serializable;
 /**
  * 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 @@ public class EventObject implements Serializable
   }
 
   /**
-   * @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
index 4a7781b..d0be8ad 100644 (file)
@@ -151,7 +151,7 @@ DIST_COMMON =  ChangeLog Makefile.am Makefile.in
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = tar
+TAR = gtar
 GZIP_ENV = --best
 all: all-redirect
 .SUFFIXES:
@@ -179,7 +179,7 @@ distdir: $(DISTFILES)
        @for file in $(DISTFILES); do \
          d=$(srcdir); \
          if test -d $$d/$$file; then \
-           cp -pr $$/$$file $(distdir)/$$file; \
+           cp -pr $$d/$$file $(distdir)/$$file; \
          else \
            test -f $(distdir)/$$file \
            || ln $$d/$$file $(distdir)/$$file 2> /dev/null \