Package org.jpos.iso
Class ISOBasePackager
- java.lang.Object
-
- org.jpos.iso.ISOBasePackager
-
- All Implemented Interfaces:
ISOPackager
,LogSource
- Direct Known Subclasses:
Base1Packager
,Base1Packager.F127Packager
,Base1SubFieldPackager
,BASE24Packager
,EuroPackager
,EuroSubFieldPackager
,GenericPackager
,ISO87APackager
,ISO87APackagerBBitmap
,ISO87BPackager
,ISO93APackager
,ISO93BPackager
,ISOBaseValidatingPackager
,PostPackager
,PostPackager.PostPrivatePackager
,VAPSMSPackager
,VAPVIPPackager
,VAPVIPPackager.F127Packager
,X92Packager
public abstract class ISOBasePackager extends java.lang.Object implements ISOPackager, LogSource
provides base functionality for the actual packagers
-
-
Field Summary
Fields Modifier and Type Field Description protected ISOFieldPackager[]
fld
protected int
headerLength
protected boolean
logFieldName
protected Logger
logger
protected java.lang.String
realm
protected int
thirdBitmapField
-
Constructor Summary
Constructors Constructor Description ISOBasePackager()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ISOMsg
createISOMsg()
protected boolean
emitBitMap()
protected static void
fieldUnpackLogger(LogEvent evt, int fldno, ISOComponent c, ISOFieldPackager fld, boolean logFieldName)
Internal helper logging function.protected ISOFieldPackager
getBitMapfieldPackager()
java.lang.String
getDescription()
java.lang.String
getFieldDescription(ISOComponent m, int fldNumber)
ISOFieldPackager
getFieldPackager(int fldNumber)
protected int
getFirstField()
usually 2 for normal fields, 1 for bitmap-less or ANSI X9.2int
getHeaderLength()
Logger
getLogger()
protected int
getMaxValidField()
java.lang.String
getRealm()
int
getThirdBitmapField()
byte[]
pack(ISOComponent m)
pack method that works in conjunction withunpack(ISOComponent, byte[])
.void
setFieldPackager(int fldNumber, ISOFieldPackager fieldPackager)
void
setFieldPackager(ISOFieldPackager[] fld)
void
setHeaderLength(int len)
void
setLogger(Logger logger, java.lang.String realm)
void
setThirdBitmapField(int f)
int
unpack(ISOComponent m, byte[] b)
void
unpack(ISOComponent m, java.io.InputStream in)
-
-
-
Field Detail
-
fld
protected ISOFieldPackager[] fld
-
thirdBitmapField
protected int thirdBitmapField
-
logFieldName
protected boolean logFieldName
-
realm
protected java.lang.String realm
-
headerLength
protected int headerLength
-
-
Constructor Detail
-
ISOBasePackager
public ISOBasePackager()
-
-
Method Detail
-
setFieldPackager
public void setFieldPackager(ISOFieldPackager[] fld)
-
setThirdBitmapField
public void setThirdBitmapField(int f) throws ISOException
- Throws:
ISOException
-
getThirdBitmapField
public int getThirdBitmapField()
-
emitBitMap
protected boolean emitBitMap()
- Returns:
- true if BitMap have to be emited
-
getFirstField
protected int getFirstField()
usually 2 for normal fields, 1 for bitmap-less or ANSI X9.2- Returns:
- first valid field
-
pack
public byte[] pack(ISOComponent m) throws ISOException
pack method that works in conjunction withunpack(ISOComponent, byte[])
.Handles a tertiary bitmap possibly appearing in Data Element
thirdBitmapField
.- Specified by:
pack
in interfaceISOPackager
- Parameters:
m
- the Component to pack- Returns:
- Message image
- Throws:
ISOException
-
unpack
public int unpack(ISOComponent m, byte[] b) throws ISOException
- Specified by:
unpack
in interfaceISOPackager
- Parameters:
m
- the Container of this messageb
- ISO message image- Returns:
- consumed bytes
- Throws:
ISOException
-
unpack
public void unpack(ISOComponent m, java.io.InputStream in) throws java.io.IOException, ISOException
- Specified by:
unpack
in interfaceISOPackager
- Throws:
java.io.IOException
ISOException
-
fieldUnpackLogger
protected static void fieldUnpackLogger(LogEvent evt, int fldno, ISOComponent c, ISOFieldPackager fld, boolean logFieldName) throws ISOException
Internal helper logging function. Assumes evt is not null.- Throws:
ISOException
-
getFieldDescription
public java.lang.String getFieldDescription(ISOComponent m, int fldNumber)
- Specified by:
getFieldDescription
in interfaceISOPackager
- Parameters:
m
- the Container (i.e. an ISOMsg)fldNumber
- the Field Number- Returns:
- Field Description
-
getFieldPackager
public ISOFieldPackager getFieldPackager(int fldNumber)
- Parameters:
fldNumber
- the Field Number- Returns:
- Field Packager for this field
-
setFieldPackager
public void setFieldPackager(int fldNumber, ISOFieldPackager fieldPackager)
- Parameters:
fldNumber
- the Field NumberfieldPackager
- the Field Packager
-
createISOMsg
public ISOMsg createISOMsg()
- Specified by:
createISOMsg
in interfaceISOPackager
- Returns:
- an ISOMsg
-
getMaxValidField
protected int getMaxValidField()
- Returns:
- 128 for ISO-8583, should return 64 for ANSI X9.2
-
getBitMapfieldPackager
protected ISOFieldPackager getBitMapfieldPackager()
- Returns:
- suitable ISOFieldPackager for Bitmap
-
getHeaderLength
public int getHeaderLength()
-
setHeaderLength
public void setHeaderLength(int len)
-
getDescription
public java.lang.String getDescription()
- Specified by:
getDescription
in interfaceISOPackager
- Returns:
- Packager's Description
-
-