Trait

org.apache.daffodil.io

DataOutputStreamImplMixin

Related Doc: package io

Permalink

trait DataOutputStreamImplMixin extends DataStreamCommonState with DataOutputStream with DataStreamCommonImplMixin with LocalBufferMixin

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DataOutputStreamImplMixin
  2. LocalBufferMixin
  3. DataStreamCommonImplMixin
  4. DataOutputStream
  5. Logging
  6. Identity
  7. DataStreamCommon
  8. DataStreamCommonState
  9. AnyRef
  10. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. final class LocalByteBuffer extends LocalBuffer[ByteBuffer]

    Permalink
    Definition Classes
    LocalBufferMixin
  2. final class LocalCharBuffer extends LocalBuffer[CharBuffer]

    Permalink

    Use with OnStack idiom for temporary char buffers

    Use with OnStack idiom for temporary char buffers

    Definition Classes
    LocalBufferMixin

Abstract Value Members

  1. abstract def getJavaOutputStream(): OutputStream

    Permalink
    Attributes
    protected
  2. abstract def id: Int

    Permalink
    Definition Classes
    DataOutputStream
  3. abstract def putLong(signedLong: Long, bitLengthFrom1To64: Int, finfo: FormatInfo): Boolean

    Permalink

    If bitLengthFrom1To64 bits are available to be written before bitLimit0b (if defined) is encountered, then this writes the bitLengthFrom1To64 least significant bits of the long using the current bit order and byte order, and returns true.

    If bitLengthFrom1To64 bits are available to be written before bitLimit0b (if defined) is encountered, then this writes the bitLengthFrom1To64 least significant bits of the long using the current bit order and byte order, and returns true.

    If not enough bits are available, this writes nothing and returns false.

    It is a usage error if bitLengthFrom1To64 is not in the range 1 to 64 inclusive.

    Definition Classes
    DataOutputStream
  4. abstract def putLong_BE_MSBFirst(signedLong: Long, bitLengthFrom1To64: Int): Boolean

    Permalink
    Attributes
    protected
  5. abstract def putLong_LE_LSBFirst(signedLong: Long, bitLengthFrom1To64: Int): Boolean

    Permalink
    Attributes
    protected
  6. abstract def putLong_LE_MSBFirst(signedLong: Long, bitLengthFrom1To64: Int): Boolean

    Permalink
    Attributes
    protected
  7. abstract def putULong(unsignedLong: ULong, bitLengthFrom1To64: Int, finfo: FormatInfo): Boolean

    Permalink

    If bitLengthFrom1To64 bits are available to be written before bitLimit0b (if defined) is encountered, then this writes the bitLengthFrom1To64 least significant bits of the long using the current bit order and byte order, and returns true.

    If bitLengthFrom1To64 bits are available to be written before bitLimit0b (if defined) is encountered, then this writes the bitLengthFrom1To64 least significant bits of the long using the current bit order and byte order, and returns true.

    If not enough bits are available, this writes nothing and returns false.

    It is a usage error if bitLengthFrom1To64 is not in the range 1 to 64 inclusive.

    Definition Classes
    DataOutputStream
  8. abstract def setFinished(finfo: FormatInfo): Unit

    Permalink

    close-out this output stream.

    close-out this output stream. No more writing to this after.

    Definition Classes
    DataOutputStream
  9. abstract def setJavaOutputStream(newOutputStream: OutputStream): Unit

    Permalink
    Attributes
    protected

