Package 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
Sets 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
  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
  Description
  `protected List<NewAttributeBands.AttributeLayoutElement>`
  `attributeLayoutElements`

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

  `segmentHeader`

- ## Constructor Summary

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

- ## Method Summary

  Modifier and Type
  Method
  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 Details

  - ### attributeLayoutElements

    protected List<NewAttributeBands.AttributeLayoutElement> attributeLayoutElements

- ## Constructor Details

  - ### NewAttributeBands

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

- ## Method Details

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