1175 |
* @throws IllegalArgumentException if type is Void.TYPE |
* @throws IllegalArgumentException if type is Void.TYPE |
1176 |
* @since 1.4 |
* @since 1.4 |
1177 |
*/ |
*/ |
1178 |
public static EventListener[] getListeners(EventListener l, Class type) |
public static <T extends EventListener> T[] getListeners(EventListener l, |
1179 |
|
Class<T> type) |
1180 |
{ |
{ |
1181 |
ArrayList list = new ArrayList(); |
ArrayList<EventListener> list = new ArrayList<EventListener>(); |
1182 |
if (l instanceof AWTEventMulticaster) |
if (l instanceof AWTEventMulticaster) |
1183 |
((AWTEventMulticaster) l).getListeners(list, type); |
((AWTEventMulticaster) l).getListeners(list, type); |
1184 |
else if (type.isInstance(l)) |
else if (type.isInstance(l)) |
1185 |
list.add(l); |
list.add(l); |
1186 |
EventListener[] r = (EventListener[]) Array.newInstance(type, list.size()); |
EventListener[] r = (EventListener[]) Array.newInstance(type, list.size()); |
1187 |
list.toArray(r); |
list.toArray(r); |
1188 |
return r; |
return (T[]) r; |
1189 |
} |
} |
1190 |
|
|
1191 |
/** |
/** |