Package net.bytebuddy.asm
Class MemberSubstitution.WithoutSpecification.ForMatchedField
java.lang.Object
net.bytebuddy.asm.MemberSubstitution.WithoutSpecification
net.bytebuddy.asm.MemberSubstitution.WithoutSpecification.ForMatchedField
- Enclosing class:
MemberSubstitution.WithoutSpecification
@Enhance
public static class MemberSubstitution.WithoutSpecification.ForMatchedField
extends MemberSubstitution.WithoutSpecification
Describes a member substitution that requires a specification for how to replace a field.
-
Nested Class Summary
Nested classes/interfaces inherited from class net.bytebuddy.asm.MemberSubstitution.WithoutSpecification
MemberSubstitution.WithoutSpecification.ForMatchedByteCodeElement, MemberSubstitution.WithoutSpecification.ForMatchedField, MemberSubstitution.WithoutSpecification.ForMatchedMethod
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ElementMatcher
<? super FieldDescription.InDefinedShape> A matcher for any field that should be substituted.private final boolean
true
if read access to a field should be substituted.private final boolean
true
if write access to a field should be substituted.Fields inherited from class net.bytebuddy.asm.MemberSubstitution.WithoutSpecification
methodGraphCompiler, replacementFactory, strict, typePoolResolver
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
ForMatchedField
(MethodGraph.Compiler methodGraphCompiler, MemberSubstitution.TypePoolResolver typePoolResolver, boolean strict, MemberSubstitution.Replacement.Factory replacementFactory, ElementMatcher<? super FieldDescription.InDefinedShape> matcher) Creates a new member substitution for a matched field that requires a specification for how to perform a substitution.protected
ForMatchedField
(MethodGraph.Compiler methodGraphCompiler, MemberSubstitution.TypePoolResolver typePoolResolver, boolean strict, MemberSubstitution.Replacement.Factory replacementFactory, ElementMatcher<? super FieldDescription.InDefinedShape> matcher, boolean matchRead, boolean matchWrite) Creates a new member substitution for a matched field that requires a specification for how to perform a substitution. -
Method Summary
Modifier and TypeMethodDescriptiononRead()
When invoked, only read access of the previously matched field is substituted.onWrite()
When invoked, only write access of the previously matched field is substituted.replaceWith
(MemberSubstitution.Substitution.Factory substitutionFactory) Replaces any interaction with the supplied substitution.Methods inherited from class net.bytebuddy.asm.MemberSubstitution.WithoutSpecification
replaceWith, replaceWith, replaceWith, replaceWith, replaceWithChain, replaceWithChain, replaceWithConstant, replaceWithField, replaceWithInstrumentedMethod, replaceWithMethod, replaceWithMethod, stub
-
Field Details
-
matcher
A matcher for any field that should be substituted. -
matchRead
private final boolean matchReadtrue
if read access to a field should be substituted. -
matchWrite
private final boolean matchWritetrue
if write access to a field should be substituted.
-
-
Constructor Details
-
ForMatchedField
protected ForMatchedField(MethodGraph.Compiler methodGraphCompiler, MemberSubstitution.TypePoolResolver typePoolResolver, boolean strict, MemberSubstitution.Replacement.Factory replacementFactory, ElementMatcher<? super FieldDescription.InDefinedShape> matcher) Creates a new member substitution for a matched field that requires a specification for how to perform a substitution.- Parameters:
methodGraphCompiler
- The method graph compiler to use.typePoolResolver
- The type pool resolver to use.strict
-true
if the method processing should be strict where an exception is raised if a member cannot be found.replacementFactory
- The replacement factory to use.matcher
- A matcher for any field that should be substituted.
-
ForMatchedField
protected ForMatchedField(MethodGraph.Compiler methodGraphCompiler, MemberSubstitution.TypePoolResolver typePoolResolver, boolean strict, MemberSubstitution.Replacement.Factory replacementFactory, ElementMatcher<? super FieldDescription.InDefinedShape> matcher, boolean matchRead, boolean matchWrite) Creates a new member substitution for a matched field that requires a specification for how to perform a substitution.- Parameters:
methodGraphCompiler
- The method graph compiler to use.typePoolResolver
- The type pool resolver to use.strict
-true
if the method processing should be strict where an exception is raised if a member cannot be found.replacementFactory
- The replacement factory to use.matcher
- A matcher for any field that should be substituted.matchRead
-true
if read access to a field should be substituted.matchWrite
-true
if write access to a field should be substituted.
-
-
Method Details
-
onRead
When invoked, only read access of the previously matched field is substituted.- Returns:
- This instance with the limitation that only read access to the matched field is substituted.
-
onWrite
When invoked, only write access of the previously matched field is substituted.- Returns:
- This instance with the limitation that only write access to the matched field is substituted.
-
replaceWith
Replaces any interaction with the supplied substitution.- Specified by:
replaceWith
in classMemberSubstitution.WithoutSpecification
- Parameters:
substitutionFactory
- The substitution factory to use for creating the applied substitution.- Returns:
- A member substitution that replaces any matched byte code element with the supplied substitution.
-