Class HexDecoder

  • All Implemented Interfaces:
    Decoder

    public class HexDecoder
    extends Object
    implements Decoder
    Dump bytes as hexadecimal numbers

    Copyright (c) 2013-2021 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
    BSD-style license. See DJUTILS License.

    Version:
    $Revision$, $LastChangedDate$, by $Author$, initial version Jan 3, 2019
    Author:
    Alexander Verbraeck, Peter Knoppers
    • Constructor Detail

      • HexDecoder

        public HexDecoder​(int fieldsPerLine,
                          int extraSpaceAfterEvery)
        Construct a new HexDecoder.
        Parameters:
        fieldsPerLine - int; maximum number of hex values on one output line this.extraSpaceAfterEvery = extraSpaceAfterEvery;
        extraSpaceAfterEvery - int; insert an extra space after every N fields
    • Method Detail

      • getResult

        public String getResult()
        Retrieve the current result of this Decoder. Decoders that handle multiple byte input may be somewhere within a token. Such Decoders should report a partial result. If no data has been added, the result must be the empty string.
        Specified by:
        getResult in interface Decoder
        Returns:
        String; the current result of this Decoder
      • getMaximumWidth

        public int getMaximumWidth()
        Retrieve the maximum width (in characters) of results that this Decoder can return (all shorter results will be padded to this width with spaces, unless this is the last active Decoder).
        Specified by:
        getMaximumWidth in interface Decoder
        Returns:
        int; the maximum width (in characters) of results that this Decoder can return
      • append

        public boolean append​(int address,
                              byte theByte)
                       throws IOException
        Decode one (more) byte. This method must return true when a line becomes full due to this call, otherwise this method must return false.
        Specified by:
        append in interface Decoder
        Parameters:
        address - int; the address that corresponds with the byte
        theByte - byte; the byte
        Returns:
        boolean; true if an output line has been completed by this call; false if at least one more byte can be appended to the local accumulator before the current output line is full
        Throws:
        IOException - when the output device throws this exception
      • ignoreForIdenticalOutputCheck

        public boolean ignoreForIdenticalOutputCheck()
        If the result of this Decoder should not be used to compare output lines for suppressing identical lines, this method should return true; otherwise it should return false.
        Specified by:
        ignoreForIdenticalOutputCheck in interface Decoder
        Returns:
        boolean; true if the result of this Decoder should be ignored in testing for identical output lines; otherwise false