Class TypePool.CacheProvider.WithIllegalResolutionReattempt

java.lang.Object
net.bytebuddy.pool.TypePool.CacheProvider.WithIllegalResolutionReattempt
All Implemented Interfaces:
TypePool.CacheProvider
Enclosing interface:
TypePool.CacheProvider

@Enhance public static class TypePool.CacheProvider.WithIllegalResolutionReattempt extends Object implements TypePool.CacheProvider
A cache provider wrapper that avoids caching illegal resolutions so that future lookups can be reattempted.
  • Field Details

  • Constructor Details

    • WithIllegalResolutionReattempt

      public WithIllegalResolutionReattempt(TypePool.CacheProvider delegate)
      Creates a new cache provider that suppresses caching of illegal resolutions.
      Parameters:
      delegate - The cache provider to delegate to.
  • Method Details

    • of

      public static TypePool.CacheProvider of(TypePool.CacheProvider cacheProvider)
      Returns a cache provider that suppresses caching of illegal resolutions without wrapping twice.
      Parameters:
      cacheProvider - The cache provider to potentially wrap.
      Returns:
      A cache provider that does not store illegal resolutions.
    • find

      Attempts to find a resolution in this cache.
      Specified by:
      find in interface TypePool.CacheProvider
      Parameters:
      name - The name of the type to describe.
      Returns:
      A resolution of the type or null if no such resolution can be found in the cache.
    • register

      public TypePool.Resolution register(String name, TypePool.Resolution resolution)
      Registers a resolution in this cache. If a resolution to the given name already exists in the cache, it should be discarded.
      Specified by:
      register in interface TypePool.CacheProvider
      Parameters:
      name - The name of the type that is to be registered.
      resolution - The resolution to register.
      Returns:
      The oldest version of a resolution that is currently registered in the cache which might be the given resolution or another resolution that was previously registered.
    • clear

      public void clear()
      Clears this cache.
      Specified by:
      clear in interface TypePool.CacheProvider