| 79 | private static final Map<Class<? extends Enum<?>>, Map<String, WeakReference<? extends Enum<?>>>> enumConstantCache = new WeakHashMap<Class<? extends Enum<?>>, Map<String, WeakReference<? extends Enum<?>>>>(); |
| 80 | |
| 81 | @GwtIncompatible // java.lang.ref.WeakReference |
| 82 | private static <T extends Enum<T>> Map<String, WeakReference<? extends Enum<?>>> populateCache(Class<T> enumClass) { |
| 83 | Map<String, WeakReference<? extends Enum<?>>> result = new HashMap<String, WeakReference<? extends Enum<?>>>(); |
| 84 | for (T enumInstance : EnumSet.allOf(enumClass)) { |
| 85 | result.put(enumInstance.name(), new WeakReference<Enum<?>>(enumInstance)); |
| 86 | } |
| 87 | enumConstantCache.put(enumClass, result); |
| 88 | return result; |
| 89 | } |
| 90 | |
| 91 | @GwtIncompatible // java.lang.ref.WeakReference |
| 92 | static <T extends Enum<T>> Map<String, WeakReference<? extends Enum<?>>> getEnumConstants(Class<T> enumClass) { |