Class CachingMatcher.WithInlineEviction<S>

    • Field Detail

      • evictionSize

        private final int evictionSize
        The maximum amount of entries in this map before removing a random entry from the map.
    • Constructor Detail

      • WithInlineEviction

        public WithInlineEviction​(ElementMatcher<? super S> matcher,
                                  java.util.concurrent.ConcurrentMap<? super S,​java.lang.Boolean> map,
                                  int evictionSize)
        Creates a new caching matcher with inlined cache eviction.
        Parameters:
        matcher - The underlying matcher to apply for non-cached targets.
        map - A map that serves as a cache for previous matches. This match is strongly referenced and can cause a memory leak if it is not evicted while keeping this matcher alive.
        evictionSize - The maximum amount of entries in this map before removing a random entry from the map.
    • Method Detail

      • onCacheMiss

        protected boolean onCacheMiss​(S target)
        Invoked if the cache is not hit.
        Overrides:
        onCacheMiss in class CachingMatcher<S>
        Parameters:
        target - The element to be matched.
        Returns:
        true if the element is matched.