org.jpos.iso
Class ISOBasePackager

java.lang.Object
  extended by 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 Object
implements ISOPackager, LogSource

provides base functionality for the actual packagers

Author:
apr

Field Summary
protected  ISOFieldPackager[] fld
           
protected  int headerLength
           
protected  Logger logger
           
protected  String realm
           
 
Constructor Summary
ISOBasePackager()
           
 
Method Summary
 ISOMsg createISOMsg()
           
protected  boolean emitBitMap()
           
protected  ISOFieldPackager getBitMapfieldPackager()
           
 String getDescription()
           
 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.2
 int getHeaderLength()
           
 Logger getLogger()
           
protected  int getMaxValidField()
           
 String getRealm()
           
 byte[] pack(ISOComponent m)
           
 void setFieldPackager(int fldNumber, ISOFieldPackager fieldPackager)
           
 void setFieldPackager(ISOFieldPackager[] fld)
           
 void setHeaderLength(int len)
           
 void setLogger(Logger logger, String realm)
           
 int unpack(ISOComponent m, byte[] b)
           
 void unpack(ISOComponent m, InputStream in)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

fld

protected ISOFieldPackager[] fld

logger

protected Logger logger

realm

protected String realm

headerLength

protected int headerLength
Constructor Detail

ISOBasePackager

public ISOBasePackager()
Method Detail

setFieldPackager

public void setFieldPackager(ISOFieldPackager[] fld)

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
Specified by:
pack in interface ISOPackager
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 interface ISOPackager
Parameters:
m - the Container of this message
b - ISO message image
Returns:
consumed bytes
Throws:
ISOException

unpack

public void unpack(ISOComponent m,
                   InputStream in)
            throws IOException,
                   ISOException
Specified by:
unpack in interface ISOPackager
Throws:
IOException
ISOException

getFieldDescription

public String getFieldDescription(ISOComponent m,
                                  int fldNumber)
Specified by:
getFieldDescription in interface ISOPackager
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 Number
fieldPackager - the Field Packager

createISOMsg

public ISOMsg createISOMsg()
Specified by:
createISOMsg in interface ISOPackager
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

setLogger

public void setLogger(Logger logger,
                      String realm)
Specified by:
setLogger in interface LogSource

getRealm

public String getRealm()
Specified by:
getRealm in interface LogSource

getLogger

public Logger getLogger()
Specified by:
getLogger in interface LogSource

getHeaderLength

public int getHeaderLength()

setHeaderLength

public void setHeaderLength(int len)

getDescription

public String getDescription()
Specified by:
getDescription in interface ISOPackager
Returns:
Packager's Description


Copyright © 1998-2012 jPOS.org. All Rights Reserved.