Package com.thoughtworks.paranamer

## Class CachingParanamer.WithoutWeakReferences

- java.lang.Object
- - com.thoughtworks.paranamer.CachingParanamer
  - - com.thoughtworks.paranamer.CachingParanamer.WithoutWeakReferences

- All Implemented Interfaces:
    `Paranamer`
  Enclosing class:
    CachingParanamer

      public static class CachingParanamer.WithoutWeakReferences
      extends CachingParanamer

  This implementation has a better concurrent design (ConcurrentHashMap) which has a better strategy to implement concurrency: segments instead of synchronized. It also drops the underlying WeakHashMap implementation as that can't work with ConcurrentHashMap with some risk of growing permgen for a certain class of usage. So instead of wrapping via 'Collections.synchronizedMap(new WeakHashMap())' we now have 'new ConcurrentHashMap()'

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class com.thoughtworks.paranamer.CachingParanamer

      `CachingParanamer.WithoutWeakReferences`

  - ### Field Summary

    - ### Fields inherited from class com.thoughtworks.paranamer.CachingParanamer

      `__PARANAMER_DATA`

    - ### Fields inherited from interface com.thoughtworks.paranamer.Paranamer

      `EMPTY_NAMES`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `WithoutWeakReferences()` |
    `WithoutWeakReferences​(Paranamer delegate)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected Map<AccessibleObject,​String[]>` | `makeMethodCache()` |

    - ### Methods inherited from class com.thoughtworks.paranamer.CachingParanamer

      `lookupParameterNames, lookupParameterNames`

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### WithoutWeakReferences

          public WithoutWeakReferences()

    - #### WithoutWeakReferences

          public WithoutWeakReferences​(Paranamer delegate)

  - ### Method Detail

    - #### makeMethodCache

          protected Map<AccessibleObject,​String[]> makeMethodCache()

      Overrides:
        `makeMethodCache` in class `CachingParanamer`