Class TypePool.CacheProvider.Discriminating

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

public static class TypePool.CacheProvider.Discriminating extends Object implements TypePool.CacheProvider
A discriminating cache provider that delegates a type name to one of two caches.
  • Field Details

  • Constructor Details

    • Discriminating

      public Discriminating(ElementMatcher<String> matcher, TypePool.CacheProvider matched, TypePool.CacheProvider unmatched)
      Creates a new discriminating cache provider.
      Parameters:
      matcher - The matcher that determines which cache to use.
      matched - The cache provider to use for matched types.
      unmatched - The cache provider to use for unmatched types.
  • Method Details

    • 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