Class

org.apache.daffodil.io

DataDumper

Related Doc: package io

Permalink

class DataDumper extends AnyRef

Hex/Bits and text dump formats for debug/trace purposes.

By definition this is a dump, so doesn't know much about where the fields in the data are. (To do that you'd need a format description language, like DFDL, but this is here to help debug DFDL descriptions, so it really cannot exploit any information about the data format)

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DataDumper
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new DataDumper()

    Permalink

Type Members

  1. sealed trait BinaryKind extends Kind

    Permalink
    Attributes
    protected
  2. type ByteSource = AnyRef { def get(byteAddress0b: Int): Byte }

    Permalink
  3. sealed trait Direction extends AnyRef

    Permalink
    Attributes
    protected
  4. sealed trait HexKind extends BinaryKind

    Permalink
    Attributes
    protected
  5. sealed trait Kind extends AnyRef

    Permalink

    What kind of dump do you want? Text only - no hex will be displayed.

    What kind of dump do you want? Text only - no hex will be displayed. Binary only - do you want hex? or binary bits? Mixed - show both hex/bits and text side by side

  6. sealed trait LTR extends Direction

    Permalink
    Attributes
    protected
  7. case class MixedHexLTR(optCharset: Option[String] = None) extends TextKind with HexKind with LTR with Product with Serializable

    Permalink
  8. case class MixedHexRTL(optCharset: Option[String] = None) extends TextKind with HexKind with RTL with Product with Serializable

    Permalink
  9. sealed trait RTL extends Direction

    Permalink
    Attributes
    protected
  10. sealed class TextKind extends Kind

    Permalink
    Attributes
    protected
  11. case class TextOnly(optCharset: Option[String] = None) extends TextKind with Product with Serializable

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def convertBitsToBytesUnits(startBitAddress0b: Long, lengthInBits: Long): (Long, Int, Long)

    Permalink
  7. val defaultMaxLineLength: Int

    Permalink
  8. def dump(kind: Kind, shamStartBitAddress0b: Long, lengthInBits: Int, byteSource: ByteSource, maxLineLength: Int = defaultMaxLineLength, includeHeadingLine: Boolean = true, indicatorInfo: Option[(Long, Int)] = None): Seq[String]

    Permalink

    A dump is a sequence of dump lines.

    A dump is a sequence of dump lines.

    An optional first line is a header that numbers the bits/bytes An optional indicator line uses draw-characters to point at the significant part of the data - e.g., where in the dump the current element is. The data lines follow. They contain up to 3 sections (each of which is optional) an address, a hex/binary dump, a text dump.

    If the kind includes charset that charset is used to display text. Decode errors will display as the Unicode replacement character. If no charset then text will be displayed as iso-8859-1, augmented by using glyph characters for the control C0 and C1 and any other non-glyph codepoint.

    indicator info is a start position and length for the "region of interest". The units are in bits.

    The shamStartBitAddress0b is the location where the data in the byteSource starts. E.g., the byte at byteSource.get(0) is from the data stream at the shamStartBitAddress0b.

    The byte source is a window into the data stream.

  9. def dumpTextLine(maxLineLen: Int, startByteAddress0b: Long, lengthInBytesRequested: Int, byteSource: ByteSource, optEncodingName: Option[String] = None, indicatorInfoInBytes: Option[(Long, Int)] = None): Seq[String]

    Permalink

    If displaying ONLY text, then we just display one long line and replace any whitespace or non-glyph characters with glyph characters.

  10. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  14. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  15. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  16. var nPadBytesFromPriorLine: Int

    Permalink
  17. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  18. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  20. var paddingFromPriorLine: String

    Permalink
  21. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  22. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  23. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped