Package org.apache.commons.compress.harmony.unpack200.bytecode

# Class NewAttribute

java.lang.Object
org.apache.commons.compress.harmony.unpack200.bytecode.ClassFileEntry
org.apache.commons.compress.harmony.unpack200.bytecode.Attribute
org.apache.commons.compress.harmony.unpack200.bytecode.BCIRenumberedAttribute
org.apache.commons.compress.harmony.unpack200.bytecode.NewAttribute

public class NewAttribute extends BCIRenumberedAttribute
A compressor-defined class file attribute.

- ## Field Summary

  ### Fields inherited from class org.apache.commons.compress.harmony.unpack200.bytecode.BCIRenumberedAttribute

  `renumbered`

  ### Fields inherited from class org.apache.commons.compress.harmony.unpack200.bytecode.Attribute

  `attributeName`

  ### Fields inherited from class org.apache.commons.compress.harmony.unpack200.bytecode.ClassFileEntry

  `NONE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `NewAttribute(CPUTF8 attributeName, int layoutIndex)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addBCIndex(int length, int value)`
  `void`
  `addBCLength(int length, int value)`
  `void`
  `addBCOffset(int length, int value)`
  `void`
  `addInteger(int length, long value)`
  `void`
  `addToBody(int length, Object value)`
  `int`
  `getLayoutIndex()`
  `protected int`
  `getLength()`
  Gets the length.
  `protected ClassFileEntry[]`
  `getNestedClassFileEntries()`
  Returns an empty array.
  `protected int[]`
  `getStartPCs()`
  Gets the array of indices for the start of line numbers.
  `void`
  `renumber(List<Integer> byteCodeOffsets)`
  In Pack200, line number tables are BCI renumbered.
  `protected void`
  `resolve(ClassConstantPool pool)`
  Allows the constant pool entries to resolve their nested entries.
  `String`
  `toString()`
  `protected void`
  `writeBody(DataOutputStream dos)`
  Writes this body to the given output stream.

  ### Methods inherited from class org.apache.commons.compress.harmony.unpack200.bytecode.BCIRenumberedAttribute

  `hasBCIRenumbering`

  ### Methods inherited from class org.apache.commons.compress.harmony.unpack200.bytecode.Attribute

  `doWrite, equals, getAttributeName, getLengthIncludingHeader, hashCode, isSourceFileAttribute`

  ### Methods inherited from class org.apache.commons.compress.harmony.unpack200.bytecode.ClassFileEntry

  `objectHashCode, write`

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

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### NewAttribute

    public NewAttribute(CPUTF8 attributeName, int layoutIndex)

- ## Method Details

  - ### addBCIndex

    public void addBCIndex(int length, int value)

  - ### addBCLength

    public void addBCLength(int length, int value)

  - ### addBCOffset

    public void addBCOffset(int length, int value)

  - ### addInteger

    public void addInteger(int length, long value)

  - ### addToBody

    public void addToBody(int length, Object value)

  - ### getLayoutIndex

    public int getLayoutIndex()

  - ### getLength

    protected int getLength()
    Description copied from class: `Attribute`
    Gets the length.
    Specified by:
      `getLength` in class `BCIRenumberedAttribute`
    Returns:
      the length.

  - ### getNestedClassFileEntries

    protected ClassFileEntry[] getNestedClassFileEntries()
    Description copied from class: `ClassFileEntry`
    Returns an empty array.
    Overrides:
      `getNestedClassFileEntries` in class `Attribute`
    Returns:
      an empty array.

  - ### getStartPCs

    protected int[] getStartPCs()
    Description copied from class: `BCIRenumberedAttribute`
    Gets the array of indices for the start of line numbers.
    Specified by:
      `getStartPCs` in class `BCIRenumberedAttribute`
    Returns:
      the array of indices for the start of line numbers.

  - ### renumber

    public void renumber(List<Integer> byteCodeOffsets)
    Description copied from class: `BCIRenumberedAttribute`
    In Pack200, line number tables are BCI renumbered. This method takes the byteCodeOffsets (which is a List of Integers specifying the offset in the byte code array of each instruction) and updates the start_pcs so that it points to the instruction index itself, not the BCI renumbering of the instruction.
    Overrides:
      `renumber` in class `BCIRenumberedAttribute`
    Parameters:
      `byteCodeOffsets` - List of Integer offsets of the byte code array.

  - ### resolve

    protected void resolve(ClassConstantPool pool)
    Description copied from class: `ClassFileEntry`
    Allows the constant pool entries to resolve their nested entries.
    Overrides:
      `resolve` in class `Attribute`
    Parameters:
      `pool` - The class constant pool.

  - ### toString

    public String toString()
    Specified by:
      `toString` in class `BCIRenumberedAttribute`

  - ### writeBody

    protected void writeBody(DataOutputStream dos) throws IOException
    Description copied from class: `Attribute`
    Writes this body to the given output stream.
    Specified by:
      `writeBody` in class `BCIRenumberedAttribute`
    Parameters:
      `dos` - the output stream.
    Throws:
      `IOException` - if an I/O error occurs.