public class DecodingContext extends AbstractDecodingContext
Modifier and Type | Field and Description |
---|---|
protected byte |
bitfield
The current bitfield (used for boolean values).
|
protected byte |
bitpos
The current bit position within the bitfield
|
protected java.util.List<java.lang.String> |
classnamepool
The class name pool.
|
protected byte[] |
content
The content being decoded.
|
protected int |
offset
The current offset
|
protected java.util.List<java.lang.String> |
pkgpool
The package fragment pool.
|
protected java.util.List<java.lang.String> |
stringpool
The String pool.
|
classloader, currentclassname, decoderhandlers, errorreporter, knownobjects, lastobject, postprocessors, usercontext
Constructor and Description |
---|
DecodingContext(byte[] content,
java.util.List<IDecoderHandler> decoderhandlers,
java.util.List<IDecoderHandler> postprocessors,
java.lang.Object usercontext,
java.lang.ClassLoader classloader,
IErrorReporter errorreporter)
Creates a new DecodingContext.
|
DecodingContext(byte[] content,
java.util.List<IDecoderHandler> decoderhandlers,
java.util.List<IDecoderHandler> postprocessors,
java.lang.Object usercontext,
java.lang.ClassLoader classloader,
IErrorReporter errorreporter,
int offset)
Creates a new DecodingContext with specific offset.
|
Modifier and Type | Method and Description |
---|---|
java.nio.ByteBuffer |
getByteBuffer(int length)
Gets a ByteBuffer window of the content.
|
byte[] |
getContent()
Gets the content being decoded.
|
int |
getCurrentOffset()
Returns the current offset of the decoding process for debugging.
|
int |
getOffset()
Gets the current offset.
|
void |
incOffset(int val)
Increases the offset.
|
byte[] |
read(byte[] array)
Reads a number of bytes from the buffer and fills the array.
|
byte[] |
read(int count)
Reads a number of bytes from the buffer.
|
boolean |
readBoolean()
Reads a boolean value from the buffer.
|
byte |
readByte()
Reads a byte from the buffer.
|
java.lang.String |
readClassname()
Helper method for decoding a class name.
|
long |
readSignedVarInt()
Helper method for decoding a signed variable-sized integer (VarInt).
|
java.lang.String |
readString()
Helper method for decoding a string.
|
long |
readVarInt()
Helper method for decoding a variable-sized integer (VarInt).
|
getClassloader, getCurrentClassName, getDecoderHandlers, getErrorReporter, getKnownObjects, getLastObject, getPostProcessors, getUserContext, setCurrentClassName, setLastObject
protected byte[] content
protected int offset
protected java.util.List<java.lang.String> stringpool
protected java.util.List<java.lang.String> classnamepool
protected java.util.List<java.lang.String> pkgpool
protected byte bitfield
protected byte bitpos
public DecodingContext(byte[] content, java.util.List<IDecoderHandler> decoderhandlers, java.util.List<IDecoderHandler> postprocessors, java.lang.Object usercontext, java.lang.ClassLoader classloader, IErrorReporter errorreporter)
classloader
- The classloader.content
- The content being decoded.public DecodingContext(byte[] content, java.util.List<IDecoderHandler> decoderhandlers, java.util.List<IDecoderHandler> postprocessors, java.lang.Object usercontext, java.lang.ClassLoader classloader, IErrorReporter errorreporter, int offset)
content
- The content being decoded.offset
- The offset.public void incOffset(int val)
val
- The value to increase the offset.public int getOffset()
offset
- The offset.public byte[] getContent()
public byte readByte()
public byte[] read(int count)
count
- Number of bytes.public byte[] read(byte[] array)
array
- The byte array.public boolean readBoolean()
public java.nio.ByteBuffer getByteBuffer(int length)
length
- The length in bytes.public java.lang.String readClassname()
public java.lang.String readString()
public long readVarInt()
public long readSignedVarInt()
public int getCurrentOffset()