Class Instrumenter.MethodEntryHookBuilder
- java.lang.Object
-
- com.tonic.analysis.instrumentation.Instrumenter.MethodEntryHookBuilder
-
- Enclosing class:
- Instrumenter
public static class Instrumenter.MethodEntryHookBuilder extends Object
Fluent builder for a method entry hook.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Instrumenter.MethodEntryHookBuildercallStatic(String owner, String name, String descriptor)Sets the static method the hook dispatches to.Instrumenter.MethodEntryHookBuilderinClass(String className)Restricts this hook to a single class.Instrumenter.MethodEntryHookBuilderinClassMatching(String pattern)Restricts this hook to classes whose name matches a pattern.Instrumenter.MethodEntryHookBuilderinPackage(String packagePrefix)Restricts this hook to classes under a package.Instrumenter.MethodEntryHookBuildermatchingMethod(String pattern)Restricts this hook to methods whose name matches a pattern.Instrumenter.MethodEntryHookBuilderpriority(int priority)Sets the ordering priority of this hook against others at the same site.Instrumenterregister()Attaches the collected filters and registers the hook.Instrumenter.MethodEntryHookBuilderwithAllParameters()Passes every parameter of the instrumented method as hook arguments.Instrumenter.MethodEntryHookBuilderwithAnnotation(String annotationType)Restricts this hook to methods carrying an annotation.Instrumenter.MethodEntryHookBuilderwithClassName()Passes the enclosing class name as a hook argument.Instrumenter.MethodEntryHookBuilderwithMethodName()Passes the instrumented method name as a hook argument.Instrumenter.MethodEntryHookBuilderwithThis()Passes the receiver as a hook argument.
-
-
-
Method Detail
-
inClass
public Instrumenter.MethodEntryHookBuilder inClass(String className)
Restricts this hook to a single class.- Parameters:
className- the internal class name- Returns:
- this builder
-
inClassMatching
public Instrumenter.MethodEntryHookBuilder inClassMatching(String pattern)
Restricts this hook to classes whose name matches a pattern.- Parameters:
pattern- the class name pattern- Returns:
- this builder
-
inPackage
public Instrumenter.MethodEntryHookBuilder inPackage(String packagePrefix)
Restricts this hook to classes under a package.- Parameters:
packagePrefix- the internal package name prefix- Returns:
- this builder
-
matchingMethod
public Instrumenter.MethodEntryHookBuilder matchingMethod(String pattern)
Restricts this hook to methods whose name matches a pattern.- Parameters:
pattern- the method name pattern- Returns:
- this builder
-
withAnnotation
public Instrumenter.MethodEntryHookBuilder withAnnotation(String annotationType)
Restricts this hook to methods carrying an annotation.- Parameters:
annotationType- the annotation type- Returns:
- this builder
-
callStatic
public Instrumenter.MethodEntryHookBuilder callStatic(String owner, String name, String descriptor)
Sets the static method the hook dispatches to.- Parameters:
owner- internal name of the class declaring the hook methodname- the hook method namedescriptor- the hook method descriptor- Returns:
- this builder
-
withThis
public Instrumenter.MethodEntryHookBuilder withThis()
Passes the receiver as a hook argument.- Returns:
- this builder
-
withClassName
public Instrumenter.MethodEntryHookBuilder withClassName()
Passes the enclosing class name as a hook argument.- Returns:
- this builder
-
withMethodName
public Instrumenter.MethodEntryHookBuilder withMethodName()
Passes the instrumented method name as a hook argument.- Returns:
- this builder
-
withAllParameters
public Instrumenter.MethodEntryHookBuilder withAllParameters()
Passes every parameter of the instrumented method as hook arguments.- Returns:
- this builder
-
priority
public Instrumenter.MethodEntryHookBuilder priority(int priority)
Sets the ordering priority of this hook against others at the same site.- Parameters:
priority- the priority value- Returns:
- this builder
-
register
public Instrumenter register()
Attaches the collected filters and registers the hook.- Returns:
- the instrumenter this builder came from
-
-