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 and Description
    `NewAttribute(CPUTF8 attributeName, int layoutIndex)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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()`
    `protected ClassFileEntry[]` | `getNestedClassFileEntries()`
    `protected int[]` | `getStartPCs()`
    `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)`

    - ### 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 Detail

    - #### NewAttribute

          public NewAttribute(CPUTF8 attributeName,
                              int layoutIndex)

  - ### Method Detail

    - #### 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()

      Specified by:
        `getLength` in class `BCIRenumberedAttribute`

    - #### getNestedClassFileEntries

          protected ClassFileEntry[] getNestedClassFileEntries()

      Overrides:
        `getNestedClassFileEntries` in class `Attribute`

    - #### getStartPCs

          protected int[] getStartPCs()

      Specified by:
        `getStartPCs` in class `BCIRenumberedAttribute`

    - #### 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 bytecode 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` - TODO

    - #### toString

          public String toString()

      Specified by:
        `toString` in class `BCIRenumberedAttribute`

    - #### writeBody

          protected void writeBody(DataOutputStream dos)
                            throws IOException

      Specified by:
        `writeBody` in class `BCIRenumberedAttribute`
      Throws:
        `IOException`

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