org.apache.bcel.classfile

## 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:
    `Attribute`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `EXTENSION` The module file name extension.

    - ### Fields inherited from class org.apache.bcel.classfile.Attribute

      `constant_pool, EMPTY_ARRAY, length, name_index, tag`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `accept(Visitor v)` Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.
    `Attribute` | `copy(ConstantPool constantPool)`
    `void` | `dump(DataOutputStream file)` Dump Module attribute to file stream in binary format.
    `ModuleExports[]` | `getExportsTable()`
    `ModuleOpens[]` | `getOpensTable()`
    `ModuleProvides[]` | `getProvidesTable()`
    `ModuleRequires[]` | `getRequiresTable()`
    `String` | `toString()`

    - ### Methods inherited from class org.apache.bcel.classfile.Attribute

      `addAttributeReader, addAttributeReader, clone, getConstantPool, getLength, getName, getNameIndex, getTag, println, readAttribute, readAttribute, removeAttributeReader, setConstantPool, setLength, setNameIndex`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### EXTENSION

          public static final String EXTENSION

      The module file name extension.
      Since:
        6.7.0
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### 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

          public ModuleExports[] getExportsTable()

      Returns:
        table of exported interfaces
      See Also:
        `ModuleExports`

    - #### getOpensTable

          public ModuleOpens[] getOpensTable()

      Returns:
        table of provided interfaces
      See Also:
        `ModuleOpens`

    - #### getProvidesTable

          public ModuleProvides[] getProvidesTable()

      Returns:
        table of provided interfaces
      See Also:
        `ModuleProvides`

    - #### getRequiresTable

          public ModuleRequires[] getRequiresTable()

      Returns:
        table of required modules
      See Also:
        `ModuleRequires`

    - #### toString

          public String toString()

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

Copyright © 2004–2022 The Apache Software Foundation. All rights reserved.