Package org.apache.bcel.classfile
Class ModulePackages
- java.lang.Object
-
- org.apache.bcel.classfile.Attribute
-
- org.apache.bcel.classfile.ModulePackages
-
- All Implemented Interfaces:
java.lang.Cloneable,Node
public final class ModulePackages extends Attribute
This class is derived from Attribute and represents the list of packages that are exported or opened by the Module attribute. There may be at most one ModulePackages attribute in a ClassFile structure.- See Also:
Attribute
-
-
Field Summary
-
Fields inherited from class org.apache.bcel.classfile.Attribute
constant_pool, EMPTY_ARRAY, length, name_index, tag
-
-
Constructor Summary
Constructors Constructor Description ModulePackages(int nameIndex, int length, int[] packageIndexTable, ConstantPool constantPool)Constructs a new ModulePackages.ModulePackages(ModulePackages c)Initialize from another object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccept(Visitor v)Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.Attributecopy(ConstantPool constantPool)Creates a deep copy of this attribute.voiddump(java.io.DataOutputStream file)Dumps ModulePackages attribute to file stream in binary format.intgetNumberOfPackages()Gets the number of packages.int[]getPackageIndexTable()Gets the package index table.java.lang.String[]getPackageNames()Gets the package names.voidsetPackageIndexTable(int[] packageIndexTable)Sets the package index table.java.lang.StringtoString()-
Methods inherited from class org.apache.bcel.classfile.Attribute
addAttributeReader, addAttributeReader, clone, getConstantPool, getLength, getName, getNameIndex, getTag, println, readAttribute, readAttribute, removeAttributeReader, setConstantPool, setLength, setNameIndex
-
-
-
-
Constructor Detail
-
ModulePackages
public ModulePackages(int nameIndex, int length, int[] packageIndexTable, ConstantPool constantPool)
Constructs a new ModulePackages.- Parameters:
nameIndex- Index in constant pool.length- Content length in bytes.packageIndexTable- Table of indices in constant pool.constantPool- Array of constants.
-
ModulePackages
public ModulePackages(ModulePackages c)
Initialize from another object. Note that both objects use the same references (shallow copy). Use copy() for a physical copy.- Parameters:
c- Source to copy.
-
-
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)
Description copied from class:AttributeCreates a deep copy of this attribute.
-
dump
public void dump(java.io.DataOutputStream file) throws java.io.IOException
Dumps ModulePackages attribute to file stream in binary format.
-
getNumberOfPackages
public int getNumberOfPackages()
Gets the number of packages.- Returns:
- Length of package table.
-
getPackageIndexTable
public int[] getPackageIndexTable()
Gets the package index table.- Returns:
- array of indices into constant pool of package names.
-
getPackageNames
public java.lang.String[] getPackageNames()
Gets the package names.- Returns:
- string array of package names.
-
setPackageIndexTable
public void setPackageIndexTable(int[] packageIndexTable)
Sets the package index table.- Parameters:
packageIndexTable- The list of package indexes Also redefines number_of_packages according to table length.
-
-