Class TypePool.CacheProvider.Discriminating

    • Field Detail

      • matcher

        private final ElementMatcher<java.lang.String> matcher
        The matcher that determines which cache to use.
    • Constructor Detail

      • Discriminating

        public Discriminating​(ElementMatcher<java.lang.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 Detail

      • find

        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.