public abstract class BandSet extends Object
Modifier and Type | Field and Description |
---|---|
protected SegmentHeader |
header |
protected Segment |
segment |
Modifier and Type | Method and Description |
---|---|
int[] |
decodeBandInt(String name,
InputStream in,
BHSDCodec codec,
int count)
Decode a band and return an array of
int values |
int[][] |
decodeBandInt(String name,
InputStream in,
BHSDCodec defaultCodec,
int[] counts)
Decode a band and return an array of
int[] values |
protected String[][] |
getReferences(int[][] ints,
String[] reference) |
protected String[] |
getReferences(int[] ints,
String[] reference) |
CPClass[] |
parseCPClassReferences(String name,
InputStream in,
BHSDCodec codec,
int count) |
CPNameAndType[] |
parseCPDescriptorReferences(String name,
InputStream in,
BHSDCodec codec,
int count) |
CPDouble[] |
parseCPDoubleReferences(String name,
InputStream in,
BHSDCodec codec,
int count) |
CPFieldRef[] |
parseCPFieldRefReferences(String name,
InputStream in,
BHSDCodec codec,
int count) |
CPFloat[] |
parseCPFloatReferences(String name,
InputStream in,
BHSDCodec codec,
int count) |
CPInterfaceMethodRef[] |
parseCPInterfaceMethodRefReferences(String name,
InputStream in,
BHSDCodec codec,
int count) |
CPInteger[] |
parseCPIntReferences(String name,
InputStream in,
BHSDCodec codec,
int count) |
CPLong[] |
parseCPLongReferences(String name,
InputStream in,
BHSDCodec codec,
int count) |
CPMethodRef[] |
parseCPMethodRefReferences(String name,
InputStream in,
BHSDCodec codec,
int count) |
CPUTF8[] |
parseCPSignatureReferences(String name,
InputStream in,
BHSDCodec codec,
int count) |
protected CPUTF8[][] |
parseCPSignatureReferences(String name,
InputStream in,
BHSDCodec codec,
int[] counts) |
CPString[] |
parseCPStringReferences(String name,
InputStream in,
BHSDCodec codec,
int count) |
CPUTF8[] |
parseCPUTF8References(String name,
InputStream in,
BHSDCodec codec,
int count) |
CPUTF8[][] |
parseCPUTF8References(String name,
InputStream in,
BHSDCodec codec,
int[] counts) |
long[][] |
parseFlags(String name,
InputStream in,
int[] counts,
BHSDCodec hiCodec,
BHSDCodec loCodec) |
long[][] |
parseFlags(String name,
InputStream in,
int[] counts,
BHSDCodec codec,
boolean hasHi) |
long[] |
parseFlags(String name,
InputStream in,
int count,
BHSDCodec hiCodec,
BHSDCodec loCodec) |
long[] |
parseFlags(String name,
InputStream in,
int count,
BHSDCodec codec,
boolean hasHi) |
String[][] |
parseReferences(String name,
InputStream in,
BHSDCodec codec,
int[] counts,
String[] reference)
Parses count references from
in , using codec to decode the values as indexes
into reference (which is populated prior to this call). |
String[] |
parseReferences(String name,
InputStream in,
BHSDCodec codec,
int count,
String[] reference)
Parses count references from
in , using codec to decode the values as indexes
into reference (which is populated prior to this call). |
abstract void |
read(InputStream inputStream) |
abstract void |
unpack() |
void |
unpack(InputStream in) |
protected SegmentHeader header
public abstract void read(InputStream inputStream) throws IOException, Pack200Exception
IOException
Pack200Exception
public abstract void unpack() throws IOException, Pack200Exception
IOException
Pack200Exception
public void unpack(InputStream in) throws IOException, Pack200Exception
IOException
Pack200Exception
public int[] decodeBandInt(String name, InputStream in, BHSDCodec codec, int count) throws IOException, Pack200Exception
int
valuesname
- the name of the band (primarily for logging/debugging purposes)in
- the InputStream to decode fromcodec
- the default Codec for this bandcount
- the number of elements to readint
valuesIOException
- if there is a problem reading from the underlying input streamPack200Exception
- if there is a problem decoding the value or that the value is invalidpublic int[][] decodeBandInt(String name, InputStream in, BHSDCodec defaultCodec, int[] counts) throws IOException, Pack200Exception
int[]
valuesname
- the name of the band (primarily for logging/debugging purposes)in
- the InputStream to decode fromdefaultCodec
- the default codec for this bandcounts
- the numbers of elements to read for each int array within the array to be returnedint[]
valuesIOException
- if there is a problem reading from the underlying input streamPack200Exception
- if there is a problem decoding the value or that the value is invalidpublic long[] parseFlags(String name, InputStream in, int count, BHSDCodec codec, boolean hasHi) throws IOException, Pack200Exception
IOException
Pack200Exception
public long[][] parseFlags(String name, InputStream in, int[] counts, BHSDCodec codec, boolean hasHi) throws IOException, Pack200Exception
IOException
Pack200Exception
public long[] parseFlags(String name, InputStream in, int count, BHSDCodec hiCodec, BHSDCodec loCodec) throws IOException, Pack200Exception
IOException
Pack200Exception
public long[][] parseFlags(String name, InputStream in, int[] counts, BHSDCodec hiCodec, BHSDCodec loCodec) throws IOException, Pack200Exception
IOException
Pack200Exception
public String[] parseReferences(String name, InputStream in, BHSDCodec codec, int count, String[] reference) throws IOException, Pack200Exception
in
, using codec
to decode the values as indexes
into reference
(which is populated prior to this call). An exception is thrown if a decoded index
falls outside the range [0..reference.length-1].name
- the band namein
- the input stream to read fromcodec
- the BHSDCodec to use for decodingcount
- the number of references to decodereference
- the array of values to use for the referencesIOException
- if a problem occurs during reading from the underlying streamPack200Exception
- if a problem occurs with an unexpected value or unsupported Codecpublic String[][] parseReferences(String name, InputStream in, BHSDCodec codec, int[] counts, String[] reference) throws IOException, Pack200Exception
in
, using codec
to decode the values as indexes
into reference
(which is populated prior to this call). An exception is thrown if a decoded index
falls outside the range [0..reference.length-1]. Unlike the other parseReferences, this post-processes the result
into an array of results.name
- TODOin
- the input stream to read fromcodec
- the BHSDCodec to use for decodingcounts
- the numbers of references to decode for each array entryreference
- the array of values to use for the referencesIOException
- if a problem occurs during reading from the underlying streamPack200Exception
- if a problem occurs with an unexpected value or unsupported Codecpublic CPInteger[] parseCPIntReferences(String name, InputStream in, BHSDCodec codec, int count) throws IOException, Pack200Exception
IOException
Pack200Exception
public CPDouble[] parseCPDoubleReferences(String name, InputStream in, BHSDCodec codec, int count) throws IOException, Pack200Exception
IOException
Pack200Exception
public CPFloat[] parseCPFloatReferences(String name, InputStream in, BHSDCodec codec, int count) throws IOException, Pack200Exception
IOException
Pack200Exception
public CPLong[] parseCPLongReferences(String name, InputStream in, BHSDCodec codec, int count) throws IOException, Pack200Exception
IOException
Pack200Exception
public CPUTF8[] parseCPUTF8References(String name, InputStream in, BHSDCodec codec, int count) throws IOException, Pack200Exception
IOException
Pack200Exception
public CPUTF8[][] parseCPUTF8References(String name, InputStream in, BHSDCodec codec, int[] counts) throws IOException, Pack200Exception
IOException
Pack200Exception
public CPString[] parseCPStringReferences(String name, InputStream in, BHSDCodec codec, int count) throws IOException, Pack200Exception
IOException
Pack200Exception
public CPInterfaceMethodRef[] parseCPInterfaceMethodRefReferences(String name, InputStream in, BHSDCodec codec, int count) throws IOException, Pack200Exception
IOException
Pack200Exception
public CPMethodRef[] parseCPMethodRefReferences(String name, InputStream in, BHSDCodec codec, int count) throws IOException, Pack200Exception
IOException
Pack200Exception
public CPFieldRef[] parseCPFieldRefReferences(String name, InputStream in, BHSDCodec codec, int count) throws IOException, Pack200Exception
IOException
Pack200Exception
public CPNameAndType[] parseCPDescriptorReferences(String name, InputStream in, BHSDCodec codec, int count) throws IOException, Pack200Exception
IOException
Pack200Exception
public CPUTF8[] parseCPSignatureReferences(String name, InputStream in, BHSDCodec codec, int count) throws IOException, Pack200Exception
IOException
Pack200Exception
protected CPUTF8[][] parseCPSignatureReferences(String name, InputStream in, BHSDCodec codec, int[] counts) throws IOException, Pack200Exception
IOException
Pack200Exception
public CPClass[] parseCPClassReferences(String name, InputStream in, BHSDCodec codec, int count) throws IOException, Pack200Exception
IOException
Pack200Exception
protected String[] getReferences(int[] ints, String[] reference)
protected String[][] getReferences(int[][] ints, String[] reference)
Copyright © 2002–2022 The Apache Software Foundation. All rights reserved.