public class ISOStringFieldPackager extends ISOFieldPackager
pad, trim
Constructor and Description |
---|
ISOStringFieldPackager()
Constructs a default ISOStringFieldPackager.
|
ISOStringFieldPackager(int maxLength,
java.lang.String description,
Padder padder,
Interpreter interpreter,
Prefixer prefixer)
Creates an ISOStringFieldPackager.
|
ISOStringFieldPackager(Padder padder,
Interpreter interpreter,
Prefixer prefixer)
Constructs an ISOStringFieldPackager with a specific Padder, Interpreter and Prefixer.
|
Modifier and Type | Method and Description |
---|---|
protected void |
checkLength(int len,
int maxLength)
Checks the length of the data against the maximum, and throws an IllegalArgumentException.
|
int |
getMaxPackedLength()
Returns the prefixer's packed length and the interpreter's packed length.
|
byte[] |
pack(ISOComponent c)
Convert the component into a byte[].
|
void |
setInterpreter(Interpreter interpreter)
Sets the Interpreter.
|
void |
setPadder(Padder padder)
Sets the Padder.
|
void |
setPrefixer(Prefixer prefixer)
Sets the length prefixer.
|
void |
setTrim(boolean trim) |
int |
unpack(ISOComponent c,
byte[] b,
int offset)
Unpacks the byte array into the component.
|
void |
unpack(ISOComponent c,
java.io.InputStream in)
Unpack the input stream into the component.
|
createComponent, getDescription, getLength, pack, readBytes, setDescription, setLength, setPad
public ISOStringFieldPackager()
public ISOStringFieldPackager(Padder padder, Interpreter interpreter, Prefixer prefixer)
padder
- The type of padding used.interpreter
- The interpreter used to encode the field.prefixer
- The type of length prefixer used to encode this field.public ISOStringFieldPackager(int maxLength, java.lang.String description, Padder padder, Interpreter interpreter, Prefixer prefixer)
maxLength
- The maximum length of the field in characters or bytes depending on the datatype.description
- The description of the field. For human readable output.interpreter
- The interpreter used to encode the field.padder
- The type of padding used.prefixer
- The type of length prefixer used to encode this field.public void setPadder(Padder padder)
padder
- The padder to use during packing and unpacking.public void setInterpreter(Interpreter interpreter)
interpreter
- The interpreter to use in packing and unpacking.public void setPrefixer(Prefixer prefixer)
prefixer
- The length prefixer to use during packing and unpacking.public int getMaxPackedLength()
getMaxPackedLength
in class ISOFieldPackager
public byte[] pack(ISOComponent c) throws ISOException
pack
in class ISOFieldPackager
c
- - a componentISOException
public int unpack(ISOComponent c, byte[] b, int offset) throws ISOException
unpack
in class ISOFieldPackager
c
- The component to unpack into.b
- The byte array to unpack.offset
- The index in the byte array to start unpacking from.ISOException
public void unpack(ISOComponent c, java.io.InputStream in) throws java.io.IOException, ISOException
unpack
in class ISOFieldPackager
c
- The Component to unpack into.in
- Input stream where the packed bytes come from.java.io.IOException
- Thrown if there's a problem reading the input stream.ISOException
public void setTrim(boolean trim)
setTrim
in class ISOFieldPackager
protected void checkLength(int len, int maxLength) throws java.lang.IllegalArgumentException
len
- The length of the data for this field packager.maxLength
- The maximum length allowed for this type of field packager.
This depends on the prefixer that is used.java.lang.IllegalArgumentException
- If len > maxLength.