Class TypePool.Default.WithLazyResolution

    • Constructor Detail

      • WithLazyResolution

        public WithLazyResolution​(TypePool.CacheProvider cacheProvider,
                                  ClassFileLocator classFileLocator,
                                  TypePool.Default.ReaderMode readerMode)
        Creates a new default type pool with lazy resolution and without a parent pool.
        Parameters:
        cacheProvider - The cache provider to be used.
        classFileLocator - The class file locator to be used.
        readerMode - The reader mode to apply by this default type pool.
      • WithLazyResolution

        public WithLazyResolution​(TypePool.CacheProvider cacheProvider,
                                  ClassFileLocator classFileLocator,
                                  TypePool.Default.ReaderMode readerMode,
                                  TypePool parentPool)
        Creates a new default type pool with lazy resolution.
        Parameters:
        cacheProvider - The cache provider to be used.
        classFileLocator - The class file locator to be used.
        readerMode - The reader mode to apply by this default type pool.
        parentPool - The parent type pool.
    • Method Detail

      • ofSystemLoader

        public static TypePool ofSystemLoader()
        Creates a default TypePool with lazy resolution that looks up data by querying the system class loader. The returned instance is configured to use a fast reading mode and a simple cache.
        Returns:
        A type pool that reads its data from the system class loader.
      • ofPlatformLoader

        public static TypePool ofPlatformLoader()
        Creates a default TypePool with lazy resolution that looks up data by querying the platform class loader. The returned instance is configured to use a fast reading mode and a simple cache. If the current VM is Java 8 or older, the type pool represents the extension class loader.
        Returns:
        A type pool that reads its data from the boot class loader.
      • ofBootLoader

        public static TypePool ofBootLoader()
        Creates a default TypePool with lazy resolution that looks up data by querying the boot class loader. The returned instance is configured to use a fast reading mode and a simple cache.
        Returns:
        A type pool that reads its data from the boot class loader.
      • of

        public static TypePool of​(java.lang.ClassLoader classLoader)
        Returns a default TypePool with lazy resolution for the provided class loader.
        Parameters:
        classLoader - The class loader for which this class pool is representing types.
        Returns:
        An appropriate type pool.
      • of

        public static TypePool of​(ClassFileLocator classFileLocator)
        Creates a default TypePool with lazy resolution that looks up data by querying the supplied class file locator. The returned instance is configured to use a fast reading mode and a simple cache.
        Parameters:
        classFileLocator - The class file locator to use.
        Returns:
        A type pool that reads its data from the system class path.
      • doDescribe

        protected TypePool.Resolution doDescribe​(java.lang.String name)
        Description copied from class: TypePool.AbstractBase
        Determines a resolution to a non-primitive, non-array type.
        Overrides:
        doDescribe in class TypePool.Default
        Parameters:
        name - The name of the type to describe.
        Returns:
        A resolution to the type to describe.
      • doCache

        protected TypePool.Resolution doCache​(java.lang.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.
        Overrides:
        doCache in class TypePool.AbstractBase
        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.
      • doResolve

        protected TypePool.Resolution doResolve​(java.lang.String name)
        Non-lazily resolves a type name.
        Parameters:
        name - The name of the type to resolve.
        Returns:
        The resolution for the type of this name.