Decodes resources that are encoded into a Cramfull subclass.
The method byte[] decode(int iEncodedLength) is invoked on the
implementing subclass, which has access to the method
int read() to read the encoded char sequence.
IMPORTANT: Subclasses should be public and either have no
constructor declaration or have a public constructor that takes no arguments.
Example implementations are given in the package be.arci.pub.
Decodes a resource from a sequence of char-s. This is the reverse process of the
corresponding Encoder's void encode(DataInput di, int iResourceLength).
Implementations must invoke the method int read() to retrieve the encoded char-s of
the resource.
Parameters:
iEncodedLength - the length in char-s of the encoded form of the resource
Returns:
the bytes of the decoded resource, as they were read in by the ClassCompiler
from the original resource file. If a decoding error occurs, the implementing subclass has the
choice of either returning the value null, or throwing a ResourceDecodingException
giving more detailed info on the decoding error.
Throws:
ResourceDecodingException - if a decoding error occurs and the implementing
subclass wants to give a more detailed message about the decoding error.
Reads the next char from the internal form of the encoded resource. Chars are read
in the same sequence as they were written by the Encoder subclass
corresponding to this Decoder subclass.