Concrete 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 align(bitAlignment1b: Int, finfo: FormatInfo): Boolean

    Permalink

    advances the bit position to the specified alignment.

    advances the bit position to the specified alignment.

    Note that the bitAlignment1b argument is 1-based.

    Passing 0 as the argument is a usage error.

    Passing 1 as the argument performs no alignment, as any bit position is 1-bit aligned.

    For any other value, the bit position (1-based) is advanced to the next multiple of that argument value.

    False is returned if there are insufficient available bits to achieve the alignment.

    Definition Classes
    DataOutputStreamImplMixinDataStreamCommon
  5. final def areDebugging: Boolean

    Permalink

    Debugging flag.

    Debugging flag. If set then performance may be reduced, but historic and upcoming data may be viewed using the pastData and futureData methods.

    This should be set at the beginning of execution. If it is set after data has been accessed then IllegalStateException is thrown.

    Definition Classes
    DataStreamCommonImplMixinDataStreamCommon
  6. final def areLogging(lvl: Type): Boolean

    Permalink
    Definition Classes
    Logging
  7. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  8. def assignFrom(other: DataOutputStreamImplMixin): Unit

    Permalink
    Attributes
    protected
  9. def assignFrom(other: DataStreamCommonState): Unit

    Permalink
    Definition Classes
    DataStreamCommonState
  10. var bitStartOffset0b: Int

    Permalink

    Offset within the first byte to the first bit.

    Offset within the first byte to the first bit. This is the number of bits to skip. Value is from 0 to 7.

  11. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  12. final def cst: DataOutputStreamImplMixin

    Permalink
    Attributes
    protected
    Definition Classes
    DataOutputStreamImplMixinDataStreamCommonImplMixin
  13. var debugOutputStream: Maybe[ByteArrayOutputStream]

    Permalink
  14. var debugging: Boolean

    Permalink
    Definition Classes
    DataStreamCommonState
  15. def doLogging(lvl: Type, msg: String, args: Seq[Any]): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  16. final def dosState: DOSState

    Permalink
    Annotations
    @inline()
  17. final def eq(arg0: AnyRef): Boolean

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

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  20. def fragmentLastByte: Int

    Permalink
  21. def fragmentLastByteLimit: Int

    Permalink
  22. final def futureData(nBytesRequested: Int): ByteBuffer

    Permalink
  23. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  24. def getLogWriter(): LogWriter

    Permalink
    Definition Classes
    Logging
  25. final def getLoggingLevel(): Type

    Permalink
    Definition Classes
    Logging
  26. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  27. final def isAligned(bitAlignment1b: Int): Boolean

    Permalink

    For assertion checking really.

    For assertion checking really. Optimizations should remove the need for most alignment operations. This can be used in assertions that check that this is working properly.

    Note that the bitAlignment1b argument is 1-based.

    Passing 0 as the argument is a usage error.

    Passing 1 as the argument performs no alignment, as any bit position is 1-bit aligned.

    Definition Classes
    DataOutputStreamImplMixinDataStreamCommon
  28. def isEndOnByteBoundary: Boolean

    Permalink
  29. final def isFinished: Boolean

    Permalink
    Definition Classes
    DataOutputStreamImplMixinDataOutputStream
    Annotations
    @inline()
  30. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  31. final def limits: DataStreamLimits

    Permalink
  32. var limits_: DataStreamLimits

    Permalink
    Definition Classes
    DataStreamCommonState
  33. final macro def log(lvl: Type, msg: String, args: Any*): Unit

    Permalink
    Definition Classes
    Logging
  34. lazy val logID: String

    Permalink
    Definition Classes
    Logging → Identity
  35. var logLevel: Maybe[Type]

    Permalink
    Definition Classes
    Logging
  36. var logWriter: Maybe[LogWriter]

    Permalink
    Definition Classes
    Logging
  37. var maybeAbsBitLimit0b: MaybeULong

    Permalink

    Absolute bit limit zero based

    Absolute bit limit zero based

    If defined it is the position 1 bit past the last bit location that can be written. So if we at starting at bitPos0b of 0, and we allow only 100 bits, then the bit positions are 0 to 99, and the bit limit is 100.

    Definition Classes
    DataOutputStreamImplMixinDataOutputStream
  38. def maybeAbsBitPos0b: MaybeULong

    Permalink

    Absolute bit position zero based.

    Absolute bit position zero based. Absolute as in relative the the start of the output data stream.

    This is a Maybe type because we might not know this value, but still need to do unparsing into a buffer.

    Definition Classes
    DataOutputStreamImplMixinDataOutputStream
  39. final def maybeAbsStartingBitPos0b: MaybeULong

    Permalink

    the starting bit pos is undefined to start.

    the starting bit pos is undefined to start. then it is in many cases set to some value n, because we know in advance how long the prior data is. Then when absorbed into the direct stream, the stream technically starts at 0, but we need to keep track of the former starting bit pos so as to be able to convert relative positions to absolute positions correctly.

    Attributes
    protected
  40. def maybeRelBitLimit0b: MaybeULong

    Permalink

    Relative bit limit zero based

    Relative bit limit zero based

    Definition Classes
    DataOutputStreamImplMixinDataOutputStream
  41. var maybeTrailingSurrogateForUTF8: MaybeChar

    Permalink
    Definition Classes
    DataStreamCommonState
  42. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  45. final def pastData(nBytesRequested: Int): ByteBuffer

    Permalink

    Access to historic (past data) and upcoming data for purposes of display in a trace or debugger.

    Access to historic (past data) and upcoming data for purposes of display in a trace or debugger.

    If areDebugging is false, these throw IllegalStateException

    Definition Classes
    DataOutputStreamImplMixinDataStreamCommon
  46. def priorBitOrder: BitOrder

    Permalink
    Definition Classes
    DataStreamCommonState
  47. var priorBitPos: Long

    Permalink
    Definition Classes
    DataStreamCommonState
  48. final def putBigInt(bigInt: BigInt, bitLengthFrom1: Int, signed: Boolean, finfo: FormatInfo): Boolean

    Permalink

    If bitLengthFrom1 bits are available to be written before bitLimit0b (if defined) is encountered, then this writes the bitLengthFrom1 least significant bits of the bigInt using the current bit order and byte order, and returns true.

    If bitLengthFrom1 bits are available to be written before bitLimit0b (if defined) is encountered, then this writes the bitLengthFrom1 least significant bits of the bigInt using the current bit order and byte order, and returns true. The signed flag determines whether or not the output should be output as a signed or unsigned type.

    If not enough bits are available or the big integer cannot fit into bitLengthFrom1 bits, this writes nothing and returns false.

    It is a usage error if signed is false and bigInt is a negative BigInteger.

    It is a usage error if bitLengthFrom1 is not greater than or equal to 1.

    Definition Classes
    DataOutputStreamImplMixinDataOutputStream
  49. final def putBinaryDouble(v: Double, finfo: FormatInfo): Boolean

    Permalink
  50. final def putBinaryFloat(v: Float, finfo: FormatInfo): Boolean

    Permalink

    Float and Double

    Float and Double

    These are unparsed per the currently set BinaryFloatRep, byteOrder, and bitOrder

    Returns false if there are not 32 bits or 64 bits (respectively) available.

    Definition Classes
    DataOutputStreamImplMixinDataOutputStream
  51. final def putByteArray(array: Array[Byte], bitLengthFrom1: Int, finfo: FormatInfo): Boolean

    Permalink

    If bitLengthFrom1 bits are available to be written before bitLimit0b (if defined) is encountered, then this writes the bitLengthFrom1 bits of the ba using the current bit order and byte order, and returns true.

    If bitLengthFrom1 bits are available to be written before bitLimit0b (if defined) is encountered, then this writes the bitLengthFrom1 bits of the ba using the current bit order and byte order, and returns true. The array is assumed to be have bigEndian byte order and most significant bit first bit order.

    If not enough bits are available, this writes nothing and returns false.

    It is a usage error if bitLengthFrom1 is not greater than or equal to 1.

    Definition Classes
    DataOutputStreamImplMixinDataOutputStream
  52. final def putBytes(ba: Array[Byte], byteStartOffset0b: Int, lengthInBytes: Int, finfo: FormatInfo): Long

    Permalink

    Returns number of bytes transferred.

    Returns number of bytes transferred. Stops when the bitLimit is encountered if one is defined.

  53. final def putCharBuffer(cb: CharBuffer, finfo: FormatInfo): Long

    Permalink
  54. final def putLongChecked(signedLong: Long, bitLengthFrom1To64: Int, finfo: FormatInfo): Boolean

    Permalink
    Attributes
    protected
  55. final def putLongUnchecked(signedLong: Long, bitLengthFrom1To64: Int, finfo: FormatInfo): Boolean

    Permalink

    Use when calling from a put/write operation that has already checked the length limit.

    Use when calling from a put/write operation that has already checked the length limit.

    Assumed to be called from inner loops, so should be fast as possible.

    Attributes
    protected
  56. final def putString(str: String, finfo: FormatInfo): Long

    Permalink

    Returns number of characters transferred.

    Returns number of characters transferred. Stops when the bitLimit is encountered if one is defined.

    Definition Classes
    DataOutputStreamImplMixinDataOutputStream
  57. final def realStream: OutputStream

    Permalink

    just a synonym

    just a synonym

    Attributes
    protected
  58. def relBitPos0b: ULong

    Permalink
  59. final def relBitPos1b: ULong

    Permalink
    Definition Classes
    DataOutputStream
  60. final def remainingBits: MaybeULong

    Permalink

    Returns number of bits remaining (if a limit is defined).

    Returns number of bits remaining (if a limit is defined). Nope if not defined.

    Definition Classes
    DataOutputStreamImplMixinDataStreamCommon
  61. def resetAllBitPos(): Unit

    Permalink
  62. final def resetMaybeRelBitLimit0b(savedBitLimit0b: MaybeULong): Unit

    Permalink
  63. def resetUTF8SurrogatePairCapture: Unit

    Permalink
    Definition Classes
    DataStreamCommonState
  64. def setAbsStartingBitPos0b(newStartingBitPos0b: ULong): Unit

    Permalink
  65. final def setDOSState(newState: DOSState): Unit

    Permalink
    Attributes
    protected
    Annotations
    @inline()
  66. final def setDebugging(setting: Boolean): Unit

    Permalink
  67. def setFragmentLastByte(newFragmentByte: Int, nBitsInUse: Int): Unit

    Permalink
  68. final def setLimits(newLimits: DataStreamLimits): Unit

    Permalink

    Allow tuning of these thresholds and starting values.

    Allow tuning of these thresholds and starting values. These could, in principle, be tuned differently for different elements, thereby keeping limits small when the schema component can be determined to only require small space, but enabling larger limits/starting values when a component has larger needs.

    These could be cached on, say, the ElementRuntimeData object for each element, or some other kind of dynamic cache.

    Definition Classes
    DataStreamCommonImplMixinDataStreamCommon
  69. def setLogWriter(lw: LogWriter): Unit

    Permalink
    Definition Classes
    Logging
  70. def setLoggingLevel(level: Type): Unit

    Permalink
    Definition Classes
    Logging
  71. def setMaybeRelBitLimit0b(newMaybeRelBitLimit0b: MaybeULong, reset: Boolean = false): Boolean

    Permalink

    sets, but also maintains the absolute bit limit, if that is defined.

    sets, but also maintains the absolute bit limit, if that is defined.

    Returns false if the set was unsuccessful, meaning one is setting a limit that extends past a pre-existing limit.

    Attributes
    protected
    Definition Classes
    DataOutputStreamImplMixinDataOutputStream
  72. def setPriorBitOrder(pbo: BitOrder): Unit

    Permalink
    Definition Classes
    DataStreamCommonState
  73. final def setRelBitPos0b(newRelBitPos0b: ULong): Unit

    Permalink

    Besides setting the relBitPos, it also maintains the value of the absolute bit pos, if it is known.

    Besides setting the relBitPos, it also maintains the value of the absolute bit pos, if it is known.

    Attributes
    protected
    Definition Classes
    DataOutputStreamImplMixinDataOutputStream
  74. final def skip(nBits: Long, finfo: FormatInfo): Boolean

    Permalink

    Advances the bit position by nBits.

    Advances the bit position by nBits. If nBits aren't available this returns false. Otherwise it returns true.

    Definition Classes
    DataOutputStreamImplMixinDataStreamCommon
  75. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  76. final def toAbsolute(relBitPos0b: ULong): ULong

    Permalink
  77. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  78. val unionByteBuffer: ByteBuffer

    Permalink
    Attributes
    protected
  79. val unionLongBuffer: LongBuffer

    Permalink
    Attributes
    protected
  80. final def validateFinalStreamState: Unit

    Permalink

    Called once after each parse operation to verify final invariants for the implementation.

    Called once after each parse operation to verify final invariants for the implementation.

    Use to perform checks such as that data structures held in pools are all returned before end of parse.

    Definition Classes
    DataOutputStreamImplMixinDataStreamCommon
  81. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  84. final lazy val withLocalByteBuffer: LocalStack[LocalByteBuffer]

    Permalink
    Definition Classes
    LocalBufferMixin
  85. final lazy val withLocalCharBuffer: LocalStack[LocalCharBuffer]

    Permalink
    Definition Classes
    LocalBufferMixin
  86. macro def withLoggingLevel[S](newLevel: Type)(body: ⇒ S): Unit

    Permalink
    Definition Classes
    Logging

Inherited from LocalBufferMixin

Inherited from DataStreamCommonImplMixin

Inherited from DataOutputStream

Inherited from Logging

Inherited from Identity

Inherited from DataStreamCommon

Inherited from DataStreamCommonState

Inherited from AnyRef

Inherited from Any

Ungrouped