Package net.bytebuddy.dynamic.scaffold
Class MethodRegistry.Default
- java.lang.Object
-
- net.bytebuddy.dynamic.scaffold.MethodRegistry.Default
-
- All Implemented Interfaces:
MethodRegistry
- Enclosing interface:
- MethodRegistry
@Enhance public static class MethodRegistry.Default extends java.lang.Object implements MethodRegistry
A default implementation of a method registry.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classMethodRegistry.Default.CompiledA compiled version of a default method registry.protected static classMethodRegistry.Default.EntryAn entry of a default method registry.protected static classMethodRegistry.Default.PreparedA prepared version of a default method registry.-
Nested classes/interfaces inherited from interface net.bytebuddy.dynamic.scaffold.MethodRegistry
MethodRegistry.Default, MethodRegistry.Handler
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<MethodRegistry.Default.Entry>entriesThe list of currently registered entries in their application order.
-
Constructor Summary
Constructors Modifier Constructor Description Default()Creates a new default method registry without entries.privateDefault(java.util.List<MethodRegistry.Default.Entry> entries)Creates a new default method registry.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MethodRegistryappend(LatentMatcher<? super MethodDescription> matcher, MethodRegistry.Handler handler, MethodAttributeAppender.Factory attributeAppenderFactory, Transformer<MethodDescription> transformer)Appends the given method definition to this method registry, i.e.MethodRegistry.Preparedprepare(InstrumentedType instrumentedType, MethodGraph.Compiler methodGraphCompiler, TypeValidation typeValidation, VisibilityBridgeStrategy visibilityBridgeStrategy, LatentMatcher<? super MethodDescription> ignoredMethods)Prepares this method registry.MethodRegistryprepend(LatentMatcher<? super MethodDescription> matcher, MethodRegistry.Handler handler, MethodAttributeAppender.Factory attributeAppenderFactory, Transformer<MethodDescription> transformer)Prepends the given method definition to this method registry, i.e.
-
-
-
Field Detail
-
entries
private final java.util.List<MethodRegistry.Default.Entry> entries
The list of currently registered entries in their application order.
-
-
Constructor Detail
-
Default
public Default()
Creates a new default method registry without entries.
-
Default
private Default(java.util.List<MethodRegistry.Default.Entry> entries)
Creates a new default method registry.- Parameters:
entries- The currently registered entries.
-
-
Method Detail
-
prepend
public MethodRegistry prepend(LatentMatcher<? super MethodDescription> matcher, MethodRegistry.Handler handler, MethodAttributeAppender.Factory attributeAppenderFactory, Transformer<MethodDescription> transformer)
Prepends the given method definition to this method registry, i.e. this configuration is applied first.- Specified by:
prependin interfaceMethodRegistry- Parameters:
matcher- A matcher to identify any method that this definition concerns.handler- The handler to instrument any matched method.attributeAppenderFactory- A method attribute appender to apply to any matched method.transformer- The method transformer to be applied to implemented methods.- Returns:
- An adapted version of this method registry.
-
append
public MethodRegistry append(LatentMatcher<? super MethodDescription> matcher, MethodRegistry.Handler handler, MethodAttributeAppender.Factory attributeAppenderFactory, Transformer<MethodDescription> transformer)
Appends the given method definition to this method registry, i.e. this configuration is applied last.- Specified by:
appendin interfaceMethodRegistry- Parameters:
matcher- A matcher to identify all entries that are to be matched.handler- The handler to instrument any matched method.attributeAppenderFactory- A method attribute appender to apply to any matched method.transformer- The method transformer to be applied to implemented methods.- Returns:
- An adapted version of this method registry.
-
prepare
public MethodRegistry.Prepared prepare(InstrumentedType instrumentedType, MethodGraph.Compiler methodGraphCompiler, TypeValidation typeValidation, VisibilityBridgeStrategy visibilityBridgeStrategy, LatentMatcher<? super MethodDescription> ignoredMethods)
Prepares this method registry.- Specified by:
preparein interfaceMethodRegistry- Parameters:
instrumentedType- The instrumented type that should be created.methodGraphCompiler- The method graph compiler to be used for analyzing the fully assembled instrumented type.typeValidation- Determines if a type should be explicitly validated.visibilityBridgeStrategy- The visibility bridge strategy to apply.ignoredMethods- A filter that only matches methods that should be instrumented.- Returns:
- A prepared version of this method registry.
-
-