Interface IJavaClass

All Superinterfaces:
IJavaDecompilableElement, IJavaElement

@Ser public interface IJavaClass extends IJavaDecompilableElement
Java AST interface to represent a Java class or interface. Class elements contain other classes (inner classes), fields, and methods.
  • Method Details

    • getAccessFlags

      int getAccessFlags()
    • isInner

      boolean isInner()
    • isAnonymous

      boolean isAnonymous()
    • isStatic

      boolean isStatic()
    • isInterface

      boolean isInterface()
    • isEnumeration

      boolean isEnumeration()
    • isAnnotation

      boolean isAnnotation()
    • isSynthetic

      boolean isSynthetic()
    • getName

      String getName()
      Get the type name. The name is a fully-qualified Java name, such as: Lcom/foo/Bar;
      Specified by:
      getName in interface IJavaDecompilableElement
      Returns:
      the class name
    • getType

      IJavaType getType()
      Get the class or interface type.
      Returns:
      the type
    • getSignature

      String getSignature()
      Description copied from interface: IJavaDecompilableElement
      Get this element's signature.
      Specified by:
      getSignature in interface IJavaDecompilableElement
      Returns:
    • getSupertype

      IJavaType getSupertype()
      Get the super type.
      Returns:
    • getImplementedInterfaces

      List<IJavaType> getImplementedInterfaces()
      Get the implemented or extended interface types.
      Returns:
    • getAnnotations

      List<IJavaAnnotation> getAnnotations()
      Get the annotations for this type.
      Returns:
    • getInnerClassSignatures

      List<String> getInnerClassSignatures()
      Returns:
    • getInnerClasses

      List<IJavaClass> getInnerClasses()
      This convenience method is used to retrieve the list of inner classes.
      Returns:
      the list of inner classes
    • getAnonymousClassSignatures

      List<String> getAnonymousClassSignatures()
      Returns:
    • getAnonymousClasses

      List<IJavaClass> getAnonymousClasses()
      Returns:
    • getFieldSignatures

      List<String> getFieldSignatures()
      Returns:
    • getFields

      List<IJavaField> getFields()
      This convenience method is used to retrieve the list of fields.
      Returns:
      the list of fields
    • getMethodsSignatures

      List<String> getMethodsSignatures()
      Returns:
    • getMethods

      List<IJavaMethod> getMethods()
      This convenience method is used to retrieve the list of methods.
      Returns:
      the list of methods
    • addImport

      boolean addImport(String simplename, String signature)
      Register a class to be imported in the namespace.
      Parameters:
      simplename - simple class name
      signature - FQSS class signature
      Returns:
    • getImport

      String getImport(String simplename)
      Get an imported class signature from its simple name.
      Parameters:
      simplename - simple class name
      Returns:
      FQSS class signature
    • generate

      void generate(JavaOutputSink out, List<IJavaExpression> newArgs, int anonStart, boolean bodyOnly)
      Parameters:
      out -
      newArgs -
      anonStart -
      bodyOnly -
    • duplicate

      IJavaClass duplicate()
      Description copied from interface: IJavaElement
      Duplicate this element.
      Specified by:
      duplicate in interface IJavaDecompilableElement
      Specified by:
      duplicate in interface IJavaElement
      Returns:
      a (possibly) duplicated object of the same type