@HashCodeAndEqualsPlugin.Enhance 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, AgentBuilder.RawMatcher.ForLoadState, AgentBuilder.RawMatcher.ForResolvableTypes, AgentBuilder.RawMatcher.Inversion, AgentBuilder.RawMatcher.Trivial
Constructor and Description |
---|
ForElementMatchers(ElementMatcher<? super TypeDescription> typeMatcher)
Creates a new
AgentBuilder.RawMatcher that only matches the
supplied TypeDescription against a supplied matcher. |
ForElementMatchers(ElementMatcher<? super TypeDescription> typeMatcher,
ElementMatcher<? super ClassLoader> classLoaderMatcher)
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. |
ForElementMatchers(ElementMatcher<? super TypeDescription> typeMatcher,
ElementMatcher<? super ClassLoader> classLoaderMatcher,
ElementMatcher<? super JavaModule> moduleMatcher)
Creates a new
AgentBuilder.RawMatcher that only matches the
supplied TypeDescription , its ClassLoader and module against element
suitable matchers. |
Modifier and Type | Method and Description |
---|---|
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. |
public ForElementMatchers(ElementMatcher<? super TypeDescription> typeMatcher)
AgentBuilder.RawMatcher
that only matches the
supplied TypeDescription
against a supplied matcher.typeMatcher
- The type matcher to apply to a TypeDescription
.public ForElementMatchers(ElementMatcher<? super TypeDescription> typeMatcher, ElementMatcher<? super ClassLoader> classLoaderMatcher)
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
.public ForElementMatchers(ElementMatcher<? super TypeDescription> typeMatcher, ElementMatcher<? super ClassLoader> classLoaderMatcher, ElementMatcher<? super JavaModule> moduleMatcher)
AgentBuilder.RawMatcher
that only matches the
supplied TypeDescription
, its ClassLoader
and module against element
suitable matchers.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.Module
.public boolean matches(TypeDescription typeDescription, ClassLoader classLoader, JavaModule module, Class<?> classBeingRedefined, ProtectionDomain protectionDomain)
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–2020. All rights reserved.