Top Description Fields Constructors Methods
org.apache.commons.compress.harmony.unpack200

public Class ClassBands

extends BandSet
Class Inheritance
Imports
java.io.IOException, .InputStream, java.util.ArrayList, .Arrays, .List, java.util.stream.Collectors, .Stream, org.apache.commons.compress.harmony.pack200.Codec, .Pack200Exception, org.apache.commons.compress.harmony.unpack200.bytecode.Attribute, .CPClass, .CPNameAndType, .CPUTF8, .ClassFileEntry, .ConstantValueAttribute, .DeprecatedAttribute, .EnclosingMethodAttribute, .ExceptionsAttribute, .LineNumberTableAttribute, .LocalVariableTableAttribute, .LocalVariableTypeTableAttribute, .SignatureAttribute, .SourceFileAttribute

Class Bands

Field Summary

Modifier and TypeField and Description
private final AttributeLayoutMap
private long[]
private ArrayList<Attribute>[]
private final int
private int[]
private long[]
private int[][]
private int[]
private int[]
private String[]
private int[]
private int[]
private int[]
private List<Attribute>[]
private int[][]
private int[][]
private int[]
private int[][]
private int[][]
private boolean[]
private int[]
private int[]
private final CpBands
private long[][]
private ArrayList<Attribute>[][]
private String[][]
private int[][]
private long[][]
private IcTuple[][]
private long[][]
private int[]
private ArrayList<Attribute>[][]
private String[][]
private int[][]
private long[][]
private final SegmentOptions
Inherited from org.apache.commons.compress.harmony.unpack200.BandSet:
headersegment

Constructor Summary

AccessConstructor and Description
public
ClassBands(final Segment
TODO
segment
)

Method Summary

Modifier and TypeMethod and Description
private int
getCallCount(final int[][] methodAttrIndexes, final long[][] flags, final int context)

public ArrayList<Attribute>[]
public int[]
public long[]
public int[][]
public int[]
public int[]
public int[]
public int[]

Returns:

Class file major version numbers, or null if none specified
getClassVersionMajor
()

Returns null if all classes should use the default major and minor version or an array of integers containing the major version numberss to use for each class in the segment

public int[]

Returns:

Class file minor version numbers, or null if none specified
getClassVersionMinor
()

Returns null if all classes should use the default major and minor version or an array of integers containing the minor version numberss to use for each class in the segment

public int[][]
public int[][]
public int[]
public int[][]
public int[][]
public boolean[]
public int[]
public int[]
public ArrayList<Attribute>[][]
public int[][]
public long[][]
public IcTuple[][]
public ArrayList<Attribute>[][]
public String[][]
public int[][]
public long[][]
public ArrayList<List<Attribute>>

Returns:

ArrayList
getOrderedCodeAttributes
()

Gets an ArrayList of ArrayLists which hold the code attributes corresponding to all classes in order.

public long[]
private void
private int

Returns:

the number of backwards callables.
parseClassMetadataBands
(final InputStream
TODO
in
,
final int[]
TODO
classAttrCalls
)

Parse the class metadata bands and return the number of backwards callables.

private void
parseCodeAttrBands(final InputStream in, final int codeFlagsCount)

private void
private void
private void
private int
parseFieldMetadataBands(final InputStream in, final int[] fieldAttrCalls)

private MetadataBandGroup[]
parseMetadata(final InputStream in, final String[] RxA, final int[] RxACount, final int[] backwardsCallCounts, final String contextName)

private void
private void
private int
parseMethodMetadataBands(final InputStream in, final int[] methodAttrCalls)

