Class IsoFieldHeaderFormatter

java.lang.Object
org.jpos.iso.IsoFieldHeaderFormatter

public class IsoFieldHeaderFormatter extends Object
Formats tagged-field headers where tag and length can appear in either order.
  • Field Details

  • Constructor Details

    • IsoFieldHeaderFormatter

      public IsoFieldHeaderFormatter(boolean tagFirst)
      Constructs a formatter.
      Parameters:
      tagFirst - if true, the tag field comes before the length
  • Method Details

    • isTagFirst

      public boolean 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 prefixer
      lengthPrefixer - the length part prefixer
      tagData - byte array containing the tag value bytes
      lengthData - 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 prefixer
      lengthPrefixer - the data length prefixer
      tagData - the tag byte array
      lengthData - the length byte array
      destinationData - the output byte array
    • getTagIndex

      public int getTagIndex(Prefixer lengthPrefixer)
      Returns the index of the tag prefixer relative to length.
      Parameters:
      lengthPrefixer - the length prefixer
      Returns:
      the tag index
    • getLengthIndex

      public int getLengthIndex(Prefixer tagPrefixer)
      Returns the index of the length prefixer relative to tag.
      Parameters:
      tagPrefixer - the tag prefixer
      Returns:
      the length index
    • getTotalLength

      public int getTotalLength(Prefixer tagPrefixer, Prefixer prefixer)
      Returns the total length of tag and length fields.
      Parameters:
      tagPrefixer - the tag prefixer
      prefixer - the length prefixer
      Returns:
      total length in bytes