package com.google.common.base; import java.util.Collections; import java.util.HashMap; import java.util.Map; import javax.annotation.Nullable; public final class Defaults { private static final Map, Object> DEFAULTS; private Defaults() { } private static void put(Map, Object> map, Class type, T value) { map.put(type, value); } @Nullable public static T defaultValue(Class type) { T t = DEFAULTS.get(Preconditions.checkNotNull(type)); return t; } static { Map, Object> map = new HashMap(); put(map, Boolean.TYPE, false); put(map, Character.TYPE, '\u0000'); put(map, Byte.TYPE, (byte)0); put(map, Short.TYPE, Short.valueOf((short)0)); put(map, Integer.TYPE, 0); put(map, Long.TYPE, 0L); put(map, Float.TYPE, 0.0F); put(map, Double.TYPE, 0.0D); DEFAULTS = Collections.unmodifiableMap(map); } }