Class TypePool.AbstractBase

java.lang.Object
net.bytebuddy.pool.TypePool.AbstractBase
All Implemented Interfaces:
TypePool
Direct Known Subclasses:
TypePool.AbstractBase.Hierarchical, TypePool.LazyFacade
Enclosing interface:
TypePool

@Enhance public abstract static class TypePool.AbstractBase extends Object implements TypePool
A base implementation of a TypePool that is managing a cache provider and that handles the description of array and primitive types.
  • Field Details

    • PRIMITIVE_TYPES

      protected static final Map<String,TypeDescription> PRIMITIVE_TYPES
      A map of primitive types by their name.
    • PRIMITIVE_DESCRIPTORS

      protected static final Map<String,String> PRIMITIVE_DESCRIPTORS
      A map of primitive types by their descriptor.
    • ARRAY_SYMBOL

      private static final String ARRAY_SYMBOL
      The array symbol as used by Java descriptors.
      See Also:
    • cacheProvider

      protected final TypePool.CacheProvider cacheProvider
      The cache provider of this instance.
  • Constructor Details

    • AbstractBase

      protected AbstractBase(TypePool.CacheProvider cacheProvider)
      Creates a new instance.
      Parameters:
      cacheProvider - The cache provider to be used.
  • Method Details

    • describe

      public TypePool.Resolution describe(String name)
      Locates and describes the given type by its name.
      Specified by:
      describe in interface TypePool
      Parameters:
      name - The name of the type to describe. The name is to be written as when calling Object.toString() on a loaded Class.
      Returns:
      A resolution of the type to describe. If the type to be described was found, the returned TypePool.Resolution represents this type. Otherwise, an illegal resolution is returned.
    • doCache

      protected TypePool.Resolution doCache(String name, TypePool.Resolution resolution)
      Writes the resolution to the cache. This method should be overridden if the directly resolved instance should not be added to the cache.
      Parameters:
      name - The name of the type.
      resolution - The resolution for this type.
      Returns:
      The actual resolution for the type of this name that is stored in the cache.
    • clear

      public void clear()
      Clears this type pool's cache.
      Specified by:
      clear in interface TypePool
    • doDescribe

      protected abstract TypePool.Resolution doDescribe(String name)
      Determines a resolution to a non-primitive, non-array type.
      Parameters:
      name - The name of the type to describe.
      Returns:
      A resolution to the type to describe.