Author: j16sdiz
Date: 2008-08-15 10:49:59 +0000 (Fri, 15 Aug 2008)
New Revision: 21893
Modified:
trunk/freenet/src/freenet/support/OOMHandler.java
trunk/freenet/src/freenet/support/WeakHashSet.java
Log:
generic for WeakHashSet
Modified: trunk/freenet/src/freenet/support/OOMHandler.java
===================================================================
--- trunk/freenet/src/freenet/support/OOMHandler.java 2008-08-15 10:49:39 UTC
(rev 21892)
+++ trunk/freenet/src/freenet/support/OOMHandler.java 2008-08-15 10:49:59 UTC
(rev 21893)
@@ -8,8 +8,6 @@
import org.tanukisoftware.wrapper.WrapperManager;
-import freenet.support.Logger;
-
/**
* Do this processing as a standard response to an OutOfMemoryError
*/
@@ -25,7 +23,7 @@
/**
* List of {@link OOMHook}s
*/
- private static Set oomHooks = new WeakHashSet();
+ private static Set<OOMHook> oomHooks = new WeakHashSet<OOMHook>();
public static void addOOMHook(OOMHook hook) {
synchronized (oomHooks) {
@@ -41,9 +39,9 @@
System.runFinalization();
// iterate all oom hooks
- Iterator it = oomHooks.iterator();
+ Iterator<OOMHook> it = oomHooks.iterator();
while (it.hasNext()) {
- OOMHook hook = ((OOMHook) it.next());
+ OOMHook hook = it.next();
if (hook != null) {
try {
hook.handleLowMemory();
@@ -77,9 +75,9 @@
System.runFinalization();
// iterate all oom hooks
- Iterator it = oomHooks.iterator();
+ Iterator<OOMHook> it = oomHooks.iterator();
while (it.hasNext()) {
- OOMHook hook = ((OOMHook) it.next());
+ OOMHook hook = it.next();
if (hook != null) {
try {
hook.handleOutOfMemory();
Modified: trunk/freenet/src/freenet/support/WeakHashSet.java
===================================================================
--- trunk/freenet/src/freenet/support/WeakHashSet.java 2008-08-15 10:49:39 UTC
(rev 21892)
+++ trunk/freenet/src/freenet/support/WeakHashSet.java 2008-08-15 10:49:59 UTC
(rev 21893)
@@ -5,50 +5,60 @@
import java.util.Iterator;
import java.util.WeakHashMap;
-public class WeakHashSet extends AbstractSet {
- private final WeakHashMap map;
+public class WeakHashSet<E> extends AbstractSet<E> {
+ private final WeakHashMap<E, Object> map;
public WeakHashSet() {
- map = new WeakHashMap();
+ map = new WeakHashMap<E, Object>();
}
- public boolean add(Object key) {
+ @Override
+ public boolean add(E key) {
return map.put(key, null) == null;
}
- public void clear() {
+ @Override
+ public void clear() {
map.clear();
}
- public boolean contains(Object key) {
+ @Override
+ public boolean contains(Object key) {
return map.containsKey(key);
}
- public boolean containsAll(Collection arg0) {
+ @Override
+ public boolean containsAll(Collection<?> arg0) {
return map.keySet().containsAll(arg0);
}
- public boolean isEmpty() {
+ @Override
+ public boolean isEmpty() {
return map.isEmpty();
}
- public Iterator iterator() {
+ @Override
+ public Iterator<E> iterator() {
return map.keySet().iterator();
}
- public boolean remove(Object key) {
+ @Override
+ public boolean remove(Object key) {
return map.remove(key) != null;
}
- public int size() {
+ @Override
+ public int size() {
return map.size();
}
- public Object[] toArray() {
+ @Override
+ public Object[] toArray() {
return map.keySet().toArray();
}
- public Object[] toArray(Object[] arg0) {
+ @Override
+ public <T> T[] toArray(T[] arg0) {
return map.keySet().toArray(arg0);
}
}