org.eclipse.jdt.core.util

## Class ClassFileBytesDisassembler

- java.lang.Object
- - org.eclipse.jdt.core.util.ClassFileBytesDisassembler

    public abstract class ClassFileBytesDisassembler
    extends Object

This class is intended to be subclassed to disassemble classfile bytes onto a String using the proper line separator.

Since:
  2.1

### Field Summary

Fields
`static int` `COMPACT` This mode is used to compact the class name to a simple name instead of a qualified name.
`static int` `DEFAULT` The mode is the default mode to disassemble IClassFileReader.
`static int` `DETAILED` The mode is the detailed mode to disassemble IClassFileReader.
`static int` `SYSTEM` This mode corresponds to the detailed mode plus the constant pool contents and any further information that would be useful for debugging purpose.
`static int` `WORKING_COPY` This mode is used to retrive a pseudo code for working copy purpose.

### Constructor Summary

Constructors
Constructor and Description
`ClassFileBytesDisassembler()`

### Method Summary

All Methods Instance Methods Abstract Methods
`abstract String` `disassemble(byte[] classFileBytes, String lineSeparator)` Answers back the disassembled string of the classfile bytes using the default mode.
`abstract String` `disassemble(byte[] classFileBytes, String lineSeparator, int mode)` Answers back the disassembled string of the classfile bytes according to the mode.
`abstract String` `getDescription()` Answers a readable short description of this disassembler

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

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

### Field Detail

#### DETAILED

    public static final int DETAILED

The mode is the detailed mode to disassemble IClassFileReader. It returns the magic numbers, the version numbers and field and method descriptors.

See Also:
  Constant Field Values

#### DEFAULT

    public static final int DEFAULT

The mode is the default mode to disassemble IClassFileReader.

See Also:
  Constant Field Values

#### SYSTEM

    public static final int SYSTEM

This mode corresponds to the detailed mode plus the constant pool contents and any further information that would be useful for debugging purpose.

Since:
  3.1
See Also:
  Constant Field Values

#### COMPACT

    public static final int COMPACT

This mode is used to compact the class name to a simple name instead of a qualified name.

Since:
  3.1
See Also:
  Constant Field Values

#### WORKING_COPY

    public static final int WORKING_COPY

This mode is used to retrive a pseudo code for working copy purpose.

Since:
  3.2
See Also:
  Constant Field Values

### Constructor Detail

#### ClassFileBytesDisassembler

    public ClassFileBytesDisassembler()

### Method Detail

#### disassemble

    public abstract String disassemble(byte[] classFileBytes,
                                       String lineSeparator)
                                throws ClassFormatException

Answers back the disassembled string of the classfile bytes using the default mode. This is an output quite similar to the javap tool, using DEFAULT mode.

Parameters:
  `classFileBytes` - The bytes of the classfile
  `lineSeparator` - the line separator to use.
Returns:
  the disassembled string of the IClassFileReader using the default mode.
Throws:
  `ClassFormatException` - if the classfile bytes are ill-formed

#### disassemble

    public abstract String disassemble(byte[] classFileBytes,
                                       String lineSeparator,
                                       int mode)
                                throws ClassFormatException

Answers back the disassembled string of the classfile bytes according to the mode. This is an output quite similar to the javap tool.

Parameters:
  `classFileBytes` - The bytes of the classfile
  `lineSeparator` - the line separator to use.
  `mode` - the mode used to disassemble the IClassFileReader
Returns:
  the disassembled string of the IClassFileReader according to the mode
Throws:
  `ClassFormatException` - if the classfile bytes are ill-formed

#### getDescription

    public abstract String getDescription()

Answers a readable short description of this disassembler

Returns:
  String - a string description of the disassembler