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

    • module_name_index

      private final int module_name_index
    • module_flags

      private final int module_flags
    • module_version_index

      private final int module_version_index
    • requires_table

      private ModuleRequires[] requires_table
    • exports_table

      private ModuleExports[] exports_table
    • opens_table

      private ModuleOpens[] opens_table
    • uses_count

      private final int uses_count
    • uses_index

      private final int[] uses_index
    • provides_table

      private ModuleProvides[] provides_table
  • Constructor Details

    • Module

      Module(int name_index, int length, DataInput input, ConstantPool constant_pool) throws IOException
      Construct object from input stream.
      Parameters:
      name_index - Index in constant pool
      length - Content length in bytes
      input - Input stream
      constant_pool - Array of constants
      Throws:
      IOException
  • Method Details

    • accept

      public void accept(Visitor v)
      Called by objects that are traversing the nodes of the tree implicitely 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
    • getRequiresTable

      public ModuleRequires[] getRequiresTable()
      Returns:
      table of required modules
      See Also:
    • getExportsTable

      public ModuleExports[] getExportsTable()
      Returns:
      table of exported interfaces
      See Also:
    • getOpensTable

      public ModuleOpens[] getOpensTable()
      Returns:
      table of provided interfaces
      See Also:
    • getProvidesTable

      public ModuleProvides[] getProvidesTable()
      Returns:
      table of provided interfaces
      See Also:
    • 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
    • toString

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

      public Attribute copy(ConstantPool _constant_pool)
      Specified by:
      copy in class Attribute
      Returns:
      deep copy of this attribute