Class EnumMap<K extends java.lang.Enum<K>,​V>

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.util.Map<K,​V>

    class EnumMap<K extends java.lang.Enum<K>,​V>
    extends java.util.EnumMap<K,​V>
    A serialization-compatible mock for EnumMap that uses an equal serialVersionUID and a compatible set of fields. When de-serializing an EnumMap instance into an instance of this class, e.g., by overriding ObjectInputStream's ObjectInputStream#resolveClass method such that it delivers this class instead of EnumMap, the fields are made accessible through getters; in particular, getKeyType() reveals the original EnumMap's key type, even if the map is empty.

    The EnumMap#getEnumMapKeyType(java.util.EnumMap) method can be used to determine the key type of any EnumMap, even if it's empty.

    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.util.AbstractMap

        java.util.AbstractMap.SimpleEntry<K extends java.lang.Object,​V extends java.lang.Object>, java.util.AbstractMap.SimpleImmutableEntry<K extends java.lang.Object,​V extends java.lang.Object>
      • Nested classes/interfaces inherited from interface java.util.Map

        java.util.Map.Entry<K extends java.lang.Object,​V extends java.lang.Object>
    • Constructor Summary

      Constructors 
      Constructor Description
      EnumMap​(java.lang.Class<K> c)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Class<K> getKeyType()  
      K[] getKeyUniverse()  
      int getSize()  
      java.lang.Object[] getVals()  
      • Methods inherited from class java.util.EnumMap

        clear, clone, containsKey, containsValue, entrySet, equals, get, hashCode, keySet, put, putAll, remove, size, values
      • Methods inherited from class java.util.AbstractMap

        isEmpty, toString
      • Methods inherited from class java.lang.Object

        finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Map

        compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
    • Constructor Detail

      • EnumMap

        EnumMap​(java.lang.Class<K> c)
    • Method Detail

      • getKeyUniverse

        public K[] getKeyUniverse()
      • getVals

        public java.lang.Object[] getVals()
      • getSize

        public int getSize()
      • getKeyType

        public java.lang.Class<K> getKeyType()