Package com.google.web.bindery.requestfactory.server

## Class SimpleRequestProcessor.IdToEntityMap

- java.lang.Object
- - java.util.AbstractMap<K,​V>
  - - java.util.HashMap<com.google.web.bindery.requestfactory.shared.impl.SimpleProxyId<?>,​AutoBean<? extends BaseProxy>>
    - - com.google.web.bindery.requestfactory.server.SimpleRequestProcessor.IdToEntityMap

- All Implemented Interfaces:
    `java.io.Serializable`, `java.lang.Cloneable`, `java.util.Map<com.google.web.bindery.requestfactory.shared.impl.SimpleProxyId<?>,​AutoBean<? extends BaseProxy>>`
  Enclosing class:
    SimpleRequestProcessor

      static class SimpleRequestProcessor.IdToEntityMap
      extends java.util.HashMap<com.google.web.bindery.requestfactory.shared.impl.SimpleProxyId<?>,​AutoBean<? extends BaseProxy>>

  This parameterization is so long, it improves readability to have a specific type.

  FIXME: IDs used as keys in this map can be mutated (turning an ephemeral ID to a persisted ID in Resolver#resolveClientProxy) in a way that can change their hashCode value and equals behavior, therefore breaking the Map contract. We should find a way to only put immutable IDs here, or change SimpleProxyId so that its hashCode value and equals behavior don't change, or possibly remove and re-add the entry when the ID is modified (as this is something entirely under our control).

- - ### 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
    --- | ---
    `IdToEntityMap()` |

  - ### Method Summary

    - ### Methods inherited from class java.util.HashMap

      `clear, clone, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, forEach, get, getOrDefault, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values`

    - ### Methods inherited from class java.util.AbstractMap

      `equals, hashCode, toString`

    - ### Methods inherited from class java.lang.Object

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface java.util.Map

      `equals, hashCode`

- - ### Constructor Detail

    - #### IdToEntityMap

          IdToEntityMap()