From a89473d1b54f267a5292cacdbf20cb09f06be73b Mon Sep 17 00:00:00 2001 From: Michael Bayne Date: Wed, 5 Jul 2006 00:50:28 +0000 Subject: [PATCH] Type safety patrol. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4243 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- .../com/threerings/util/MessageManager.java | 5 +++-- .../threerings/util/StreamableArrayList.java | 3 ++- .../threerings/util/StreamableHashIntMap.java | 5 +++-- .../threerings/util/StreamableHashMap.java | 4 +++- src/java/com/threerings/util/TimeUtil.java | 4 ++-- .../com/threerings/util/TrackedObject.java | 16 ++++++++-------- .../threerings/util/signal/SignalManager.java | 19 ++++++++++--------- 7 files changed, 31 insertions(+), 25 deletions(-) diff --git a/src/java/com/threerings/util/MessageManager.java b/src/java/com/threerings/util/MessageManager.java index 3cfa378b8..464308a8a 100644 --- a/src/java/com/threerings/util/MessageManager.java +++ b/src/java/com/threerings/util/MessageManager.java @@ -126,7 +126,7 @@ public class MessageManager public MessageBundle getBundle (String path) { // first look in the cache - MessageBundle bundle = (MessageBundle)_cache.get(path); + MessageBundle bundle = _cache.get(path); if (bundle != null) { return bundle; } @@ -190,7 +190,8 @@ public class MessageManager protected ClassLoader _loader; /** A cache of instantiated message bundles. */ - protected HashMap _cache = new HashMap(); + protected HashMap _cache = + new HashMap(); /** Our top-level message bundle, from which others obtain messages if * they can't find them within themselves. */ diff --git a/src/java/com/threerings/util/StreamableArrayList.java b/src/java/com/threerings/util/StreamableArrayList.java index 860178e9c..febbc8d3d 100644 --- a/src/java/com/threerings/util/StreamableArrayList.java +++ b/src/java/com/threerings/util/StreamableArrayList.java @@ -59,7 +59,8 @@ public class StreamableArrayList extends ArrayList int ecount = in.readInt(); ensureCapacity(ecount); for (int ii = 0; ii < ecount; ii++) { - add((E)in.readObject()); + @SuppressWarnings("unchecked") E elem = (E)in.readObject(); + add(elem); } } } diff --git a/src/java/com/threerings/util/StreamableHashIntMap.java b/src/java/com/threerings/util/StreamableHashIntMap.java index 40d97b88c..9371ae107 100644 --- a/src/java/com/threerings/util/StreamableHashIntMap.java +++ b/src/java/com/threerings/util/StreamableHashIntMap.java @@ -36,7 +36,7 @@ import com.threerings.io.Streamable; * * @see Streamable */ -public class StreamableHashIntMap extends HashIntMap +public class StreamableHashIntMap extends HashIntMap implements Streamable { /** @@ -82,7 +82,8 @@ public class StreamableHashIntMap extends HashIntMap ensureCapacity(ecount); for (int ii = 0; ii < ecount; ii++) { int key = in.readInt(); - put(key, in.readObject()); + @SuppressWarnings("unchecked") V value = (V)in.readObject(); + put(key, value); } } } diff --git a/src/java/com/threerings/util/StreamableHashMap.java b/src/java/com/threerings/util/StreamableHashMap.java index def7587d2..2a8840f7a 100644 --- a/src/java/com/threerings/util/StreamableHashMap.java +++ b/src/java/com/threerings/util/StreamableHashMap.java @@ -80,7 +80,9 @@ public class StreamableHashMap extends HashMap { int ecount = in.readInt(); for (int ii = 0; ii < ecount; ii++) { - put((K)in.readObject(), (V)in.readObject()); + @SuppressWarnings("unchecked") K key = (K)in.readObject(); + @SuppressWarnings("unchecked") V value = (V)in.readObject(); + put(key, value); } } } diff --git a/src/java/com/threerings/util/TimeUtil.java b/src/java/com/threerings/util/TimeUtil.java index e81cf7801..6967863e4 100644 --- a/src/java/com/threerings/util/TimeUtil.java +++ b/src/java/com/threerings/util/TimeUtil.java @@ -94,7 +94,7 @@ public class TimeUtil minUnit = (byte) Math.min(minUnit, MAX_UNIT); duration = Math.abs(duration); - ArrayList list = new ArrayList(); + ArrayList list = new ArrayList(); int parts = 0; // how many parts are in the translation string? for (byte uu = MILLISECOND; uu <= MAX_UNIT; uu++) { int quantity = getQuantityPerUnit(uu); @@ -110,7 +110,7 @@ public class TimeUtil } if (parts == 1) { - return (String) list.get(0); + return list.get(0); } else { return MessageBundle.compose("m.times_" + parts, list.toArray()); } diff --git a/src/java/com/threerings/util/TrackedObject.java b/src/java/com/threerings/util/TrackedObject.java index ddf514284..9f8fac1fb 100644 --- a/src/java/com/threerings/util/TrackedObject.java +++ b/src/java/com/threerings/util/TrackedObject.java @@ -90,23 +90,23 @@ public class TrackedObject * instances and an int[] array that represent the number * of outstanding instance of all {@link TrackedObject}s in the VM. */ - public static Tuple getSnapshot () + public static Tuple getSnapshot () { Class[] classes = null; int[] counts = null; synchronized (_map) { classes = new Class[_map.size()]; counts = new int[_map.size()]; - Iterator iter = _map.entrySet().iterator(); - for (int ii = 0; iter.hasNext(); ii++) { - Map.Entry entry = (Map.Entry)iter.next(); - classes[ii] = (Class)entry.getKey(); - counts[ii] = ((int[])entry.getValue())[0]; + int idx = 0; + for (Map.Entry entry : _map.entrySet()) { + classes[idx] = entry.getKey(); + counts[idx] = entry.getValue()[0]; + idx++; } } - return new Tuple(classes, counts); + return new Tuple(classes, counts); } /** Tracks a mapping from {@link Class} object to active count. */ - protected static HashMap _map = new HashMap(); + protected static HashMap _map = new HashMap(); } diff --git a/src/java/com/threerings/util/signal/SignalManager.java b/src/java/com/threerings/util/signal/SignalManager.java index 5a06bcd3b..67624a2e3 100644 --- a/src/java/com/threerings/util/signal/SignalManager.java +++ b/src/java/com/threerings/util/signal/SignalManager.java @@ -160,9 +160,9 @@ public class SignalManager public synchronized static void registerSignalHandler ( int signal, SignalHandler handler) { - ObserverList list = (ObserverList)_handlers.get(signal); + ObserverList list = _handlers.get(signal); if (list == null) { - _handlers.put(signal, list = new ObserverList( + _handlers.put(signal, list = new ObserverList( ObserverList.SAFE_IN_ORDER_NOTIFY)); if (_haveLibrary) { activateHandler(signal); @@ -189,7 +189,7 @@ public class SignalManager public synchronized static void removeSignalHandler ( int signal, SignalHandler handler) { - ObserverList list = (ObserverList)_handlers.get(signal); + ObserverList list = _handlers.get(signal); if (list == null || !list.contains(handler)) { log.warning("Requested to remove non-registered handler " + "[signal=" + signal + ", handler=" + handler + "]."); @@ -215,11 +215,11 @@ public class SignalManager _lastINTed = now; } } - ObserverList list = (ObserverList)_handlers.get(signal); + ObserverList list = _handlers.get(signal); if (list != null) { - list.apply(new ObserverList.ObserverOp() { - public boolean apply (Object obs) { - return ((SignalHandler)obs).signalReceived(signal); + list.apply(new ObserverList.ObserverOp() { + public boolean apply (SignalHandler handler) { + return handler.signalReceived(signal); } }); } @@ -231,7 +231,7 @@ public class SignalManager */ protected static void checkEmpty (int signal) { - ObserverList list = (ObserverList)_handlers.get(signal); + ObserverList list = _handlers.get(signal); if (list != null && list.size() == 0) { _handlers.remove(signal); if (_haveLibrary) { @@ -257,7 +257,8 @@ public class SignalManager protected static native void dispatchSignals (); /** A mapping from signal number to a list of handlers. */ - protected static HashIntMap _handlers = new HashIntMap(); + protected static HashIntMap> _handlers = + new HashIntMap>(); /** Our signal dispatcher thread. */ protected static Thread _sigdis;