Class CachingMatcher.WithInlineEviction<S>
java.lang.Object
net.bytebuddy.matcher.ElementMatcher.Junction.AbstractBase<S>
net.bytebuddy.matcher.CachingMatcher<S>
net.bytebuddy.matcher.CachingMatcher.WithInlineEviction<S>
- Type Parameters:
S- The actual matched type of this matcher.
- All Implemented Interfaces:
ElementMatcher<S>, ElementMatcher.Junction<S>
- Enclosing class:
CachingMatcher<T>
A caching matcher with inline cache eviction.
-
Nested Class Summary
Nested classes/interfaces inherited from class CachingMatcher
CachingMatcher.WithInlineEviction<S>Nested classes/interfaces inherited from interface ElementMatcher
ElementMatcher.Junction<S>Nested classes/interfaces inherited from interface ElementMatcher.Junction
ElementMatcher.Junction.AbstractBase<V>, ElementMatcher.Junction.Conjunction<W>, ElementMatcher.Junction.Disjunction<W>, ElementMatcher.Junction.ForNonNullValues<W> -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final intThe maximum amount of entries in this map before removing a random entry from the map.Fields inherited from class CachingMatcher
map -
Constructor Summary
ConstructorsConstructorDescriptionWithInlineEviction(ElementMatcher<? super S> matcher, ConcurrentMap<? super S, Boolean> map, int evictionSize) Creates a new caching matcher with inlined cache eviction. -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanonCacheMiss(S target) Invoked if the cache is not hit.Methods inherited from class CachingMatcher
matches, toStringMethods inherited from class ElementMatcher.Junction.AbstractBase
and, or
-
Field Details
-
evictionSize
private final int evictionSizeThe maximum amount of entries in this map before removing a random entry from the map.
-
-
Constructor Details
-
WithInlineEviction
public WithInlineEviction(ElementMatcher<? super S> matcher, ConcurrentMap<? super S, 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 Details
-
onCacheMiss
Invoked if the cache is not hit.- Overrides:
onCacheMissin classCachingMatcher<S>- Parameters:
target- The element to be matched.- Returns:
trueif the element is matched.
-