Interface Clazz

All Superinterfaces:
FeatureNamed, Processable, Serializable
All Known Implementing Classes:
LibraryClass, ProgramClass

public interface Clazz extends FeatureNamed, Processable
This interface provides access to the fundamental properties of a Java class.
  • Method Details

    • getAccessFlags

      int getAccessFlags()
      Returns the access flags of this class.
      See Also:
    • getName

      String getName()
      Returns the full internal name of this class.
    • getSuperName

      String getSuperName()
      Returns the full internal name of the super class of this class, or null if this class represents java.lang.Object.
    • getInterfaceCount

      int getInterfaceCount()
      Returns the number of interfaces that this class implements.
    • getInterfaceName

      String getInterfaceName(int index)
      Returns the full internal name of the interface at the given index of this class.
    • getTag

      int getTag(int constantIndex)
      Returns the tag value of the Constant at the specified index.
    • getString

      String getString(int constantIndex)
      Returns the String value of the Utf8Constant at the specified index.
    • getStringString

      String getStringString(int constantIndex)
      Returns the String value of the StringConstant at the specified index.
    • getClassName

      String getClassName(int constantIndex)
      Returns the class name of ClassConstant at the specified index.
    • getName

      String getName(int constantIndex)
      Returns the name of the NameAndTypeConstant at the specified index.
    • getType

      String getType(int constantIndex)
      Returns the type of the NameAndTypeConstant at the specified index.
    • getRefClassName

      String getRefClassName(int constantIndex)
      Returns the class name of the RefConstant at the specified index.
    • getRefName

      String getRefName(int constantIndex)
      Returns the name of the RefConstant at the specified index.
    • getRefType

      String getRefType(int constantIndex)
      Returns the type of the RefConstant at the specified index.
    • getModuleName

      String getModuleName(int constantIndex)
      Returns the name of the ModuleConstant at the specified index.
    • getPackageName

      String getPackageName(int constantIndex)
      Returns the name of the PackageConstant at the specified index.
    • addSubClass

      void addSubClass(Clazz clazz)
      Notifies this Clazz that it is being subclassed by another class.
    • removeSubClass

      void removeSubClass(Clazz clazz)
      Notifies this Clazz that it is no longer being subclassed by another class.
    • getSuperClass

      Clazz getSuperClass()
      Returns the super class of this class.
    • getInterface

      Clazz getInterface(int index)
      Returns the interface at the given index.
    • extends_

      boolean extends_(Clazz clazz)
      Returns whether this class extends the given class. A class is always considered to extend itself. Interfaces are considered to only extend the root Object class.
    • extends_

      boolean extends_(String className)
      Returns whether this class extends the specified class. A class is always considered to extend itself. Interfaces are considered to only extend the root Object class.
    • extendsOrImplements

      boolean extendsOrImplements(Clazz clazz)
      Returns whether this class implements the given class. A class is always considered to implement itself. Interfaces are considered to implement all their superinterfaces.
    • extendsOrImplements

      boolean extendsOrImplements(String className)
      Returns whether this class implements the specified class. A class is always considered to implement itself. Interfaces are considered to implement all their superinterfaces.
    • findField

      Field findField(String name, String descriptor)
      Returns the field with the given name and descriptor.
      Parameters:
      name - the field name, or null if it is irrelevant.
      descriptor - the field type, or null if it is irrelevant.
      Returns:
      the first matching field, or null there is no matching field.
    • findMethod

      Method findMethod(String name, String descriptor)
      Returns the method with the given name and descriptor.
      Parameters:
      name - the method name, or null if it is irrelevant.
      descriptor - the method descriptor, or null if it is irrelevant.
      Returns:
      the first matching method, or null there is no matching method.
    • accept

      void accept(ClassVisitor classVisitor)
      Accepts the given class visitor.
    • hierarchyAccept

      void hierarchyAccept(boolean visitThisClass, boolean visitSuperClass, boolean visitInterfaces, boolean visitSubclasses, ClassVisitor classVisitor)
      Accepts the given class visitor in the class hierarchy.
      Parameters:
      visitThisClass - specifies whether to visit this class.
      visitSuperClass - specifies whether to visit the super classes.
      visitInterfaces - specifies whether to visit the interfaces.
      visitSubclasses - specifies whether to visit the subclasses.
      classVisitor - the ClassVisitor that will visit the class hierarchy.
    • subclassesAccept

      void subclassesAccept(ClassVisitor classVisitor)
      Lets the given class visitor visit all known subclasses.
      Parameters:
      classVisitor - the ClassVisitor that will visit the subclasses.
    • constantPoolEntriesAccept

      void constantPoolEntriesAccept(ConstantVisitor constantVisitor)
      Lets the given constant pool entry visitor visit all constant pool entries of this class.
    • constantPoolEntryAccept

      void constantPoolEntryAccept(int index, ConstantVisitor constantVisitor)
      Lets the given constant pool entry visitor visit the constant pool entry at the specified index.
    • thisClassConstantAccept

      void thisClassConstantAccept(ConstantVisitor constantVisitor)
      Lets the given constant pool entry visitor visit the class constant pool entry of this class.
    • superClassConstantAccept

      void superClassConstantAccept(ConstantVisitor constantVisitor)
      Lets the given constant pool entry visitor visit the class constant pool entry of the super class of this class, if there is one.
    • interfaceConstantsAccept

      void interfaceConstantsAccept(ConstantVisitor constantVisitor)
      Lets the given constant pool entry visitor visit the class constant pool entries for all interfaces of this class.
    • fieldsAccept

      void fieldsAccept(MemberVisitor memberVisitor)
      Lets the given member info visitor visit all fields of this class.
    • fieldAccept

      void fieldAccept(String name, String descriptor, MemberVisitor memberVisitor)
      Lets the given member info visitor visit the specified field.
    • methodsAccept

      void methodsAccept(MemberVisitor memberVisitor)
      Lets the given member info visitor visit all methods of this class.
    • methodAccept

      void methodAccept(String name, String descriptor, MemberVisitor memberVisitor)
      Lets the given member info visitor visit the specified method.
    • mayHaveImplementations

      boolean mayHaveImplementations(Method method)
      Returns whether the given method may possibly have implementing or overriding methods down the class hierarchy. This can only be true if the class is not final, and the method is not private, static, or final, or a constructor.
      Parameters:
      method - the method that may have implementations.
      Returns:
      whether it may have implementations.
    • attributesAccept

      void attributesAccept(AttributeVisitor attributeVisitor)
      Lets the given attribute info visitor visit all attributes of this class.
    • attributeAccept

      void attributeAccept(String name, AttributeVisitor attributeVisitor)
      Lets the given attribute info visitor visit the specified attribute.
    • kotlinMetadataAccept

      void kotlinMetadataAccept(KotlinMetadataVisitor kotlinMetadataVisitor)
      Lets the given Kotlin metadata visitor visit the metadata of this class.