Package org.jpos.iso
Class ISOBinaryFieldPackager
- java.lang.Object
-
- org.jpos.iso.ISOFieldPackager
-
- org.jpos.iso.ISOBinaryFieldPackager
-
- Direct Known Subclasses:
IF_FBINARY
,IFA_BINARY
,IFA_LBINARY
,IFA_LLBINARY
,IFA_LLLBINARY
,IFA_LLLLBINARY
,IFA_LLLLLBINARY
,IFA_LLLLLLBINARY
,IFB_BINARY
,IFB_LHBINARY
,IFB_LLBINARY
,IFB_LLHBINARY
,IFB_LLHEX
,IFB_LLLBINARY
,IFB_LLLHBINARY
,IFB_LLLHEX
,IFB_LLLLBINARY
,IFE_BINARY
,IFE_LBINARY
,IFE_LLBINARY
,IFE_LLLBINARY
,IFE_LLLEBINARY
,IFE_LLLLBINARY
,IFEP_LLLBINARY
,ISOTagBinaryFieldPackager
public class ISOBinaryFieldPackager extends ISOFieldPackager
-
-
Field Summary
-
Fields inherited from class org.jpos.iso.ISOFieldPackager
pad, trim
-
-
Constructor Summary
Constructors Constructor Description ISOBinaryFieldPackager()
Constructs a default ISOBinaryFieldPackager.ISOBinaryFieldPackager(int maxLength, java.lang.String description, BinaryInterpreter interpreter, Prefixer prefixer)
Creates an ISOBinaryFieldPackager.ISOBinaryFieldPackager(BinaryInterpreter interpreter, Prefixer prefixer)
Creates an ISOBinaryFieldPackager.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
checkLength(int len, int maxLength)
Checks the length of the data against the maximum, and throws an IllegalArgumentException.ISOComponent
createComponent(int fieldNumber)
component factoryint
getMaxPackedLength()
byte[]
pack(ISOComponent c)
Convert the component into a byte[].void
setInterpreter(BinaryInterpreter interpreter)
Sets the Interpreter.void
setPrefixer(Prefixer prefixer)
Sets the length prefixer.int
unpack(ISOComponent c, byte[] b, int offset)
void
unpack(ISOComponent c, java.io.InputStream in)
Unpack from an input stream-
Methods inherited from class org.jpos.iso.ISOFieldPackager
getDescription, getLength, pack, readBytes, setDescription, setLength, setPad, setTrim
-
-
-
-
Constructor Detail
-
ISOBinaryFieldPackager
public ISOBinaryFieldPackager()
Constructs a default ISOBinaryFieldPackager. There is no length prefix and a literal interpretation. The set methods must be called to make this ISOBinaryFieldPackager useful.
-
ISOBinaryFieldPackager
public ISOBinaryFieldPackager(int maxLength, java.lang.String description, BinaryInterpreter interpreter, Prefixer prefixer)
Creates an ISOBinaryFieldPackager.- 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.interpreter
- The interpreter used to encode the field.prefixer
- The type of length prefixer used to encode this field.
-
ISOBinaryFieldPackager
public ISOBinaryFieldPackager(BinaryInterpreter interpreter, Prefixer prefixer)
Creates an ISOBinaryFieldPackager.- Parameters:
interpreter
- The interpreter used to encode the field.prefixer
- The type of length prefixer used to encode this field.
-
-
Method Detail
-
setInterpreter
public void setInterpreter(BinaryInterpreter interpreter)
Sets the Interpreter.- Parameters:
interpreter
- The interpreter to use in packing and unpacking.
-
setPrefixer
public void setPrefixer(Prefixer prefixer)
Sets the length prefixer.- Parameters:
prefixer
- The length prefixer to use during packing and unpacking.
-
getMaxPackedLength
public int getMaxPackedLength()
- Specified by:
getMaxPackedLength
in classISOFieldPackager
-
pack
public byte[] pack(ISOComponent c) throws ISOException
Convert the component into a byte[].- Specified by:
pack
in classISOFieldPackager
- Parameters:
c
- - a component- Returns:
- packed component
- Throws:
ISOException
-
unpack
public int unpack(ISOComponent c, byte[] b, int offset) throws ISOException
- Specified by:
unpack
in classISOFieldPackager
- Parameters:
c
- - the Component to unpackb
- - binary imageoffset
- - starting offset within the binary image- Returns:
- consumed bytes
- Throws:
ISOException
-
unpack
public void unpack(ISOComponent c, java.io.InputStream in) throws java.io.IOException, ISOException
Unpack from an input stream- Overrides:
unpack
in classISOFieldPackager
- Parameters:
c
- - the Component to unpackin
- - input stream- Throws:
ISOException
java.io.IOException
-
createComponent
public ISOComponent createComponent(int fieldNumber)
component factory- Overrides:
createComponent
in classISOFieldPackager
- Parameters:
fieldNumber
- - the field number- Returns:
- the newly created component
-
checkLength
protected void checkLength(int len, int maxLength) throws java.lang.IllegalArgumentException
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:
java.lang.IllegalArgumentException
- If len > maxLength.
-
-