classpath-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[cp-patches] [generics] Patch: FYI: genericize some methods


From: Tom Tromey
Subject: [cp-patches] [generics] Patch: FYI: genericize some methods
Date: 05 Oct 2005 18:24:14 -0600

I'm checking this in on the generics branch.

This genericizes a bunch of methods from AWT and Swing.

Tom

2005-10-05  Tom Tromey  <address@hidden>

        * javax/swing/tree/DefaultTreeSelectionModel.java (getListeners):
        Genericized.
        * javax/swing/tree/DefaultTreeModel.java (getListeners): Genericized.
        * javax/swing/Timer.java (getListeners): Genericized.
        * javax/swing/text/StyleContext.java (getListeners): Genericized.
        * javax/swing/text/DefaultCaret.java (getListeners): Genericized.
        * javax/swing/text/AbstractDocument.java (getListeners):
        Genericized.
        * javax/swing/table/DefaultTableColumnModel.java (getListeners):
        Genericized.
        * javax/swing/table/AbstractTableModel.java (getListeners):
        Genericized.
        * javax/swing/JComponent.java (getListeners): Genericized.
        * javax/swing/DefaultSingleSelectionModel.java (getListeners):
        Genericized.
        * javax/swing/DefaultListSelectionModel.java (getListeners):
        Genericized.
        * javax/swing/DefaultButtonModel.java (getListeners): Genericized.
        * javax/swing/DefaultBoundedRangeModel.java (getListeners):
        Genericized.
        * javax/swing/AbstractSpinnerModel.java (getListeners): Genericized.
        * javax/swing/event/EventListenerList.java (add): Genericized.
        (getListeners): Likewise.
        (remove): Likewise.
        * java/awt/dnd/DragSource.java (getListeners): Genericized.
        * java/awt/TextField.java (getListeners): Genericized.
        * java/awt/Window.java (getListeners): Genericized.
        * java/awt/Scrollbar.java (getListeners): Genericized.
        * java/awt/List.java (getListeners): Genericized.
        * java/awt/Choice.java (getListeners): Genericized.
        * java/awt/TextComponent.java (getListeners): Genericized.
        * java/awt/CheckboxMenuItem.java (getListeners): Genericized.
        * java/awt/Button.java (getListeners): Genericized.
        * java/awt/Container.java (getListeners): Genericized.

Index: java/awt/Button.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/awt/Button.java,v
retrieving revision 1.13.2.9
diff -u -r1.13.2.9 Button.java
--- java/awt/Button.java        20 Sep 2005 18:46:25 -0000      1.13.2.9
+++ java/awt/Button.java        6 Oct 2005 00:29:30 -0000
@@ -352,11 +352,11 @@
  *
  * @since 1.3 
  */
-  public EventListener[] getListeners(Class listenerType)
+  public <T extends EventListener> T[] getListeners(Class<T> listenerType)
   {
     if (listenerType == ActionListener.class)
-      return getActionListeners();
-    return (EventListener[]) Array.newInstance(listenerType, 0);
+      return (T[]) getActionListeners();
+    return (T[]) Array.newInstance(listenerType, 0);
   }
 
 /*************************************************************************/
Index: java/awt/CheckboxMenuItem.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/awt/CheckboxMenuItem.java,v
retrieving revision 1.12.2.7
diff -u -r1.12.2.7 CheckboxMenuItem.java
--- java/awt/CheckboxMenuItem.java      20 Sep 2005 18:46:25 -0000      1.12.2.7
+++ java/awt/CheckboxMenuItem.java      6 Oct 2005 00:29:30 -0000
@@ -313,11 +313,11 @@
    * @exception ClassCastException If listenerType doesn't specify a class or
    * interface that implements java.util.EventListener.
    */
-  public EventListener[] getListeners (Class listenerType)
+  public <T extends EventListener> T[] getListeners (Class<T> listenerType)
   {
     if (listenerType == ItemListener.class)
       return AWTEventMulticaster.getListeners (item_listeners, listenerType); 
-             
+
     return super.getListeners (listenerType);
   }
 
Index: java/awt/Choice.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/awt/Choice.java,v
retrieving revision 1.15.2.6
diff -u -r1.15.2.6 Choice.java
--- java/awt/Choice.java        2 Aug 2005 20:12:14 -0000       1.15.2.6
+++ java/awt/Choice.java        6 Oct 2005 00:29:30 -0000
@@ -604,11 +604,11 @@
    *
    * @since 1.3
    */
