public class ClassAdapterEntity extends ClassVisitor implements EnhanceConstants
Used for javaagent or ant etc to modify the class with field interception.
This is NOT used for subclass generation.
api, cvAVAJE_TRANSACTIONAL_ANNOTATION, C_BEANCOLLECTION, C_ENHANCEDTRANSACTIONAL, C_ENTITYBEAN, C_GROOVYOBJECT, C_INTERCEPT, C_PERSISTBATCH, C_SCALAOBJECT, C_TXISOLATION, C_TXSCOPE, C_TXTYPE, EBEAN_MODEL, EBEAN_PREFIX, EMBEDDABLE_ANNOTATION, ENTITY_ANNOTATION, IDENTITY_FIELD, INTERCEPT_FIELD, JAVAX_PERSISTENCE, L_EMBEDDEDCOLUMNS, L_HELPSCOPETRANS, L_INTERCEPT, L_SCOPETRANS, MAPPEDSUPERCLASS_ANNOTATION| Constructor and Description |
|---|
ClassAdapterEntity(ClassVisitor cv,
ClassLoader classLoader,
EnhanceContext context) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
isLog(int level) |
void |
log(String msg) |
void |
logEnhanced()
Log that the class has been enhanced.
|
void |
visit(int version,
int access,
String name,
String signature,
String superName,
String[] interfaces)
Create the class definition replacing the className and super class.
|
AnnotationVisitor |
visitAnnotation(String desc,
boolean visible)
Visits an annotation of the class.
|
void |
visitEnd()
Add methods to get and set the entityBeanIntercept.
|
FieldVisitor |
visitField(int access,
String name,
String desc,
String signature,
Object value)
The ebeanIntercept field is added once but thats all.
|
MethodVisitor |
visitMethod(int access,
String name,
String desc,
String signature,
String[] exceptions)
Replace the method code with field interception.
|
visitAttribute, visitInnerClass, visitOuterClass, visitSource, visitTypeAnnotationpublic ClassAdapterEntity(ClassVisitor cv, ClassLoader classLoader, EnhanceContext context)
public void logEnhanced()
public boolean isLog(int level)
public void log(String msg)
public void visit(int version,
int access,
String name,
String signature,
String superName,
String[] interfaces)
visit in class ClassVisitorversion - the class version.access - the class's access flags (see Opcodes). This parameter
also indicates if the class is deprecated.name - the internal name of the class (see
getInternalName).signature - the signature of this class. May be null if the class
is not a generic one, and does not extend or implement generic
classes or interfaces.superName - the internal of name of the super class (see
getInternalName). For
interfaces, the super class is Object. May be
null, but only for the Object class.interfaces - the internal names of the class's interfaces (see
getInternalName). May be
null.public AnnotationVisitor visitAnnotation(String desc, boolean visible)
ClassVisitorvisitAnnotation in class ClassVisitordesc - the class descriptor of the annotation class.visible - true if the annotation is visible at runtime.public FieldVisitor visitField(int access, String name, String desc, String signature, Object value)
visitField in class ClassVisitoraccess - the field's access flags (see Opcodes). This parameter
also indicates if the field is synthetic and/or deprecated.name - the field's name.desc - the field's descriptor (see Type).signature - the field's signature. May be null if the field's
type does not use generic types.value - the field's initial value. This parameter, which may be
null if the field does not have an initial value,
must be an Integer, a Float, a Long, a
Double or a String (for int,
float, long or String fields
respectively). This parameter is only used for static
fields. Its value is ignored for non static fields, which
must be initialized through bytecode instructions in
constructors or methods.public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions)
visitMethod in class ClassVisitoraccess - the method's access flags (see Opcodes). This
parameter also indicates if the method is synthetic and/or
deprecated.name - the method's name.desc - the method's descriptor (see Type).signature - the method's signature. May be null if the method
parameters, return type and exceptions do not use generic
types.exceptions - the internal names of the method's exception classes (see
getInternalName). May be
null.public void visitEnd()
visitEnd in class ClassVisitorCopyright © 2016. All rights reserved.