public static class AgentBuilder.RawMatcher.ForElementMatchers extends Object implements AgentBuilder.RawMatcher
TypeDescription
and its ClassLoader
against two suitable matchers in order to determine if the matched
type should be instrumented.AgentBuilder.RawMatcher.Conjunction, AgentBuilder.RawMatcher.Disjunction, AgentBuilder.RawMatcher.ForElementMatchers
Constructor and Description |
---|
ForElementMatchers(ElementMatcher<? super TypeDescription> typeMatcher,
ElementMatcher<? super ClassLoader> classLoaderMatcher,
ElementMatcher<? super JavaModule> moduleMatcher)
Creates a new
AgentBuilder.RawMatcher that only matches the
supplied TypeDescription and its ClassLoader against two matcher in order
to decided if an instrumentation should be conducted. |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object other) |
int |
hashCode() |
boolean |
matches(TypeDescription typeDescription,
ClassLoader classLoader,
JavaModule module,
Class<?> classBeingRedefined,
ProtectionDomain protectionDomain)
Decides if the given
typeDescription should be instrumented with the entailed
AgentBuilder.Transformer s. |
String |
toString() |
public ForElementMatchers(ElementMatcher<? super TypeDescription> typeMatcher, ElementMatcher<? super ClassLoader> classLoaderMatcher, ElementMatcher<? super JavaModule> moduleMatcher)
AgentBuilder.RawMatcher
that only matches the
supplied TypeDescription
and its ClassLoader
against two matcher in order
to decided if an instrumentation should be conducted.typeMatcher
- The type matcher to apply to a TypeDescription
.classLoaderMatcher
- The class loader matcher to apply to a ClassLoader
.moduleMatcher
- A module matcher to apply to a java.lang.reflect.Module
.public boolean matches(TypeDescription typeDescription, ClassLoader classLoader, JavaModule module, Class<?> classBeingRedefined, ProtectionDomain protectionDomain)
AgentBuilder.RawMatcher
typeDescription
should be instrumented with the entailed
AgentBuilder.Transformer
s.matches
in interface AgentBuilder.RawMatcher
typeDescription
- A description of the type to be instrumented.classLoader
- The class loader of the instrumented type. Might be null
if this class
loader represents the bootstrap class loader.module
- The transformed type's module or null
if the current VM does not support modules.classBeingRedefined
- The class being redefined which is only not null
if a retransformation
is applied.protectionDomain
- The protection domain of the type being transformed.true
if the entailed AgentBuilder.Transformer
s should
be applied for the given typeDescription
.Copyright © 2014–2016. All rights reserved.