Package io.ebean.enhance.common
Class DetectEnhancement
java.lang.Object
io.ebean.enhance.asm.ClassVisitor
io.ebean.enhance.common.DetectEnhancement
ClassAdapter used to detect if this class needs enhancement for entity or
transactional support.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanbooleanbooleanisEntity()Return true if this is an entity bean or embeddable bean.booleanReturn true if ANY method has the transactional annotation.voidvoidvisit(int version, int access, String name, String signature, String superName, String[] interfaces) Visit the class with interfaces.visitAnnotation(String desc, boolean visible) Visit class level annotations.visitMethod(int access, String name, String desc, String signature, String[] exceptions) Visit the methods specifically looking for method level transactional annotations.Methods inherited from class io.ebean.enhance.asm.ClassVisitor
getDelegate, visitAttribute, visitEnd, visitField, visitInnerClass, visitModule, visitNestHost, visitNestMember, visitOuterClass, visitPermittedSubclass, visitRecordComponent, visitSource, visitTypeAnnotation
-
Constructor Details
-
DetectEnhancement
-
-
Method Details
-
log
-
isEnhancedEntity
-
isEnhancedTransactional
-
isEntity
Return true if this is an entity bean or embeddable bean. -
isTransactional
Return true if ANY method has the transactional annotation. -
visit
public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) Visit the class with interfaces.- Overrides:
visitin classClassVisitor- Parameters:
version- the class version. The minor version is stored in the 16 most significant bits, and the major version in the 16 least significant bits.access- the class's access flags (seeOpcodes). This parameter also indicates if the class is deprecatedOpcodes.ACC_DEPRECATEDor a recordOpcodes.ACC_RECORD.name- the internal name of the class (seeType.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 (seeType.getInternalName()). For interfaces, the super class isObject. May be null, but only for theObjectclass.interfaces- the internal names of the class's interfaces (seeType.getInternalName()). May be null.
-
visitAnnotation
Visit class level annotations.- Overrides:
visitAnnotationin classClassVisitor- Parameters:
desc- the class descriptor of the annotation class.visible- true if the annotation is visible at runtime.- Returns:
- a visitor to visit the annotation values, or null if this visitor is not interested in visiting this annotation.
-
visitMethod
public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) Visit the methods specifically looking for method level transactional annotations.- Overrides:
visitMethodin classClassVisitor- Parameters:
access- the method's access flags (seeOpcodes). This parameter also indicates if the method is synthetic and/or deprecated.name- the method's name.desc- the method's descriptor (seeType).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 (seeType.getInternalName()). May be null.- Returns:
- an object to visit the byte code of the method, or null if this class visitor is not interested in visiting the code of this method.
-