From 0a98e2530447286746d63dc2d3a480656cd88b32 Mon Sep 17 00:00:00 2001 From: Nathan Curtis Date: Mon, 4 Jan 2010 22:23:56 +0000 Subject: [PATCH] Add a utility class for creating easy mappings from Charlie. Bumping this up from BiteMe because I'm also bumping BiteMe's Kontagent implementation into a more accessible place, and it relies on this class. Also, it can be pretty handy. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6009 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- src/java/com/threerings/util/Mapping.java | 61 +++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 src/java/com/threerings/util/Mapping.java diff --git a/src/java/com/threerings/util/Mapping.java b/src/java/com/threerings/util/Mapping.java new file mode 100644 index 000000000..cd580743f --- /dev/null +++ b/src/java/com/threerings/util/Mapping.java @@ -0,0 +1,61 @@ +// $Id$ + +package com.threerings.util; + +import java.util.HashMap; + +import com.google.common.collect.Maps; + +public class Mapping +{ + public static HashMap of (K k1, V val1) + { + return of(new Object[] { k1, val1 }); + } + + public static HashMap of (K k1, V v1, K k2, V v2) + { + return of(new Object[] { k1, v1, k2, v2 }); + } + + public static HashMap of (K k1, V v1, K k2, V v2, K k3, V v3) + { + return of(new Object[] { k1, v1, k2, v2, k3, v3 }); + } + + public static HashMap of (K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4) + { + return of(new Object[] { k1, v1, k2, v2, k3, v3, k4, v4 }); + } + + public static HashMap of (K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, + V v5) + { + return of(new Object[] { k1, v1, k2, v2, k3, v3, k4, v4, k5, v5 }); + } + + public static HashMap of (K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, + V v5, K k6, V v6) + { + return of(new Object[] { k1, v1, k2, v2, k3, v3, k4, v4, k5, v5, k6, v6 }); + } + + public static HashMap of (K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, + V v5, K k6, V v6, K k7, V v7) + { + return of(new Object[] { k1, v1, k2, v2, k3, v3, k4, v4, k5, v5, k6, v6, k7, v7 }); + } + + protected static HashMap of (Object... pairs) + { + HashMap map = Maps.newHashMap(); + for (int ii = 0; ii < pairs.length; ii += 2) { + @SuppressWarnings("unchecked") + K k = (K)pairs[ii]; + @SuppressWarnings("unchecked") + V v = (V)pairs[ii + 1]; + map.put(k, v); + } + return map; + } +}