jef.dna.attributes
Interface InnerClassesAttribute

All Superinterfaces:
Attribute, BytesCountable, java.lang.Cloneable
All Known Implementing Classes:
InnerClasses

public interface InnerClassesAttribute
extends Attribute

Class representing an Inner Classes Attribute. The InnerClasses attribute5 is a variable-length attribute in the attributes table of the ClassFile structure. If the constant pool of a class or interface refers to any class or interface that is not a member of a package, its ClassFile structure must have exactly one InnerClasses attribute in its attributes table.

Author:
Francesco Russo frusso@cs.unibo.it

Method Summary
 java.util.List<InnerClassesTableEntry> getClasses()
          Every CONSTANT_Class_info entry in the constant_pool table which represents a class or interface C that is not a package member must have exactly one corresponding entry in the classes array.
 int getNumberOfClasses()
          The number_of_classes defines how many entries are stored into the classes array.
 
Methods inherited from interface jef.dna.attributes.Attribute
clone, fromStream, getDna, getLength, getNameIndex, setDna, setNameIndex, toStream, updateRefs, validate
 
Methods inherited from interface jef.dna.util.BytesCountable
getBytesCount
 

Method Detail

getNumberOfClasses

int getNumberOfClasses()
The number_of_classes defines how many entries are stored into the classes array. This data structure can be provided via the setClasses method shaped as a List.

Returns:
int The number of entries of the classes array

getClasses

java.util.List<InnerClassesTableEntry> getClasses()
Every CONSTANT_Class_info entry in the constant_pool table which represents a class or interface C that is not a package member must have exactly one corresponding entry in the classes array. If a class has members that are classes or interfaces, its constant_pool table (and hence its InnerClasses attribute) must refer to each such member, even if that member is not otherwise mentioned by the class. These rules imply that a nested class or interface member will have InnerClasses information for each enclosing class and for each immediate member.

Returns:
List This List will contain instances of the InnerClassesTableEntry class