Class IsoFieldHeaderFormatter
java.lang.Object
org.jpos.iso.IsoFieldHeaderFormatter
Formats tagged-field headers where tag and length can appear in either order.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic IsoFieldHeaderFormatterFormatter with length before tag.static IsoFieldHeaderFormatterFormatter with tag before length. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbyte[]Formats tag/length fields according to the configured ordering.voidformat(Prefixer tagPrefixer, Prefixer lengthPrefixer, byte[] tagData, byte[] lengthData, byte[] destinationData) Formats the tag and length prefixers into the output.intgetLengthIndex(Prefixer tagPrefixer) Returns the index of the length prefixer relative to tag.intgetTagIndex(Prefixer lengthPrefixer) Returns the index of the tag prefixer relative to length.intgetTotalLength(Prefixer tagPrefixer, Prefixer prefixer) Returns the total length of tag and length fields.booleanReturns whether tag comes before length.
-
Field Details
-
TAG_FIRST
Formatter with tag before length. -
LENGTH_FIRST
Formatter with length before tag.
-
-
Constructor Details
-
IsoFieldHeaderFormatter
Constructs a formatter.- Parameters:
tagFirst- if true, the tag field comes before the length
-
-
Method Details
-
isTagFirst
Returns whether tag comes before length.- Returns:
- true if tag-first ordering
-
format
public byte[] format(Prefixer tagPrefixer, Prefixer lengthPrefixer, byte[] tagData, byte[] lengthData) Formats tag/length fields according to the configured ordering.- Parameters:
tagPrefixer- the tag part prefixerlengthPrefixer- the length part prefixertagData- byte array containing the tag value byteslengthData- byte array containing the length value bytes- Returns:
- byte array containing the header (tag and length), size of returned bytes is just the header length
-
format
public void format(Prefixer tagPrefixer, Prefixer lengthPrefixer, byte[] tagData, byte[] lengthData, byte[] destinationData) Formats the tag and length prefixers into the output.- Parameters:
tagPrefixer- the tag length prefixerlengthPrefixer- the data length prefixertagData- the tag byte arraylengthData- the length byte arraydestinationData- the output byte array
-
getTagIndex
Returns the index of the tag prefixer relative to length.- Parameters:
lengthPrefixer- the length prefixer- Returns:
- the tag index
-
getLengthIndex
Returns the index of the length prefixer relative to tag.- Parameters:
tagPrefixer- the tag prefixer- Returns:
- the length index
-
getTotalLength
Returns the total length of tag and length fields.- Parameters:
tagPrefixer- the tag prefixerprefixer- the length prefixer- Returns:
- total length in bytes
-