Class DetectEnhancement

java.lang.Object
io.ebean.enhance.asm.ClassVisitor
io.ebean.enhance.common.DetectEnhancement

public class DetectEnhancement extends ClassVisitor
ClassAdapter used to detect if this class needs enhancement for entity or transactional support.
  • Constructor Details

  • Method Details

    • log

      public void log(int level, String msg)
    • isEnhancedEntity

      public boolean isEnhancedEntity()
    • isEnhancedTransactional

      public boolean isEnhancedTransactional()
    • isEntity

      public boolean isEntity()
      Return true if this is an entity bean or embeddable bean.
    • isTransactional

      public boolean 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:
      visit in class ClassVisitor
      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 (see Opcodes). This parameter also indicates if the class is deprecated Opcodes.ACC_DEPRECATED or a record Opcodes.ACC_RECORD.
      name - the internal name of the class (see Type.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 Type.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 Type.getInternalName()). May be null.
    • visitAnnotation

      public AnnotationVisitor visitAnnotation(String desc, boolean visible)
      Visit class level annotations.
      Overrides:
      visitAnnotation in class ClassVisitor
      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:
      visitMethod in class ClassVisitor
      Parameters:
      access - 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 Type.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.