org.apache.commons.compress.harmony.pack200

## Class NewAttributeBands

- java.lang.Object
- - org.apache.commons.compress.harmony.pack200.BandSet
  - - org.apache.commons.compress.harmony.pack200.NewAttributeBands

-     public class NewAttributeBands
      extends BandSet

  Set of bands relating to a non-predefined attribute that has had a layout definition given to pack200 (e.g. via one of the -C, -M, -F or -D command line options)

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static interface` | `NewAttributeBands.AttributeLayoutElement` An AttributeLayoutElement is a part of an attribute layout and has one or more bands associated with it, which transmit the AttributeElement data for successive Attributes of this type.
    `class` | `NewAttributeBands.Call`
    `class` | `NewAttributeBands.Callable`
    `class` | `NewAttributeBands.Integral`
    `class` | `NewAttributeBands.LayoutElement`
    `class` | `NewAttributeBands.Reference` Constant Pool Reference
    `class` | `NewAttributeBands.Replication` A replication is an array of layout elements, with an associated count
    `class` | `NewAttributeBands.Union` A Union is a type of layout element where the tag value acts as a selector for one of the union cases
    `class` | `NewAttributeBands.UnionCase` A Union case

    - ### Nested classes/interfaces inherited from class org.apache.commons.compress.harmony.pack200.BandSet

      `BandSet.BandAnalysisResults, BandSet.BandData`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected List<NewAttributeBands.AttributeLayoutElement>` | `attributeLayoutElements`

    - ### Fields inherited from class org.apache.commons.compress.harmony.pack200.BandSet

      `segmentHeader`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `NewAttributeBands(int effort, CpBands cpBands, SegmentHeader header, AttributeDefinitionBands.AttributeDefinition def)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addAttribute(NewAttribute attribute)`
    `String` | `getAttributeName()`
    `int` | `getFlagIndex()`
    `boolean` | `isUsedAtLeastOnce()`
    `int[]` | `numBackwardsCalls()`
    `void` | `pack(OutputStream outputStream)` Write the packed set of bands to the given output stream
    `void` | `renumberBci(IntList bciRenumbering, Map<org.objectweb.asm.Label,Integer> labelsToOffsets)` Renumber any bytecode indexes or offsets as described in section 5.5.2 of the pack200 specification

    - ### Methods inherited from class org.apache.commons.compress.harmony.pack200.BandSet

      `cpEntryListToArray, cpEntryOrNullListToArray, encodeBandInt, encodeFlags, encodeFlags, encodeScalar, encodeScalar, integerListToArray, longListToArray`

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

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

- - ### Field Detail

    - #### attributeLayoutElements

          protected List<NewAttributeBands.AttributeLayoutElement> attributeLayoutElements

  - ### Constructor Detail

    - #### NewAttributeBands

          public NewAttributeBands(int effort,
                                   CpBands cpBands,
                                   SegmentHeader header,
                                   AttributeDefinitionBands.AttributeDefinition def)
                            throws IOException

      Throws:
        `IOException`

  - ### Method Detail

    - #### addAttribute

          public void addAttribute(NewAttribute attribute)

    - #### getAttributeName

          public String getAttributeName()

    - #### getFlagIndex

          public int getFlagIndex()

    - #### isUsedAtLeastOnce

          public boolean isUsedAtLeastOnce()

    - #### numBackwardsCalls

          public int[] numBackwardsCalls()

    - #### pack

          public void pack(OutputStream outputStream)
                    throws IOException,
                           Pack200Exception

      Description copied from class: `BandSet`
      Write the packed set of bands to the given output stream
      Specified by:
        `pack` in class `BandSet`
      Parameters:
        `outputStream` - TODO
      Throws:
        `IOException` - If an I/O error occurs.
        `Pack200Exception` - TODO

    - #### renumberBci

          public void renumberBci(IntList bciRenumbering,
                                  Map<org.objectweb.asm.Label,Integer> labelsToOffsets)

      Renumber any bytecode indexes or offsets as described in section 5.5.2 of the pack200 specification
      Parameters:
        `bciRenumbering` - TODO
        `labelsToOffsets` - TODO

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