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 booleantrueif read access to a field should be substituted.private final booleantrueif write access to a field should be substituted.Fields inherited from class net.bytebuddy.asm.MemberSubstitution.WithoutSpecification
methodGraphCompiler, replacementFactory, strict, typePoolResolver -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedForMatchedField(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.protectedForMatchedField(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 matchReadtrueif read access to a field should be substituted. -
matchWrite
private final boolean matchWritetrueif 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-trueif 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-trueif 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-trueif read access to a field should be substituted.matchWrite-trueif 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:
replaceWithin 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.
-