Class TypePool.CacheProvider.WithIllegalResolutionReattempt

    • Constructor Detail

      • 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 Detail

      • 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

        @MaybeNull
        public TypePool.Resolution find​(java.lang.String name)
        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​(java.lang.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.