Class ISOAmountFieldPackager
java.lang.Object
org.jpos.iso.ISOFieldPackager
org.jpos.iso.ISOAmountFieldPackager
- Direct Known Subclasses:
IFA_AMOUNT, IFE_AMOUNT
-
Field Summary
Fields inherited from class ISOFieldPackager
pad, trim -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a default ISOAmountFieldPackager.ISOAmountFieldPackager(int maxLength, String description, Padder padder, Interpreter interpreter, Prefixer prefixer) Creates an ISOAmountFieldPackager.ISOAmountFieldPackager(Padder padder, Interpreter interpreter, Prefixer prefixer) Constructs an ISOAmountFieldPackager with a specific Padder, Interpreter and Prefixer. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcheckLength(int len, int maxLength) Checks the length of the data against the maximum, and throws an IllegalArgumentException.intReturns the prefixer's packed length and the interpreter's packed length.byte[]pack(ISOComponent c) Packs the component into a byte[].voidsetInterpreter(Interpreter interpreter) Sets the Interpreter.voidSets the Padder.voidsetPrefixer(Prefixer prefixer) Sets the length prefixer.intunpack(ISOComponent c, byte[] b, int offset) Unpacks the byte array into the component.voidunpack(ISOComponent c, InputStream in) Unpack the input stream into the component.Methods inherited from class ISOFieldPackager
createComponent, getDescription, getLength, pack, readBytes, setDescription, setLength, setPad, setTrim
-
Constructor Details
-
ISOAmountFieldPackager
public ISOAmountFieldPackager(int maxLength, String description, Padder padder, Interpreter interpreter, Prefixer prefixer) Creates an ISOAmountFieldPackager.- Parameters:
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.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.
-
ISOAmountFieldPackager
public ISOAmountFieldPackager()Constructs a default ISOAmountFieldPackager. There is no padding, no length prefix and a literal interpretation. The set methods must be called to make this ISOAmountFieldPackager useful. -
ISOAmountFieldPackager
Constructs an ISOAmountFieldPackager with a specific Padder, Interpreter and Prefixer. The length and description should be set with setLength() and setDescription methods.- Parameters:
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.
-
-
Method Details
-
setPadder
-
setInterpreter
Sets the Interpreter.- Parameters:
interpreter- The interpreter to use in packing and unpacking.
-
setPrefixer
Sets the length prefixer.- Parameters:
prefixer- The length prefixer to use during packing and unpacking.
-
getMaxPackedLength
Returns the prefixer's packed length and the interpreter's packed length.- Specified by:
getMaxPackedLengthin classISOFieldPackager
-
pack
Packs the component into a byte[].- Specified by:
packin classISOFieldPackager- Parameters:
c- - a component- Returns:
- packed component
- Throws:
ISOException
-
unpack
Unpacks the byte array into the component.- Specified by:
unpackin classISOFieldPackager- Parameters:
c- The component to unpack into.b- The byte array to unpack.offset- The index in the byte array to start unpacking from.- Returns:
- The number of bytes consumed unpacking the component.
- Throws:
ISOException
-
unpack
Unpack the input stream into the component.- Overrides:
unpackin classISOFieldPackager- Parameters:
c- The Component to unpack into.in- Input stream where the packed bytes come from.- Throws:
IOException- Thrown if there's a problem reading the input stream.ISOException
-
checkLength
Checks the length of the data against the maximum, and throws an IllegalArgumentException. This is designed to be called from field Packager constructors and the setLength() method.- Parameters:
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.- Throws:
IllegalArgumentException- If len > maxLength.
-