Package org.apache.bcel.classfile
Class Module
java.lang.Object
org.apache.bcel.classfile.Attribute
org.apache.bcel.classfile.Module
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 Summary
FieldsModifier and TypeFieldDescriptionprivate ModuleExports[]
static final String
The module file name extension.private final int
private final int
private final int
private ModuleOpens[]
private ModuleProvides[]
private ModuleRequires[]
private final int
private final int[]
Fields inherited from class org.apache.bcel.classfile.Attribute
constant_pool, EMPTY_ARRAY, length, name_index, tag
-
Constructor Summary
ConstructorsConstructorDescriptionModule
(int nameIndex, int length, DataInput input, ConstantPool constantPool) Constructs object from input stream. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.copy
(ConstantPool constantPool) void
dump
(DataOutputStream file) Dump Module attribute to file stream in binary format.private static String
getClassNameAtIndex
(ConstantPool cp, int index, boolean compactClassName) int
Gets flags for this module.Gets module name.String[]
getUsedClassNames
(ConstantPool constantPool, boolean compactClassName) Gets the array of class names for this module's uses.Gets version for this module.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 Details
-
EXTENSION
The module file name extension.- Since:
- 6.7.0
- See Also:
-
moduleNameIndex
private final int moduleNameIndex -
moduleFlags
private final int moduleFlags -
moduleVersionIndex
private final int moduleVersionIndex -
requiresTable
-
exportsTable
-
opensTable
-
usesCount
private final int usesCount -
usesIndex
private final int[] usesIndex -
providesTable
-
-
Constructor Details
-
Module
Module(int nameIndex, int length, DataInput input, ConstantPool constantPool) throws IOException Constructs object from input stream.- Parameters:
nameIndex
- Index in constant poollength
- Content length in bytesinput
- Input streamconstantPool
- Array of constants- Throws:
IOException
- if an I/O error occurs.
-
-
Method Details
-
getClassNameAtIndex
-
accept
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
-
dump
Dump Module attribute to file stream in binary format.- Overrides:
dump
in classAttribute
- 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
Gets the array of class names for this module's uses.- Parameters:
constantPool
- Array of constants usually obtained from the ClassFile objectcompactClassName
- 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
-