Class GenericValidatingPackager
java.lang.Object
org.jpos.iso.ISOBasePackager
org.jpos.iso.packager.GenericPackager
org.jpos.iso.packager.GenericValidatingPackager
- All Implemented Interfaces:
Configurable, ISOPackager, ISOValidator, GenericPackagerParams, LogSource
Generic Packager that configure validators too.
Title: jPOS
Description: Java Framework for Financial Systems
Copyright: Copyright (c) 2000 jPOS.org. All rights reserved.
Company: www.jPOS.org
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassSAX handler that builds the packager's field-and-validator graph from the descriptor XML.Nested classes/interfaces inherited from class GenericPackager
GenericPackager.GenericContentHandler, GenericPackager.GenericEntityResolverModifier and TypeClassDescriptionclassSAX content handler that builds the packager's field structure from the DTD-driven XML.static classSAX entity resolver that maps the GenericPackager DTD URIs to bundled resources. -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intField number that carries the primary bitmap; overridable via XML.protected booleanWhether the primary bitmap is emitted on pack; overridable via XML.protected ISOValidator[]FieldValidator array.protected intHighest valid field number; copied from ISOBasePackager and overridable via XML.protected ISOBaseValidator[]MsgValidator arrayFields 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.GenericValidatingPackager(InputStream stream) Constructs a packager loading its field/validator descriptions from an XML stream.GenericValidatingPackager(String fileName) Constructs a packager loading its field/validator descriptions from an XML file. -
Method Summary
Modifier and TypeMethodDescriptionvoidIt define GenericValidatorContentHandler like handler.voidsetFieldValidator(ISOFieldValidator[] fvlds) Replaces the field-level validator array.voidApplies packager configuration from the SAX attributes of the packager XML element.voidsetMsgValidator(ISOBaseValidator[] msgVlds) Replaces the message-level validator array.Runs all configured field- and message-level validators againstm.Methods inherited from class GenericPackager
emitBitMap, getBitMapfieldPackager, getDescription, getFirstField, getMaxValidField, readFile, setConfiguration, setLoggerModifier and TypeMethodDescriptionprotected booleanIndicates whether a primary bitmap is emitted on pack.protected ISOFieldPackagerReturns the field packager used for the primary bitmap.Returns a human-readable description of this packager.protected intusually 2 for normal fields, 1 for bitmap-less or ANSI X9.2protected intReturns the highest valid field number for this packager.voidreadFile(InputStream input) Parse the field descriptions from an XML InputStream.voidPackager Configuration.voidAttaches aLoggerand realm to this log source.Methods inherited from class ISOBasePackager
createISOMsg, fieldUnpackLogger, getFieldDescription, getFieldPackager, getHeaderLength, getLogger, getRealm, getThirdBitmapField, pack, setFieldPackager, setFieldPackager, setHeaderLength, setThirdBitmapField, unpack, 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.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.intReturns the configured ISO header length in bytes.Returns the Logger associated with this source.getRealm()Returns the log realm associated with this source.intReturns the field number carrying the tertiary bitmap as a Data Element.byte[]pack(ISOComponent m) pack method that works in conjunction withISOBasePackager.unpack(ISOComponent, byte[]).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.intunpack(ISOComponent m, byte[] b) Unpacks an ISO-8583 byte array into the given message container.voidunpack(ISOComponent m, InputStream in) Unpacks an ISO-8583 message from an input stream into the given container.
-
Field Details
-
maxValidField
Highest valid field number; copied from ISOBasePackager and overridable via XML. -
emitBitmap
Whether the primary bitmap is emitted on pack; overridable via XML. -
bitmapField
Field number that carries the primary bitmap; overridable via XML. -
fvlds
FieldValidator array. -
mvlds
MsgValidator array
-
-
Constructor Details
-
GenericValidatingPackager
Default constructor.- Throws:
ISOException- if the underlying packager cannot be initialized
-
GenericValidatingPackager
Constructs a packager loading its field/validator descriptions from an XML file.- Parameters:
fileName- XML descriptor file- Throws:
ISOException- if the file cannot be parsed
-
GenericValidatingPackager
Constructs a packager loading its field/validator descriptions from an XML stream.- Parameters:
stream- XML descriptor input stream- Throws:
ISOException- if the stream cannot be parsed
-
-
Method Details
-
readFile
It define GenericValidatorContentHandler like handler.- Overrides:
readFilein classGenericPackager- Parameters:
filename- The XML field description file- Throws:
ISOException- if the file cannot be read or parsed
-
setGenericPackagerParams
Description copied from interface:GenericPackagerParamsApplies packager configuration from the SAX attributes of the packager XML element.- Specified by:
setGenericPackagerParamsin interfaceGenericPackagerParams- Overrides:
setGenericPackagerParamsin classGenericPackager- Parameters:
atts- the SAX attributes from the packager element
-
setMsgValidator
Replaces the message-level validator array.- Parameters:
msgVlds- new message-level validators
-
setFieldValidator
Replaces the field-level validator array.- Parameters:
fvlds- new field-level validators
-
validate
Runs all configured field- and message-level validators againstm.- Specified by:
validatein interfaceISOValidator- Parameters:
m- component (typically anISOMsg) to validate- Returns:
- the validated component, possibly with error fields attached
- Throws:
ISOException- if validation fails and a validator throws
-