美文网首页
Java Element

Java Element

作者: 钦_79f7 | 来源:发表于2019-12-19 12:32 被阅读0次

    Java 文件结构

    • PackageElement:Java文件的包名
    • TypeElement:Java文件的类型Class、Interface、Enum、Annotation等
    • VariableElement:Java文件的属性Field
    • ExecutableElement:Java文件的方法

    方法

    • getSimpleName().toString()

      获取当前element的名字(类名、方法名、属性名、当前包名等)

      MainActivity、onCreate、textView、percentrelativelayout
      
    • asType().toString()

      获取当前element的实际类型

      android.view.View
      com.stone.percentrelativelayout.MainActivity
      com.stone.percentrelativelayout
      
    • getEnclosingElement()

      获取当前element所处闭包的类型

      根据Java文件结构,易知:

      VariableElement -> TypeElement
      TypeElement -> PackageElement
      
    • getEnclosedElements()

      获取当前element直接包含的闭包类型集合

      VariableElement -> 0
      TypeElement -> 所有属性、方法、构造器
      MainActivity(),textView,textView2,TAG,onCreate(android.os.Bundle),test(java.lang.String,int,double)
      PackageElement -> 当前包中的所有Java文件
      
    • getKind()

      获取当前element对应的类型

      FIELD、CLASS、PACKAGE、METHO等
      
    • getModifiers()

      获取修饰符的集合

      [protected]、[private, static, final]
      
    • getQualifiedName().toString()

      TypeElement以及PackageElement中方法,用以获取其全限定名字

    • getConstantValue()

      VariableElement的方法,用以获取final属性的值,即只有属性的修饰符有final时才能够获取到正确的返回值,非final的都是null;

    注: ================================
    注: current annotation's value is 2131427423
    注: ====begin====
    注: element is VariableElement
    注: getConstantValue().toString() = null
    注: element的getSimpleName() = textView2
    注: element的asType() = android.view.View
    注: getEnclosedElements() = 
    注: element的getKind() = FIELD
    注: element的getModifiers() = [protected]
    注: ====begin====
    注: element is TypeElement
    注: getQualifiedName() = com.stone.percentrelativelayout.MainActivity
    注: typeParameters.size() = 0
    注: getTypeParameters() = 
    注: element的getSimpleName() = MainActivity
    注: element的asType() = com.stone.percentrelativelayout.MainActivity
    注: getEnclosedElements() = MainActivity(),textView,textView2,TAG,onCreate(android.os.Bundle),test(java.lang.String,int,double)
    注: element的getKind() = CLASS
    注: element的getModifiers() = [public]
    注: ====begin====
    注: element is PackageElement
    注: getQualifiedName() = com.stone.percentrelativelayout
    注: element的getSimpleName() = percentrelativelayout
    注: element的asType() = com.stone.percentrelativelayout
    注: getEnclosedElements() = com.stone.percentrelativelayout.MainActivity$ViewBinder,com.stone.percentrelativelayout.MainActivity,com.stone.percentrelativelayout.PercentRelativeLayout,com.stone.percentrelativelayout.TestConstraintActivity,com.stone.percentrelativelayout.TestConstraintLayout,com.stone.percentrelativelayout.TestRelativeActivity,com.stone.percentrelativelayout.TestRelativeLayout,com.stone.percentrelativelayout.R,com.stone.percentrelativelayout.BuildConfig
    注: element的getKind() = PACKAGE
    注: element的getModifiers() = []
    注: ====begin====
    注: element is null
    注: =====end=======
    注: =====end=======
    注: =====end=======
    注: =================================
    

    相关文章

      网友评论

          本文标题:Java Element

          本文链接:https://www.haomeiwen.com/subject/casmnctx.html