public void
public void
Inherited from org.apache.commons.compress.harmony.unpack200.BandSet:
decodeBandIntdecodeBandIntgetReferencesgetReferencesparseCPClassReferencesparseCPDescriptorReferencesparseCPDoubleReferencesparseCPFieldRefReferencesparseCPFloatReferencesparseCPInterfaceMethodRefReferencesparseCPIntReferencesparseCPLongReferencesparseCPMethodRefReferencesparseCPSignatureReferencesparseCPSignatureReferencesparseCPStringReferencesparseCPUTF8ReferencesparseCPUTF8ReferencesparseFlagsparseFlagsparseFlagsparseFlagsparseReferencesparseReferencesunpack

Field Detail

attrMapback to summary
private final AttributeLayoutMap attrMap
classAccessFlagsback to summary
private long[] classAccessFlags
classAttributesback to summary
private ArrayList<Attribute>[] classAttributes
classCountback to summary
private final int classCount
classFieldCountback to summary
private int[] classFieldCount
classFlagsback to summary
private long[] classFlags
classInterfacesIntsback to summary
private int[][] classInterfacesInts
classMethodCountback to summary
private int[] classMethodCount
classSuperIntsback to summary
private int[] classSuperInts
classThisback to summary
private String[] classThis
classThisIntsback to summary
private int[] classThisInts
classVersionMajorback to summary
private int[] classVersionMajor
classVersionMinorback to summary
private int[] classVersionMinor
codeAttributesback to summary
private List<Attribute>[] codeAttributes
codeHandlerCatchPOback to summary
private int[][] codeHandlerCatchPO
codeHandlerClassRCNback to summary
private int[][] codeHandlerClassRCN
codeHandlerCountback to summary
private int[] codeHandlerCount
codeHandlerEndPOback to summary
private int[][] codeHandlerEndPO
codeHandlerStartPback to summary
private int[][] codeHandlerStartP
codeHasAttributesback to summary
private boolean[] codeHasAttributes
codeMaxNALocalsback to summary
private int[] codeMaxNALocals
codeMaxStackback to summary
private int[] codeMaxStack
cpBandsback to summary
private final CpBands cpBands
fieldAccessFlagsback to summary
private long[][] fieldAccessFlags
fieldAttributesback to summary
private ArrayList<Attribute>[][] fieldAttributes
fieldDescrback to summary
private String[][] fieldDescr
fieldDescrIntsback to summary
private int[][] fieldDescrInts
fieldFlagsback to summary
private long[][] fieldFlags
icLocalback to summary
private IcTuple[][] icLocal
methodAccessFlagsback to summary
private long[][] methodAccessFlags
methodAttrCallsback to summary
private int[] methodAttrCalls
methodAttributesback to summary
private ArrayList<Attribute>[][] methodAttributes
methodDescrback to summary
private String[][] methodDescr
methodDescrIntsback to summary
private int[][] methodDescrInts
methodFlagsback to summary
private long[][] methodFlags
optionsback to summary
private final SegmentOptions options

Constructor Detail

ClassBandsback to summary
public ClassBands(final Segment segment)
Parameters
segment:Segment

TODO

Method Detail

getCallCountback to summary
private int getCallCount(final int[][] methodAttrIndexes, final long[][] flags, final int context)
getClassAttributesback to summary
public ArrayList<Attribute>[] getClassAttributes()
getClassFieldCountback to summary
public int[] getClassFieldCount()
getClassFlagsback to summary
public long[] getClassFlags()
getClassInterfacesIntsback to summary
public int[][] getClassInterfacesInts()
getClassMethodCountback to summary
public int[] getClassMethodCount()
getClassSuperIntsback to summary
public int[] getClassSuperInts()
getClassThisIntsback to summary
public int[] getClassThisInts()
getClassVersionMajorback to summary
public int[] getClassVersionMajor()

Returns null if all classes should use the default major and minor version or an array of integers containing the major version numberss to use for each class in the segment

Returns:int[]

Class file major version numbers, or null if none specified

getClassVersionMinorback to summary
public int[] getClassVersionMinor()

Returns null if all classes should use the default major and minor version or an array of integers containing the minor version numberss to use for each class in the segment

Returns:int[]

Class file minor version numbers, or null if none specified

