Class EuroSubFieldPackager
java.lang.Object
org.jpos.iso.ISOBasePackager
org.jpos.iso.packager.EuroSubFieldPackager
- All Implemented Interfaces:
ISOPackager, LogSource
- Direct Known Subclasses:
EuroPackager.Euro48Packager, MasterCardEBCDICSubFieldPackager
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static PrefixerLength prefixer used to pack/unpack each Euro subfield's tag.Fields inherited from class ISOBasePackager
fld, headerLength, logFieldName, logger, realm, thirdBitmapFieldModifier and TypeFieldDescriptionprotected ISOFieldPackager[]Per-field packagers indexed by field number.protected intNumber of leading bytes treated as the ISO header during unpack.protected booleanWhentrue, field descriptions are emitted as XML comments in unpack logs.protected LoggerLogger used to record pack/unpack diagnostics;nulldisables logging.protected StringLogger realm associated with this packager.protected intField number that carries the tertiary bitmap as a Data Element, or-999if not used. -
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor; no instance state to initialise. -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanAlways return falsebyte[]pack(ISOComponent c) pack method that works in conjunction withISOBasePackager.unpack(ISOComponent, byte[]).voidAttaches aLoggerand realm to this log source.intunpack(ISOComponent m, byte[] b) This packager treats field 0 as a field that may or may not be present before the TLV subelements.Methods inherited from class ISOBasePackager
createISOMsg, fieldUnpackLogger, getBitMapfieldPackager, getDescription, getFieldDescription, getFieldPackager, getFirstField, getHeaderLength, getLogger, getMaxValidField, getRealm, getThirdBitmapField, setFieldPackager, setFieldPackager, setHeaderLength, setThirdBitmapField, unpackModifier and TypeMethodDescriptionFactory hook returning theISOMsgsubclass produced during unpack.protected static voidfieldUnpackLogger(LogEvent evt, int fldno, ISOComponent c, ISOFieldPackager fld, boolean logFieldName) Internal helper logging function.protected ISOFieldPackagerReturns the field packager used for the primary bitmap.Returns a human-readable description of this packager.getFieldDescription(ISOComponent m, int fldNumber) Returns the human-readable description of a field as defined by its packager.getFieldPackager(int fldNumber) Returns the field packager registered for the given field number.protected intusually 2 for normal fields, 1 for bitmap-less or ANSI X9.2intReturns the configured ISO header length in bytes.Returns the Logger associated with this source.protected intReturns the highest valid field number for this packager.getRealm()Returns the log realm associated with this source.intReturns the field number carrying the tertiary bitmap as a Data Element.voidsetFieldPackager(int fldNumber, ISOFieldPackager fieldPackager) Replaces the packager registered for a single field.voidsetFieldPackager(ISOFieldPackager[] fld) Replaces the per-field packager array.voidsetHeaderLength(int len) Sets the ISO header length in bytes.voidsetThirdBitmapField(int f) Configures the Data Element field that holds the tertiary bitmap.voidunpack(ISOComponent m, InputStream in) Unpacks an ISO-8583 message from an input stream into the given container.
-
Field Details
-
tagPrefixer
Length prefixer used to pack/unpack each Euro subfield's tag.
-
-
Constructor Details
-
EuroSubFieldPackager
public EuroSubFieldPackager()Default constructor; no instance state to initialise.
-
-
Method Details
-
emitBitMap
Always return false- Overrides:
emitBitMapin classISOBasePackager- Returns:
trueif the field-1 packager is anISOBitMapPackager
-
pack
Description copied from class:ISOBasePackagerpack method that works in conjunction withISOBasePackager.unpack(ISOComponent, byte[]).Handles a tertiary bitmap possibly appearing in Data Element
thirdBitmapField.- Specified by:
packin interfaceISOPackager- Overrides:
packin classISOBasePackager- Parameters:
c- the Component to pack- Returns:
- Message image
- Throws:
ISOException- if the component cannot be packed
-
unpack
This packager treats field 0 as a field that may or may not be present before the TLV subelements. Certain types of messages for some 8583 specs that extend this class' behavior (e.g., the Mastercard implementation in classMasterCardEBCDICSubFieldPackager) may not have field 0 present (the TCC in Mastercard's nomenclature). So, if the corresponding isofield packager for field 0 doesn't fill theISOComponent's value, we don't store anything as subfield 0 of m.- Specified by:
unpackin interfaceISOPackager- Overrides:
unpackin classISOBasePackager- Parameters:
m- the Container of this messageb- ISO message image- Returns:
- consumed bytes
- Throws:
ISOException- if the message image cannot be unpacked
-
setLogger
-