Package org.apache.bcel.classfile
Class Module
- java.lang.Object
-
- org.apache.bcel.classfile.Attribute
-
- org.apache.bcel.classfile.Module
-
- All Implemented Interfaces:
java.lang.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 Description private ModuleExports[]
exportsTable
static java.lang.String
EXTENSION
The module file name extension.private int
moduleFlags
private int
moduleNameIndex
private int
moduleVersionIndex
private ModuleOpens[]
opensTable
private ModuleProvides[]
providesTable
private ModuleRequires[]
requiresTable
private int
usesCount
private int[]
usesIndex
-
Fields inherited from class org.apache.bcel.classfile.Attribute
constant_pool, EMPTY_ARRAY, length, name_index, tag
-
-
Constructor Summary
Constructors Constructor Description Module(int nameIndex, int length, java.io.DataInput input, ConstantPool constantPool)
Constructs object from input stream.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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(java.io.DataOutputStream file)
Dump Module attribute to file stream in binary format.ModuleExports[]
getExportsTable()
ModuleOpens[]
getOpensTable()
ModuleProvides[]
getProvidesTable()
ModuleRequires[]
getRequiresTable()
java.lang.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
-
-
-
-
Field Detail
-
EXTENSION
public static final java.lang.String EXTENSION
The module file name extension.- Since:
- 6.7.0
- See Also:
- Constant Field Values
-
moduleNameIndex
private final int moduleNameIndex
-
moduleFlags
private final int moduleFlags
-
moduleVersionIndex
private final int moduleVersionIndex
-
requiresTable
private ModuleRequires[] requiresTable
-
exportsTable
private ModuleExports[] exportsTable
-
opensTable
private ModuleOpens[] opensTable
-
usesCount
private final int usesCount
-
usesIndex
private final int[] usesIndex
-
providesTable
private ModuleProvides[] providesTable
-
-
Constructor Detail
-
Module
Module(int nameIndex, int length, java.io.DataInput input, ConstantPool constantPool) throws java.io.IOException
Constructs object from input stream.- Parameters:
nameIndex
- Index in constant poollength
- Content length in bytesinput
- Input streamconstantPool
- Array of constants- Throws:
java.io.IOException
- if an I/O error occurs.
-
-
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.
-
copy
public Attribute copy(ConstantPool constantPool)
-
dump
public void dump(java.io.DataOutputStream file) throws java.io.IOException
Dump Module attribute to file stream in binary format.
-
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
-
-