Class MutableClassToInstanceMap<B>

    • Field Detail

      • VALUE_CAN_BE_CAST_TO_KEY

        private static final MapConstraint<java.lang.Class<?>,​java.lang.Object> VALUE_CAN_BE_CAST_TO_KEY
    • Constructor Detail

      • MutableClassToInstanceMap

        private MutableClassToInstanceMap​(java.util.Map<java.lang.Class<? extends B>,​B> delegate)
    • Method Detail

      • create

        public static <B> MutableClassToInstanceMap<B> create()
        Returns a new MutableClassToInstanceMap instance backed by a HashMap using the default initial capacity and load factor.
      • create

        public static <B> MutableClassToInstanceMap<B> create​(java.util.Map<java.lang.Class<? extends B>,​B> backingMap)
        Returns a new MutableClassToInstanceMap instance backed by a given empty backingMap. The caller surrenders control of the backing map, and thus should not allow any direct references to it to remain accessible.
      • putInstance

        public <T extends B> T putInstance​(java.lang.Class<T> type,
                                           T value)
        Description copied from interface: ClassToInstanceMap
        Maps the specified class to the specified value. Does not associate this value with any of the class's supertypes.
        Specified by:
        putInstance in interface ClassToInstanceMap<B>
        Returns:
        the value previously associated with this class (possibly null), or null if there was no previous entry.
      • getInstance

        public <T extends B> T getInstance​(java.lang.Class<T> type)
        Description copied from interface: ClassToInstanceMap
        Returns the value the specified class is mapped to, or null if no entry for this class is present. This will only return a value that was bound to this specific class, not a value that may have been bound to a subtype.
        Specified by:
        getInstance in interface ClassToInstanceMap<B>
      • cast

        private static <B,​T extends B> T cast​(java.lang.Class<T> type,
                                                    B value)
      • writeReplace

        private java.lang.Object writeReplace()