public List<Object> parse(byte[] bytes) throws IOException {
input = new DataInput(bytes);
hstemCount = 0;
vstemCount = 0;
sequence = new ArrayList< Object >();
while (input.hasRemaining())
{
int b0 = input.readUnsignedByte();
if (b0 >= 0 && b0 < = 27)
{
sequence.add(readCommand(b0));
}
else if (b0 == 28)
{
sequence.add(readNumber(b0));
}
else if (b0 >= 29 && b0 < = 31)
{
sequence.add(readCommand(b0));
}
else if (b0 >= 32 && b0 < = 255)
{
sequence.add(readNumber(b0));
}
else
{
throw new IllegalArgumentException();
}
}
return sequence;
}
The given byte array will be parsed and converted to a Type2 sequence. |