-  public EventListener[] getListeners (Class listenerType)
+  public <T extends EventListener> T[] getListeners (Class<T> listenerType)
   {
     if (listenerType == ItemListener.class)
       return AWTEventMulticaster.getListeners (item_listeners, listenerType);
-    
+
     return super.getListeners (listenerType);
   }
 
Index: java/awt/Container.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/awt/Container.java,v
retrieving revision 1.37.2.15
diff -u -r1.37.2.15 Container.java
--- java/awt/Container.java     20 Sep 2005 18:46:25 -0000      1.37.2.15
+++ java/awt/Container.java     6 Oct 2005 00:29:31 -0000
@@ -884,10 +884,10 @@
    *
    * @since 1.3
    */
-  public EventListener[] getListeners(Class listenerType)
+  public <T extends EventListener> T[] getListeners(Class<T> listenerType)
   {
     if (listenerType == ContainerListener.class)
-      return getContainerListeners();
+      return (T[]) getContainerListeners();
     return super.getListeners(listenerType);
   }
 
Index: java/awt/List.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/awt/List.java,v
retrieving revision 1.18.2.5
diff -u -r1.18.2.5 List.java
--- java/awt/List.java  20 Sep 2005 18:46:26 -0000      1.18.2.5
+++ java/awt/List.java  6 Oct 2005 00:29:31 -0000
@@ -1057,11 +1057,11 @@
    * @exception ClassCastException If listenerType doesn't specify a class or
    * interface that implements java.util.EventListener.
    */
