Package classycle.classfile

# Class Constant

java.lang.Object
classycle.classfile.Constant

Direct Known Subclasses:
  `ClassConstant`, `DoubleConstant`, `FloatConstant`, `IntConstant`, `InvokeDynamicConstant`, `LongConstant`, `MethodHandleConstant`, `MethodTypeConstant`, `NameAndTypeConstant`, `RefConstant`, `StringConstant`, `UTF8Constant`

public abstract class Constant extends Object
Abstract super class of all type of constants in the constant pool of a class file.

Author:
  Franz-Josef Elmer

## Constructor Summary

Constructors
Constructor
Description
`Constant(Constant[] pool)`
Creates an instance.

## Method Summary

Modifier and Type
Method
Description
`static Constant[]`
`extractConstantPool(DataInputStream stream)`
Extracts the constant pool from the specified data stream of a class file.
`Constant`
`getConstant(int index)`
Returns the specified constant from the pool.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### Constant

public Constant(Constant[] pool)
Creates an instance.

Parameters:
  `pool` - The poole which will be needed to resolve references.

## Method Details

### extractConstantPool

public static Constant[] extractConstantPool(DataInputStream stream) throws IOException
Extracts the constant pool from the specified data stream of a class file.

Parameters:
  `stream` - Input stream of a class file starting at the first byte.
Returns:
  extracted array of constants.
Throws:
  `IOException` - in case of reading errors or invalid class file.

### getConstant

public Constant getConstant(int index)
Returns the specified constant from the pool.

Parameters:
  `index` - Index of requested constant.