Class JavassistAdapter

  • All Implemented Interfaces:
    MetadataAdapter<javassist.bytecode.ClassFile,​javassist.bytecode.FieldInfo,​javassist.bytecode.MethodInfo>

    public class JavassistAdapter
    extends java.lang.Object
    implements MetadataAdapter<javassist.bytecode.ClassFile,​javassist.bytecode.FieldInfo,​javassist.bytecode.MethodInfo>
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static boolean includeInvisibleTag
      setting this to false will result in returning only visible annotations from the relevant methods here (only RetentionPolicy.RUNTIME)
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean acceptsInput​(java.lang.String file)  
      private java.util.List<java.lang.String> getAnnotationNames​(javassist.bytecode.annotation.Annotation[] annotations)  
      private java.util.List<java.lang.String> getAnnotationNames​(javassist.bytecode.AnnotationsAttribute... annotationsAttributes)  
      java.util.List<java.lang.String> getClassAnnotationNames​(javassist.bytecode.ClassFile aClass)  
      java.lang.String getClassName​(javassist.bytecode.ClassFile cls)  
      java.util.List<java.lang.String> getFieldAnnotationNames​(javassist.bytecode.FieldInfo field)  
      java.lang.String getFieldName​(javassist.bytecode.FieldInfo field)  
      java.util.List<javassist.bytecode.FieldInfo> getFields​(javassist.bytecode.ClassFile cls)  
      java.util.List<java.lang.String> getInterfacesNames​(javassist.bytecode.ClassFile cls)  
      java.util.List<java.lang.String> getMethodAnnotationNames​(javassist.bytecode.MethodInfo method)  
      java.lang.String getMethodFullKey​(javassist.bytecode.ClassFile cls, javassist.bytecode.MethodInfo method)  
      java.lang.String getMethodKey​(javassist.bytecode.ClassFile cls, javassist.bytecode.MethodInfo method)  
      java.lang.String getMethodModifier​(javassist.bytecode.MethodInfo method)  
      java.lang.String getMethodName​(javassist.bytecode.MethodInfo method)  
      java.util.List<javassist.bytecode.MethodInfo> getMethods​(javassist.bytecode.ClassFile cls)  
      javassist.bytecode.ClassFile getOrCreateClassObject​(Vfs.File file)  
      java.util.List<java.lang.String> getParameterAnnotationNames​(javassist.bytecode.MethodInfo method, int parameterIndex)  
      java.util.List<java.lang.String> getParameterNames​(javassist.bytecode.MethodInfo method)  
      java.lang.String getReturnTypeName​(javassist.bytecode.MethodInfo method)  
      java.lang.String getSuperclassName​(javassist.bytecode.ClassFile cls)  
      boolean isPublic​(java.lang.Object o)  
      private java.util.List<java.lang.String> splitDescriptorToTypeNames​(java.lang.String descriptors)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • includeInvisibleTag

        public static boolean includeInvisibleTag
        setting this to false will result in returning only visible annotations from the relevant methods here (only RetentionPolicy.RUNTIME)
    • Constructor Detail

      • JavassistAdapter

        public JavassistAdapter()
    • Method Detail

      • getFields

        public java.util.List<javassist.bytecode.FieldInfo> getFields​(javassist.bytecode.ClassFile cls)
        Specified by:
        getFields in interface MetadataAdapter<javassist.bytecode.ClassFile,​javassist.bytecode.FieldInfo,​javassist.bytecode.MethodInfo>
      • getMethods

        public java.util.List<javassist.bytecode.MethodInfo> getMethods​(javassist.bytecode.ClassFile cls)
        Specified by:
        getMethods in interface MetadataAdapter<javassist.bytecode.ClassFile,​javassist.bytecode.FieldInfo,​javassist.bytecode.MethodInfo>
      • getMethodName

        public java.lang.String getMethodName​(javassist.bytecode.MethodInfo method)
        Specified by:
        getMethodName in interface MetadataAdapter<javassist.bytecode.ClassFile,​javassist.bytecode.FieldInfo,​javassist.bytecode.MethodInfo>
      • getParameterNames

        public java.util.List<java.lang.String> getParameterNames​(javassist.bytecode.MethodInfo method)
        Specified by:
        getParameterNames in interface MetadataAdapter<javassist.bytecode.ClassFile,​javassist.bytecode.FieldInfo,​javassist.bytecode.MethodInfo>
      • getClassAnnotationNames

        public java.util.List<java.lang.String> getClassAnnotationNames​(javassist.bytecode.ClassFile aClass)
        Specified by:
        getClassAnnotationNames in interface MetadataAdapter<javassist.bytecode.ClassFile,​javassist.bytecode.FieldInfo,​javassist.bytecode.MethodInfo>
      • getFieldAnnotationNames

        public java.util.List<java.lang.String> getFieldAnnotationNames​(javassist.bytecode.FieldInfo field)
        Specified by:
        getFieldAnnotationNames in interface MetadataAdapter<javassist.bytecode.ClassFile,​javassist.bytecode.FieldInfo,​javassist.bytecode.MethodInfo>
      • getMethodAnnotationNames

        public java.util.List<java.lang.String> getMethodAnnotationNames​(javassist.bytecode.MethodInfo method)
        Specified by:
        getMethodAnnotationNames in interface MetadataAdapter<javassist.bytecode.ClassFile,​javassist.bytecode.FieldInfo,​javassist.bytecode.MethodInfo>
      • getParameterAnnotationNames

        public java.util.List<java.lang.String> getParameterAnnotationNames​(javassist.bytecode.MethodInfo method,
                                                                            int parameterIndex)
        Specified by:
        getParameterAnnotationNames in interface MetadataAdapter<javassist.bytecode.ClassFile,​javassist.bytecode.FieldInfo,​javassist.bytecode.MethodInfo>
      • getReturnTypeName

        public java.lang.String getReturnTypeName​(javassist.bytecode.MethodInfo method)
        Specified by:
        getReturnTypeName in interface MetadataAdapter<javassist.bytecode.ClassFile,​javassist.bytecode.FieldInfo,​javassist.bytecode.MethodInfo>
      • getFieldName

        public java.lang.String getFieldName​(javassist.bytecode.FieldInfo field)
        Specified by:
        getFieldName in interface MetadataAdapter<javassist.bytecode.ClassFile,​javassist.bytecode.FieldInfo,​javassist.bytecode.MethodInfo>
      • getOrCreateClassObject

        public javassist.bytecode.ClassFile getOrCreateClassObject​(Vfs.File file)
        Specified by:
        getOrCreateClassObject in interface MetadataAdapter<javassist.bytecode.ClassFile,​javassist.bytecode.FieldInfo,​javassist.bytecode.MethodInfo>
      • getMethodModifier

        public java.lang.String getMethodModifier​(javassist.bytecode.MethodInfo method)
        Specified by:
        getMethodModifier in interface MetadataAdapter<javassist.bytecode.ClassFile,​javassist.bytecode.FieldInfo,​javassist.bytecode.MethodInfo>
      • getMethodKey

        public java.lang.String getMethodKey​(javassist.bytecode.ClassFile cls,
                                             javassist.bytecode.MethodInfo method)
        Specified by:
        getMethodKey in interface MetadataAdapter<javassist.bytecode.ClassFile,​javassist.bytecode.FieldInfo,​javassist.bytecode.MethodInfo>
      • getMethodFullKey

        public java.lang.String getMethodFullKey​(javassist.bytecode.ClassFile cls,
                                                 javassist.bytecode.MethodInfo method)
        Specified by:
        getMethodFullKey in interface MetadataAdapter<javassist.bytecode.ClassFile,​javassist.bytecode.FieldInfo,​javassist.bytecode.MethodInfo>
      • isPublic

        public boolean isPublic​(java.lang.Object o)
        Specified by:
        isPublic in interface MetadataAdapter<javassist.bytecode.ClassFile,​javassist.bytecode.FieldInfo,​javassist.bytecode.MethodInfo>
      • getClassName

        public java.lang.String getClassName​(javassist.bytecode.ClassFile cls)
        Specified by:
        getClassName in interface MetadataAdapter<javassist.bytecode.ClassFile,​javassist.bytecode.FieldInfo,​javassist.bytecode.MethodInfo>
      • getSuperclassName

        public java.lang.String getSuperclassName​(javassist.bytecode.ClassFile cls)
        Specified by:
        getSuperclassName in interface MetadataAdapter<javassist.bytecode.ClassFile,​javassist.bytecode.FieldInfo,​javassist.bytecode.MethodInfo>
      • getInterfacesNames

        public java.util.List<java.lang.String> getInterfacesNames​(javassist.bytecode.ClassFile cls)
        Specified by:
        getInterfacesNames in interface MetadataAdapter<javassist.bytecode.ClassFile,​javassist.bytecode.FieldInfo,​javassist.bytecode.MethodInfo>
      • acceptsInput

        public boolean acceptsInput​(java.lang.String file)
        Specified by:
        acceptsInput in interface MetadataAdapter<javassist.bytecode.ClassFile,​javassist.bytecode.FieldInfo,​javassist.bytecode.MethodInfo>
      • getAnnotationNames

        private java.util.List<java.lang.String> getAnnotationNames​(javassist.bytecode.AnnotationsAttribute... annotationsAttributes)
      • getAnnotationNames

        private java.util.List<java.lang.String> getAnnotationNames​(javassist.bytecode.annotation.Annotation[] annotations)
      • splitDescriptorToTypeNames

        private java.util.List<java.lang.String> splitDescriptorToTypeNames​(java.lang.String descriptors)