-  public EventListener[] getListeners (Class listenerType)
+  public <T extends EventListener> T[] getListeners (Class<T> listenerType)
   {
     if (listenerType == ActionListener.class)
       return AWTEventMulticaster.getListeners (action_listeners, listenerType);
-    
+
     if (listenerType == ItemListener.class)
       return AWTEventMulticaster.getListeners (item_listeners, listenerType);
 
Index: java/awt/Scrollbar.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/awt/Scrollbar.java,v
retrieving revision 1.18.2.7
diff -u -r1.18.2.7 Scrollbar.java
--- java/awt/Scrollbar.java     2 Aug 2005 20:12:15 -0000       1.18.2.7
+++ java/awt/Scrollbar.java     6 Oct 2005 00:29:31 -0000
@@ -627,7 +627,7 @@
    * @exception ClassCastException If listenerType doesn't specify a class or
    * interface that implements java.util.EventListener.
    */
-  public EventListener[] getListeners(Class listenerType)
+  public <T extends EventListener> T[] getListeners(Class<T> listenerType)
   {
     if (listenerType == AdjustmentListener.class)
       return AWTEventMulticaster.getListeners(adjustment_listeners,
Index: java/awt/TextComponent.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/awt/TextComponent.java,v
retrieving revision 1.15.2.6
diff -u -r1.15.2.6 TextComponent.java
--- java/awt/TextComponent.java 20 Sep 2005 18:46:26 -0000      1.15.2.6
+++ java/awt/TextComponent.java 6 Oct 2005 00:29:31 -0000
@@ -681,7 +681,7 @@
    * @exception ClassCastException If listenerType doesn't specify a class or
    * interface that implements java.util.EventListener.
    */
-  public EventListener[] getListeners (Class listenerType)
+  public <T extends EventListener> T[] getListeners (Class<T> listenerType)
   {
     if (listenerType == TextListener.class)
       return AWTEventMulticaster.getListeners (textListener, listenerType);
Index: java/awt/TextField.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/awt/TextField.java,v
retrieving revision 1.12.2.4
diff -u -r1.12.2.4 TextField.java
--- java/awt/TextField.java     20 Sep 2005 18:46:26 -0000      1.12.2.4
+++ java/awt/TextField.java     6 Oct 2005 00:29:32 -0000
@@ -502,7 +502,7 @@
    *
    * @since 1.3
    */
-  public EventListener[] getListeners (Class listenerType)
+  public <T extends EventListener> T[] getListeners (Class<T> listenerType)
   {
     if (listenerType == ActionListener.class)
       return AWTEventMulticaster.getListeners (action_listeners, listenerType);
Index: java/awt/Window.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/awt/Window.java,v
retrieving revision 1.35.2.12
diff -u -r1.35.2.12 Window.java
--- java/awt/Window.java        27 Sep 2005 16:49:40 -0000      1.35.2.12
+++ java/awt/Window.java        6 Oct 2005 00:29:32 -0000
@@ -606,10 +606,10 @@
    *
    * @since 1.3
    */
-  public EventListener[] getListeners(Class listenerType)
+  public <T extends EventListener> T[] getListeners(Class<T> listenerType)
   {
     if (listenerType == WindowListener.class)
-      return getWindowListeners();
+      return (T[]) getWindowListeners();
     return super.getListeners(listenerType);
   }
 
Index: java/awt/dnd/DragSource.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/awt/dnd/DragSource.java,v
retrieving revision 1.4.2.1
diff -u -r1.4.2.1 DragSource.java
--- java/awt/dnd/DragSource.java        2 Aug 2005 20:12:15 -0000       1.4.2.1
+++ java/awt/dnd/DragSource.java        6 Oct 2005 00:29:32 -0000
@@ -241,7 +241,7 @@
   /**
    * @since 1.4
    */
-  public EventListener[] getListeners (Class listenerType)
+  public <T extends EventListener> T[] getListeners (Class<T> listenerType)
   {
     if (listenerType == DragSourceListener.class)
       return DnDEventMulticaster.getListeners (dragSourceListener,
@@ -252,6 +252,6 @@
                                                listenerType);
 
     // Return an empty EventListener array.
-    return new EventListener [0];
+    return (T[]) new EventListener [0];
   }
 } // class DragSource
Index: javax/swing/AbstractListModel.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/AbstractListModel.java,v
retrieving revision 1.7.2.3
diff -u -r1.7.2.3 AbstractListModel.java
--- javax/swing/AbstractListModel.java  2 Aug 2005 20:12:36 -0000       1.7.2.3
+++ javax/swing/AbstractListModel.java  6 Oct 2005 00:29:33 -0000
@@ -161,7 +161,7 @@
    *
    * @return The set of listeners of the specified type
    */
-  public EventListener[] getListeners(Class listenerType)
+  public <T extends EventListener> T[] getListeners(Class<T> listenerType)
   {
     return listenerList.getListeners(listenerType);
   }
Index: javax/swing/AbstractSpinnerModel.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/AbstractSpinnerModel.java,v
retrieving revision 1.2.2.3
diff -u -r1.2.2.3 AbstractSpinnerModel.java
--- javax/swing/AbstractSpinnerModel.java       2 Aug 2005 20:12:36 -0000       
1.2.2.3
+++ javax/swing/AbstractSpinnerModel.java       6 Oct 2005 00:29:33 -0000
@@ -79,7 +79,7 @@
    * @param c the type of listener
    * @return the listeners that are of the specific type
    */
-  public EventListener[] getListeners(Class c)
+  public <T extends EventListener> T[] getListeners(Class<T> c)
   {
     return listenerList.getListeners(c);
   }
Index: javax/swing/DefaultBoundedRangeModel.java
===================================================================
RCS file: 
/cvsroot/classpath/classpath/javax/swing/DefaultBoundedRangeModel.java,v
retrieving revision 1.5.2.4
diff -u -r1.5.2.4 DefaultBoundedRangeModel.java
--- javax/swing/DefaultBoundedRangeModel.java   2 Aug 2005 20:12:36 -0000       
1.5.2.4
+++ javax/swing/DefaultBoundedRangeModel.java   6 Oct 2005 00:29:34 -0000
@@ -421,7 +421,7 @@
    *
    * @since 1.3
    */
-  public EventListener[] getListeners(Class listenerType)
+  public <T extends EventListener> T[] getListeners(Class<T> listenerType)
   {
     return listenerList.getListeners(listenerType);
   }
Index: javax/swing/DefaultButtonModel.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/DefaultButtonModel.java,v
retrieving revision 1.10.2.7
diff -u -r1.10.2.7 DefaultButtonModel.java
--- javax/swing/DefaultButtonModel.java 2 Aug 2005 20:12:36 -0000       1.10.2.7
+++ javax/swing/DefaultButtonModel.java 6 Oct 2005 00:29:34 -0000
@@ -165,7 +165,7 @@
    *
    * @return array of listeners
    */
-  public EventListener[] getListeners(Class listenerType)
+  public <T extends EventListener> T[] getListeners(Class<T> listenerType)
   {
     return listenerList.getListeners(listenerType);
   }
Index: javax/swing/DefaultListSelectionModel.java
===================================================================
RCS file: 
/cvsroot/classpath/classpath/javax/swing/DefaultListSelectionModel.java,v
retrieving revision 1.7.2.6
diff -u -r1.7.2.6 DefaultListSelectionModel.java
--- javax/swing/DefaultListSelectionModel.java  2 Aug 2005 20:12:36 -0000       
1.7.2.6
+++ javax/swing/DefaultListSelectionModel.java  6 Oct 2005 00:29:34 -0000
@@ -667,7 +667,7 @@
    * @see #getListSelectionListeners
    * @since 1.3
    */
-  public EventListener[] getListeners(Class listenerType)
+  public <T extends EventListener> T[] getListeners(Class<T> listenerType)
   {
     return listenerList.getListeners(listenerType);
   }
Index: javax/swing/DefaultSingleSelectionModel.java
===================================================================
RCS file: 
/cvsroot/classpath/classpath/javax/swing/DefaultSingleSelectionModel.java,v
retrieving revision 1.4.2.4
diff -u -r1.4.2.4 DefaultSingleSelectionModel.java
--- javax/swing/DefaultSingleSelectionModel.java        2 Aug 2005 20:12:36 
-0000       1.4.2.4
+++ javax/swing/DefaultSingleSelectionModel.java        6 Oct 2005 00:29:34 
-0000
@@ -156,7 +156,7 @@
    *
    * @since 1.3
    */
-  public EventListener[] getListeners(Class listenerClass)
+  public <T extends EventListener> T[] getListeners(Class<T> listenerClass)
   {
     return listenerList.getListeners(listenerClass);
   }
Index: javax/swing/JComponent.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/JComponent.java,v
retrieving revision 1.20.2.14
diff -u -r1.20.2.14 JComponent.java
--- javax/swing/JComponent.java 20 Sep 2005 18:46:31 -0000      1.20.2.14
+++ javax/swing/JComponent.java 6 Oct 2005 00:29:35 -0000
@@ -598,7 +598,7 @@
    *
    * @see #listenerList
    */
-  public EventListener[] getListeners(Class listenerType)
+  public <T extends EventListener> T[] getListeners(Class<T> listenerType)
   {
     return listenerList.getListeners(listenerType);
   }
Index: javax/swing/Timer.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/Timer.java,v
retrieving revision 1.10.2.7
diff -u -r1.10.2.7 Timer.java
--- javax/swing/Timer.java      20 Sep 2005 18:46:32 -0000      1.10.2.7
+++ javax/swing/Timer.java      6 Oct 2005 00:29:35 -0000
@@ -251,7 +251,7 @@
    * fired by this timer
    * @since 1.3
    */
-  public EventListener[] getListeners(Class listenerType)
+  public <T extends EventListener> T[] getListeners(Class<T> listenerType)
   {
     return listenerList.getListeners(listenerType);
   }
Index: javax/swing/event/EventListenerList.java
===================================================================
RCS file: 
/cvsroot/classpath/classpath/javax/swing/event/EventListenerList.java,v
retrieving revision 1.9.2.2
diff -u -r1.9.2.2 EventListenerList.java
--- javax/swing/event/EventListenerList.java    2 Aug 2005 20:12:37 -0000       
1.9.2.2
+++ javax/swing/event/EventListenerList.java    6 Oct 2005 00:29:35 -0000
@@ -135,7 +135,7 @@
    *
    * @throws NullPointerException if <code>t</code> is <code>null</code>.
    */
-  public void add(Class t, EventListener listener)
+  public <T extends EventListener> void add(Class<T> t, T listener)
   {
     int oldLength;
     Object[] newList;
@@ -219,7 +219,7 @@
    *
    * @since 1.3
    */
-  public EventListener[] getListeners(Class c)
+  public <T extends EventListener> T[] getListeners(Class<T> c)
   {
     int count, f;
     EventListener[] result;
@@ -231,7 +231,7 @@
       if (listenerList[i] == c)
         result[f++] = (EventListener) listenerList[i + 1];
     
-    return result;
+    return (T[]) result;
   }
 
 
@@ -248,7 +248,7 @@
    *
    * @throws NullPointerException if <code>t</code> is <code>null</code>.
    */
-  public void remove(Class t, EventListener listener)
+  public <T extends EventListener> void remove(Class<T> t, T listener)
   {
     Object[] oldList, newList;
     int oldLength;
Index: javax/swing/table/AbstractTableModel.java
===================================================================
RCS file: 
/cvsroot/classpath/classpath/javax/swing/table/AbstractTableModel.java,v
retrieving revision 1.10.2.2
diff -u -r1.10.2.2 AbstractTableModel.java
--- javax/swing/table/AbstractTableModel.java   2 Aug 2005 20:12:38 -0000       
1.10.2.2
+++ javax/swing/table/AbstractTableModel.java   6 Oct 2005 00:29:35 -0000
@@ -294,7 +294,7 @@
    * 
    * @return An array of listeners (possibly empty).
    */
-  public EventListener[] getListeners(Class listenerType)
+  public <T extends EventListener> T[] getListeners(Class<T> listenerType)
   {
     return listenerList.getListeners(listenerType);
   }
Index: javax/swing/table/DefaultTableColumnModel.java
===================================================================
RCS file: 
/cvsroot/classpath/classpath/javax/swing/table/DefaultTableColumnModel.java,v
retrieving revision 1.6.2.4
diff -u -r1.6.2.4 DefaultTableColumnModel.java
--- javax/swing/table/DefaultTableColumnModel.java      2 Aug 2005 20:12:38 
-0000       1.6.2.4
+++ javax/swing/table/DefaultTableColumnModel.java      6 Oct 2005 00:29:35 
-0000
@@ -499,7 +499,7 @@
    *
    * @return EventListener[] array of model's listeners of the specified type
    */
-  public EventListener[] getListeners(Class listenerType)
+  public <T extends EventListener> T[] getListeners(Class<T> listenerType)
   {
     return listenerList.getListeners(listenerType);
   }
Index: javax/swing/text/AbstractDocument.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/text/AbstractDocument.java,v
retrieving revision 1.9.2.9
diff -u -r1.9.2.9 AbstractDocument.java
--- javax/swing/text/AbstractDocument.java      20 Sep 2005 18:46:34 -0000      
1.9.2.9
+++ javax/swing/text/AbstractDocument.java      6 Oct 2005 00:29:35 -0000
@@ -404,7 +404,7 @@
    *
    * @return all registered listeners of the specified type
    */
-  public EventListener[] getListeners(Class listenerType)
+  public <T extends EventListener> T[] getListeners(Class<T> listenerType)
   {
     return listenerList.getListeners(listenerType);
   }
Index: javax/swing/text/DefaultCaret.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/text/DefaultCaret.java,v
retrieving revision 1.7.2.7
diff -u -r1.7.2.7 DefaultCaret.java
--- javax/swing/text/DefaultCaret.java  20 Sep 2005 18:46:35 -0000      1.7.2.7
+++ javax/swing/text/DefaultCaret.java  6 Oct 2005 00:29:36 -0000
@@ -425,7 +425,7 @@
    *
    * @return all registered event listeners of the specified type
    */
-  public EventListener[] getListeners(Class listenerType)
+  public <T extends EventListener> T[] getListeners(Class<T> listenerType)
   {
     return listenerList.getListeners(listenerType);
   }
Index: javax/swing/text/StyleContext.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/text/StyleContext.java,v
retrieving revision 1.2.2.5
diff -u -r1.2.2.5 StyleContext.java
--- javax/swing/text/StyleContext.java  20 Sep 2005 18:46:35 -0000      1.2.2.5
+++ javax/swing/text/StyleContext.java  6 Oct 2005 00:29:36 -0000
@@ -112,7 +112,7 @@
       listenerList.remove(ChangeListener.class, l);
     }
       
-    public EventListener[] getListeners(Class listenerType)
+    public <T extends EventListener> T[] getListeners(Class<T> listenerType)
     {
       return listenerList.getListeners(listenerType);
     }
Index: javax/swing/tree/DefaultTreeModel.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/tree/DefaultTreeModel.java,v
retrieving revision 1.3.2.5
diff -u -r1.3.2.5 DefaultTreeModel.java
--- javax/swing/tree/DefaultTreeModel.java      10 Sep 2005 15:31:56 -0000      
1.3.2.5
+++ javax/swing/tree/DefaultTreeModel.java      6 Oct 2005 00:29:36 -0000
@@ -558,7 +558,7 @@
    *
    * @since 1.3
    */
-  public EventListener[] getListeners(Class listenerType)
+  public <T extends EventListener> T[] getListeners(Class<T> listenerType)
   {
     return listenerList.getListeners(listenerType);
   }
Index: javax/swing/tree/DefaultTreeSelectionModel.java
===================================================================
RCS file: 
/cvsroot/classpath/classpath/javax/swing/tree/DefaultTreeSelectionModel.java,v
retrieving revision 1.3.2.4
diff -u -r1.3.2.4 DefaultTreeSelectionModel.java
--- javax/swing/tree/DefaultTreeSelectionModel.java     10 Sep 2005 15:31:56 
-0000      1.3.2.4
+++ javax/swing/tree/DefaultTreeSelectionModel.java     6 Oct 2005 00:29:36 
-0000
@@ -527,7 +527,7 @@
         * 
         * @since 1.3
         */
-       public EventListener[] getListeners(Class listenerType)
+       public <T extends EventListener> T[] getListeners(Class<T> listenerType)
        {
                return listenerList.getListeners(listenerType);
        }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]