getCodeHandlerCatchPOback to summary
public int[][] getCodeHandlerCatchPO()
getCodeHandlerClassRCNback to summary
public int[][] getCodeHandlerClassRCN()
getCodeHandlerCountback to summary
public int[] getCodeHandlerCount()
getCodeHandlerEndPOback to summary
public int[][] getCodeHandlerEndPO()
getCodeHandlerStartPback to summary
public int[][] getCodeHandlerStartP()
getCodeHasAttributesback to summary
public boolean[] getCodeHasAttributes()
getCodeMaxNALocalsback to summary
public int[] getCodeMaxNALocals()
getCodeMaxStackback to summary
public int[] getCodeMaxStack()
getFieldAttributesback to summary
public ArrayList<Attribute>[][] getFieldAttributes()
getFieldDescrIntsback to summary
public int[][] getFieldDescrInts()
getFieldFlagsback to summary
public long[][] getFieldFlags()
getIcLocalback to summary
public IcTuple[][] getIcLocal()
getMethodAttributesback to summary
public ArrayList<Attribute>[][] getMethodAttributes()
getMethodDescrback to summary
public String[][] getMethodDescr()
getMethodDescrIntsback to summary
public int[][] getMethodDescrInts()
getMethodFlagsback to summary
public long[][] getMethodFlags()
getOrderedCodeAttributesback to summary
public ArrayList<List<Attribute>> getOrderedCodeAttributes()

Gets an ArrayList of ArrayLists which hold the code attributes corresponding to all classes in order. If a class doesn't have any attributes, the corresponding element in this list will be an empty ArrayList.

Returns:ArrayList<List<Attribute>>

ArrayList

getRawClassFlagsback to summary
public long[] getRawClassFlags()
parseClassAttrBandsback to summary
private void parseClassAttrBands(final InputStream in) throws IOException, Pack200Exception
parseClassMetadataBandsback to summary
private int parseClassMetadataBands(final InputStream in, final int[] classAttrCalls) throws Pack200Exception, IOException

Parse the class metadata bands and return the number of backwards callables.

Parameters
in:InputStream

TODO

classAttrCalls:int[]

TODO

Returns:int

the number of backwards callables.

Exceptions
Pack200Exception:
TODO
IOException:
If an I/O error occurs.
parseCodeAttrBandsback to summary
private void parseCodeAttrBands(final InputStream in, final int codeFlagsCount) throws IOException, Pack200Exception
parseCodeBandsback to summary
private void parseCodeBands(final InputStream in) throws Pack200Exception, IOException
parseFieldAttrBandsback to summary
private void parseFieldAttrBands(final InputStream in) throws IOException, Pack200Exception
parseFieldBandsback to summary
private void parseFieldBands(final InputStream in) throws IOException, Pack200Exception
parseFieldMetadataBandsback to summary
private int parseFieldMetadataBands(final InputStream in, final int[] fieldAttrCalls) throws Pack200Exception, IOException
parseMetadataback to summary
private MetadataBandGroup[] parseMetadata(final InputStream in, final String[] RxA, final int[] RxACount, final int[] backwardsCallCounts, final String contextName) throws IOException, Pack200Exception
parseMethodAttrBandsback to summary
private void parseMethodAttrBands(final InputStream in) throws IOException, Pack200Exception
parseMethodBandsback to summary
private void parseMethodBands(final InputStream in) throws IOException, Pack200Exception
parseMethodMetadataBandsback to summary
private int parseMethodMetadataBands(final InputStream in, final int[] methodAttrCalls) throws Pack200Exception, IOException
readback to summary
public void read(final InputStream in) throws IOException, Pack200Exception

Implements abstract org.apache.commons.compress.harmony.unpack200.BandSet.read.

Annotations
@Override
unpackback to summary
public void unpack()

Implements abstract org.apache.commons.compress.harmony.unpack200.BandSet.unpack.

Annotations
@Override