public abstract class AnnotationHandler
extends java.lang.Object
| Constructor and Description |
|---|
AnnotationHandler() |
| Modifier and Type | Method and Description |
|---|---|
protected <T extends java.lang.annotation.Annotation> |
getAnnotation(java.lang.Class<T> annotationClass,
org.objectweb.asm.tree.ClassNode classNode,
TransformerManager transformerManager)
Get a parsed annotation from a class node.
|
protected <T extends java.lang.annotation.Annotation> |
getAnnotation(java.lang.Class<T> annotationClass,
org.objectweb.asm.tree.FieldNode field,
TransformerManager transformerManager)
Get a parsed annotation from a field node.
|
protected <T extends java.lang.annotation.Annotation> |
getAnnotation(java.lang.Class<T> annotationClass,
java.util.List<org.objectweb.asm.tree.AnnotationNode> annotations,
TransformerManager transformerManager)
Get a parsed annotation from a list of annotation nodes.
|
protected <T extends java.lang.annotation.Annotation> |
getAnnotation(java.lang.Class<T> annotationClass,
org.objectweb.asm.tree.MethodNode method,
TransformerManager transformerManager)
Get a parsed annotation from a method node.
|
protected void |
prepareForCopy(org.objectweb.asm.tree.ClassNode transformer,
org.objectweb.asm.tree.MethodNode method)
Add the
InjectionInfo annotation to the given method. |
protected void |
renameAndCopy(org.objectweb.asm.tree.MethodNode injectionMethod,
org.objectweb.asm.tree.MethodNode targetMethod,
org.objectweb.asm.tree.ClassNode transformer,
org.objectweb.asm.tree.ClassNode transformedClass,
java.lang.String extra)
Rename a method and add it to the target class node.
|
abstract void |
transform(TransformerManager transformerManager,
org.objectweb.asm.tree.ClassNode transformedClass,
org.objectweb.asm.tree.ClassNode transformer)
Handle all annotations in the transformer class.
|
public abstract void transform(TransformerManager transformerManager, org.objectweb.asm.tree.ClassNode transformedClass, org.objectweb.asm.tree.ClassNode transformer)
transformerManager - The transformer managertransformedClass - The target class nodetransformer - The transformer class nodeprotected <T extends java.lang.annotation.Annotation> T getAnnotation(java.lang.Class<T> annotationClass,
org.objectweb.asm.tree.ClassNode classNode,
TransformerManager transformerManager)
T - The annotation typeannotationClass - The annotation classclassNode - The class nodetransformerManager - The transformer managerprotected <T extends java.lang.annotation.Annotation> T getAnnotation(java.lang.Class<T> annotationClass,
org.objectweb.asm.tree.FieldNode field,
TransformerManager transformerManager)
T - The annotation typeannotationClass - The annotation classfield - The field nodetransformerManager - The transformer managerprotected <T extends java.lang.annotation.Annotation> T getAnnotation(java.lang.Class<T> annotationClass,
org.objectweb.asm.tree.MethodNode method,
TransformerManager transformerManager)
T - The annotation typeannotationClass - The annotation classmethod - The method nodetransformerManager - The transformer managerprotected <T extends java.lang.annotation.Annotation> T getAnnotation(java.lang.Class<T> annotationClass,
java.util.List<org.objectweb.asm.tree.AnnotationNode> annotations,
TransformerManager transformerManager)
T - The annotation typeannotationClass - The annotation classannotations - The annotation nodestransformerManager - The transformer managerprotected void prepareForCopy(org.objectweb.asm.tree.ClassNode transformer,
org.objectweb.asm.tree.MethodNode method)
InjectionInfo annotation to the given method.transformer - The transformer class nodemethod - The method nodeprotected void renameAndCopy(org.objectweb.asm.tree.MethodNode injectionMethod,
org.objectweb.asm.tree.MethodNode targetMethod,
org.objectweb.asm.tree.ClassNode transformer,
org.objectweb.asm.tree.ClassNode transformedClass,
java.lang.String extra)
injectionMethod - The transformer method nodetargetMethod - The target method nodetransformer - The transformer class nodetransformedClass - The target class nodeextra - Extra data for the generated method name