# Package org.apache.bcel.classfile

This package contains the classes that describe the structure of a Java class file and a class file parser.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  AttributeReader | Deprecated Use UnknownAttributeReader instead
  ConstantObject | This interface denotes those constants that have a "natural" value, such as ConstantLong, ConstantString, etc..
  Node | Denote class to have an accept method();
  UnknownAttributeReader | Unknown (non-standard) attributes may be read via user-defined factory objects that can be registered with the Attribute.addAttributeReader method.
  Visitor | Interface to make use of the Visitor pattern programming style.

- Class Summary
  Class | Description
  --- | ---
  AccessFlags | Super class for all objects that have modifiers like private, final, ...
  AnnotationDefault | Represents the default value of a annotation for a method info.
  AnnotationElementValue |
  AnnotationEntry | Represents one annotation in the annotation table
  Annotations | base class for annotations
  ArrayElementValue |
  Attribute | Abstract super class for Attribute objects.
  BootstrapMethod | This class represents a bootstrap method attribute, i.e., the bootstrap method ref, the number of bootstrap arguments and an array of the bootstrap arguments.
  BootstrapMethods | This class represents a BootstrapMethods attribute.
  ClassElementValue |
  ClassParser | Wrapper class that parses a given Java .class file.
  Code | This class represents a chunk of Java byte code contained in a method.
  CodeException | This class represents an entry in the exception table of the Code attribute and is used only there.
  Constant | Abstract superclass for classes to represent the different constant types in the constant pool of a class file.
  ConstantClass | This class is derived from the abstract `Constant` and represents a reference to a (external) class.
  ConstantCP | Abstract super class for Fieldref, Methodref, InterfaceMethodref and InvokeDynamic constants.
  ConstantDouble | This class is derived from the abstract `Constant` and represents a reference to a Double object.
  ConstantDynamic | This class is derived from the abstract `Constant` and represents a reference to a dynamically computed constant.
  ConstantFieldref | This class represents a constant pool reference to a field.
  ConstantFloat | This class is derived from the abstract `Constant` and represents a reference to a float object.
  ConstantInteger | This class is derived from the abstract `Constant` and represents a reference to an int object.
  ConstantInterfaceMethodref | This class represents a constant pool reference to an interface method.
  ConstantInvokeDynamic | This class is derived from the abstract `Constant` and represents a reference to a invoke dynamic.
  ConstantLong | This class is derived from the abstract `Constant` and represents a reference to a long object.
  ConstantMethodHandle | This class is derived from the abstract `Constant` and represents a reference to a method handle.
  ConstantMethodref | This class represents a constant pool reference to a method.
  ConstantMethodType | This class is derived from the abstract `Constant` and represents a reference to a method type.
  ConstantModule | This class is derived from the abstract `Constant` and represents a reference to a module.
  ConstantNameAndType | This class is derived from the abstract `Constant` and represents a reference to the name and signature of a field or method.
  ConstantPackage | This class is derived from the abstract `Constant` and represents a reference to a package.
  ConstantPool | This class represents the constant pool, i.e., a table of constants, of a parsed classfile.
  ConstantString | This class is derived from the abstract `Constant` and represents a reference to a String object.
  ConstantUtf8 | Extends the abstract `Constant` to represent a reference to a UTF-8 encoded string.
  ConstantValue | This class is derived from Attribute and represents a constant value, i.e., a default value for initializing a class field.
  Deprecated | This class is derived from Attribute and denotes that this is a deprecated method.
  DescendingVisitor | Traverses a JavaClass with another Visitor object 'piggy-backed' that is applied to all components of a JavaClass object.
  ElementValue | The element_value structure is documented at https://docs.oracle.com/javase/specs/jvms/se11/html/jvms-4.html#jvms-4.7.16.1
  ElementValuePair | An annotation's element value pair.
  EmptyVisitor | Visitor with empty method bodies, can be extended and used in conjunction with the DescendingVisitor class, e.g.
  EnclosingMethod | This attribute exists for local or anonymous classes and ...
  EnumElementValue |
  ExceptionTable | This class represents the table of exceptions that are thrown by a method.
  Field | This class represents the field info structure, i.e., the representation for a variable in the class.
  FieldOrMethod | Abstract super class for fields and methods.
  InnerClass | This class represents a inner class attribute, i.e., the class indices of the inner and outer classes, the name and the attributes of the inner class.
  InnerClasses | This class is derived from Attribute and denotes that this class is an Inner class of another.
  JavaClass | Represents a Java class, i.e., the data structures, constant pool, fields, methods and commands contained in a Java .class file.
  LineNumber | This class represents a (PC offset, line number) pair, i.e., a line number in the source that corresponds to a relative address in the byte code.
  LineNumberTable | This class represents a table of line numbers for debugging purposes.
  LocalVariable | This class represents a local variable within a method.
  LocalVariableTable | This class represents colection of local variables in a method.
  LocalVariableTypeTable |
  Method | This class represents the method info structure, i.e., the representation for a method in the class.
  MethodParameter | Entry of the parameters table.
  MethodParameters | This class represents a MethodParameters attribute.
  Module | This class is derived from Attribute and represents the list of modules required, exported, opened or provided by a module.
  ModuleExports | This class represents an entry in the exports table of the Module attribute.
  ModuleMainClass | This class is derived from Attribute and indicates the main class of a module.
  ModuleOpens | This class represents an entry in the opens table of the Module attribute.
  ModulePackages | This class is derived from Attribute and represents the list of packages that are exported or opened by the Module attribute.
  ModuleProvides | This class represents an entry in the provides table of the Module attribute.
  ModuleRequires | This class represents an entry in the requires table of the Module attribute.
  NestHost | This class is derived from Attribute and records the nest host of the nest to which the current class or interface claims to belong.
  NestMembers | This class is derived from Attribute and records the classes and interfaces that are authorized to claim membership in the nest hosted by the current class or interface.
  ParameterAnnotationEntry | represents one parameter annotation in the parameter annotation table
  ParameterAnnotations | base class for parameter annotations
  PMGClass | This class is derived from Attribute and represents a reference to a PMG attribute.
  RuntimeInvisibleAnnotations | represents an annotation that is represented in the class file but is not provided to the JVM.
  RuntimeInvisibleParameterAnnotations | Represents a parameter annotation that is represented in the class file but is not provided to the JVM.
  RuntimeVisibleAnnotations | represents an annotation that is represented in the class file and is provided to the JVM.
  RuntimeVisibleParameterAnnotations | Represents a parameter annotation that is represented in the class file and is provided to the JVM.
  Signature | This class is derived from Attribute and represents a reference to a GJ attribute.
  SimpleElementValue |
  SourceFile | This class is derived from Attribute and represents a reference to the source file of this class.
  StackMap | This class represents a stack map attribute used for preverification of Java classes for the Java 2 Micro Edition (J2ME).
  StackMapEntry | This class represents a stack map entry recording the types of local variables and the of stack items at a given byte code offset.
  StackMapType | This class represents the type of a local variable or item on stack used in the StackMap entries.
  Synthetic | This class is derived from Attribute and declares this class as 'synthetic', i.e., it needs special handling.
  Unknown | This class represents a reference to an unknown (i.e., application-specific) attribute of a class.
  Utility | Utility functions that do not really belong to any class in particular.

- Exception Summary
  Exception | Description
  --- | ---
  ClassFormatException | Thrown when the BCEL attempts to read a class file and determines that a class is malformed or otherwise cannot be interpreted as a class file.

## Package org.apache.bcel.classfile Description

This package contains the classes that describe the structure of a Java class file and a class file parser.

Copyright © 2004–2022 The Apache Software Foundation. All rights reserved.