Package org.apache.bcel.classfile
Class PermittedSubclasses
- java.lang.Object
-
- org.apache.bcel.classfile.Attribute
-
- org.apache.bcel.classfile.PermittedSubclasses
-
- All Implemented Interfaces:
java.lang.Cloneable,Node
public final class PermittedSubclasses extends Attribute
This class is derived from Attribute and records the classes and interfaces that are permitted to extend or implement the current class or interface. There may be at most one PermittedSubclasses attribute in a ClassFile structure.- Since:
- 6.13.0
- 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 PermittedSubclasses(int nameIndex, int length, int[] classes, ConstantPool constantPool)Constructs object from table of class indices in constant pool.PermittedSubclasses(PermittedSubclasses 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 clone of this object given constant pool.voiddump(java.io.DataOutputStream file)Dumps PermittedSubclasses attribute to file stream in binary format.int[]getClasses()Gets the class indices in constant pool.java.lang.String[]getClassNames()Gets permitted class names.intgetNumberClasses()Gets the number of classes.voidsetClasses(int[] classes)Sets class indices.java.lang.StringtoString()String representation of PermittedSubclasses (for debugging purposes).-
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
-
PermittedSubclasses
public PermittedSubclasses(int nameIndex, int length, int[] classes, ConstantPool constantPool)
Constructs object from table of class indices in constant pool.- Parameters:
nameIndex- Index in constant pool.length- Content length in bytes.classes- Table of indices in constant pool.constantPool- Array of constants.
-
PermittedSubclasses
public PermittedSubclasses(PermittedSubclasses 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)
Creates a deep clone of this object given constant pool.
-
dump
public void dump(java.io.DataOutputStream file) throws java.io.IOException
Dumps PermittedSubclasses attribute to file stream in binary format.
-
getClasses
public int[] getClasses()
Gets the class indices in constant pool.- Returns:
- array of indices into constant pool of class names.
-
getClassNames
public java.lang.String[] getClassNames()
Gets permitted class names.- Returns:
- string array of class names.
-
getNumberClasses
public int getNumberClasses()
Gets the number of classes.- Returns:
- Length of classes table.
-
setClasses
public void setClasses(int[] classes)
Sets class indices.- Parameters:
classes- The list of class indexes Also redefines number_of_classes according to table length.
-
-