unmodifiable static maps
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/proxy/trunk@1582522 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/core/src/main/java/org/apache/commons/proxy2/ProxyUtils.java b/core/src/main/java/org/apache/commons/proxy2/ProxyUtils.java
index b558dbd..8cc353b 100644
--- a/core/src/main/java/org/apache/commons/proxy2/ProxyUtils.java
+++ b/core/src/main/java/org/apache/commons/proxy2/ProxyUtils.java
@@ -18,6 +18,7 @@
package org.apache.commons.proxy2;
import java.lang.reflect.Method;
+import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
@@ -37,8 +38,8 @@
public static final Object[] EMPTY_ARGUMENTS = new Object[0];
public static final Class<?>[] EMPTY_ARGUMENT_TYPES = new Class[0];
- private static final Map<Class<?>, Class<?>> WRAPPER_CLASS_MAP = new HashMap<Class<?>, Class<?>>();
- private static final Map<Class<?>, Object> NULL_VALUE_MAP = new HashMap<Class<?>, Object>();
+ private static final Map<Class<?>, Class<?>> WRAPPER_CLASS_MAP;
+ private static final Map<Class<?>, Object> NULL_VALUE_MAP;
//******************************************************************************************************************
// Static Methods
@@ -46,26 +47,30 @@
static
{
- WRAPPER_CLASS_MAP.put(Integer.TYPE, Integer.class);
- WRAPPER_CLASS_MAP.put(Character.TYPE, Character.class);
- WRAPPER_CLASS_MAP.put(Boolean.TYPE, Boolean.class);
- WRAPPER_CLASS_MAP.put(Short.TYPE, Short.class);
- WRAPPER_CLASS_MAP.put(Long.TYPE, Long.class);
- WRAPPER_CLASS_MAP.put(Float.TYPE, Float.class);
- WRAPPER_CLASS_MAP.put(Double.TYPE, Double.class);
- WRAPPER_CLASS_MAP.put(Byte.TYPE, Byte.class);
+ final Map<Class<?>, Class<?>> wrappers = new HashMap<Class<?>, Class<?>>();
+ wrappers.put(Integer.TYPE, Integer.class);
+ wrappers.put(Character.TYPE, Character.class);
+ wrappers.put(Boolean.TYPE, Boolean.class);
+ wrappers.put(Short.TYPE, Short.class);
+ wrappers.put(Long.TYPE, Long.class);
+ wrappers.put(Float.TYPE, Float.class);
+ wrappers.put(Double.TYPE, Double.class);
+ wrappers.put(Byte.TYPE, Byte.class);
+ WRAPPER_CLASS_MAP = Collections.unmodifiableMap(wrappers);
}
static
{
- NULL_VALUE_MAP.put(Integer.TYPE, Integer.valueOf(0));
- NULL_VALUE_MAP.put(Long.TYPE, Long.valueOf(0));
- NULL_VALUE_MAP.put(Short.TYPE, Short.valueOf((short) 0));
- NULL_VALUE_MAP.put(Byte.TYPE, Byte.valueOf((byte) 0));
- NULL_VALUE_MAP.put(Float.TYPE, Float.valueOf(0.0f));
- NULL_VALUE_MAP.put(Double.TYPE, Double.valueOf(0.0));
- NULL_VALUE_MAP.put(Character.TYPE, Character.valueOf((char) 0));
- NULL_VALUE_MAP.put(Boolean.TYPE, Boolean.FALSE);
+ final Map<Class<?>, Object> nullValues = new HashMap<Class<?>, Object>();
+ nullValues.put(Integer.TYPE, Integer.valueOf(0));
+ nullValues.put(Long.TYPE, Long.valueOf(0));
+ nullValues.put(Short.TYPE, Short.valueOf((short) 0));
+ nullValues.put(Byte.TYPE, Byte.valueOf((byte) 0));
+ nullValues.put(Float.TYPE, Float.valueOf(0.0f));
+ nullValues.put(Double.TYPE, Double.valueOf(0.0));
+ nullValues.put(Character.TYPE, Character.valueOf((char) 0));
+ nullValues.put(Boolean.TYPE, Boolean.FALSE);
+ NULL_VALUE_MAP = Collections.unmodifiableMap(nullValues);
}
/**