Class Module

java.lang.Object
org.apache.bcel.classfile.Attribute
org.apache.bcel.classfile.Module
All Implemented Interfaces:
Cloneable, Node

public final class Module extends Attribute
This class is derived from Attribute and represents the list of modules required, exported, opened or provided by a module. There may be at most one Module attribute in a ClassFile structure.
Since:
6.4.0
See Also:
  • Field Details

  • Method Details

    • accept

      public void accept(Visitor v)
      Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class. I.e., the hierarchy of methods, fields, attributes, etc. spawns a tree of objects.
      Specified by:
      accept in interface Node
      Specified by:
      accept in class Attribute
      Parameters:
      v - Visitor object
    • copy

      public Attribute copy(ConstantPool constantPool)
      Specified by:
      copy in class Attribute
      Parameters:
      constantPool - constant pool to save.
      Returns:
      deep copy of this attribute
    • dump

      public void dump(DataOutputStream file) throws IOException
      Dump Module attribute to file stream in binary format.
      Overrides:
      dump in class Attribute
      Parameters:
      file - Output file stream
      Throws:
      IOException - if an I/O error occurs.
    • getExportsTable

      Returns:
      table of exported interfaces
      See Also:
    • getModuleFlags

      public int getModuleFlags()
      Gets flags for this module.
      Returns:
      module flags
      Since:
      6.10.0
    • getModuleName

      Gets module name.
      Parameters:
      cp - Array of constants
      Returns:
      module name
      Since:
      6.10.0
    • getOpensTable

      Returns:
      table of provided interfaces
      See Also:
    • getProvidesTable

      Returns:
      table of provided interfaces
      See Also:
    • getRequiresTable

      Returns:
      table of required modules
      See Also:
    • getUsedClassNames

      public String[] getUsedClassNames(ConstantPool constantPool, boolean compactClassName)
      Gets the array of class names for this module's uses.
      Parameters:
      constantPool - Array of constants usually obtained from the ClassFile object
      compactClassName - false for original constant pool value, true to replace '/' with '.'
      Returns:
      array of used class names
      Since:
      6.10.0
    • getVersion

      Gets version for this module.
      Parameters:
      cp - Array of constants
      Returns:
      version from constant pool, "0" if version index is 0
      Since:
      6.10.0
    • toString

      public String toString()
      Overrides:
      toString in class Attribute
      Returns:
      String representation, i.e., a list of packages.