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
Fields Modifier and Type Field Description private ElementMatcher<? super FieldDescription.InDefinedShape>matcherA matcher for any field that should be substituted.private booleanmatchReadtrueif read access to a field should be substituted.private booleanmatchWritetrueif write access to a field should be substituted.-
Fields inherited from class net.bytebuddy.asm.MemberSubstitution.WithoutSpecification
methodGraphCompiler, replacementFactory, strict, typePoolResolver
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedForMatchedField(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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MemberSubstitution.WithoutSpecificationonRead()When invoked, only read access of the previously matched field is substituted.MemberSubstitution.WithoutSpecificationonWrite()When invoked, only write access of the previously matched field is substituted.MemberSubstitutionreplaceWith(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, replaceWithField, replaceWithInstrumentedMethod, replaceWithMethod, replaceWithMethod, stub
-
-
-
-
Field Detail
-
matcher
private final ElementMatcher<? super FieldDescription.InDefinedShape> matcher
A matcher for any field that should be substituted.
-
matchRead
private final boolean matchRead
trueif read access to a field should be substituted.
-
matchWrite
private final boolean matchWrite
trueif write access to a field should be substituted.
-
-
Constructor Detail
-
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 Detail
-
onRead
public MemberSubstitution.WithoutSpecification 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
public MemberSubstitution.WithoutSpecification 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
public MemberSubstitution replaceWith(MemberSubstitution.Substitution.Factory substitutionFactory)
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.
-
-