Packages

t

org.apache.daffodil.processors.charset

BitsCharsetNonByteSize

trait BitsCharsetNonByteSize extends BitsCharset

Some encodings are not byte-oriented.

If we know the correspondence from integers to characters, and we can express that as a string, then everything else can be derived

This class is explicitly not a java.nio.charset.Charset. It is a BitsCharset, which is not a compatible type with a java.nio.charset.Charset on purpose so we don't confuse the two.

The problem is that java.nio.charset.Charset is designed in such a way that one cannot implement a proxy class that redirects methods to another class. This is due to all the final methods on the class.

So instead we do the opposite. We implement our own BitsCharset API, but implement the behavior in terms of a proxy JavaCharsetDecoder and proxy JavaCharsetEncoder that drive the decodeLoop and encodeLoop. This way we don't have to re-implement all the error handling and flush/end logic.

Linear Supertypes
BitsCharset, Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. BitsCharsetNonByteSize
  2. BitsCharset
  3. Serializable
  4. Serializable
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def bitWidthOfACodeUnit: Int
    Definition Classes
    BitsCharset
  2. abstract val decodeString: String
    Attributes
    protected
  3. abstract def name: String
    Definition Classes
    BitsCharset
  4. abstract val replacementCharCode: Int
  5. abstract def requiredBitOrder: BitOrder
    Definition Classes
    BitsCharset

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def averageBitsPerChar(): Float
  6. def averageBytesPerChar(): Float
  7. def averageCharsPerBit(): Float
  8. def averageCharsPerByte(): Float
  9. def charToCode(char: Char): MaybeInt
  10. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  11. def codeToChar(code: Int): Char
  12. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def equals(other: Any): Boolean
    Definition Classes
    BitsCharset → AnyRef → Any
  14. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. final def hashCode(): Int
    Definition Classes
    BitsCharset → AnyRef → Any
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. def mandatoryBitAlignment: Int
    Definition Classes
    BitsCharsetNonByteSizeBitsCharset
  19. def maxBitsPerChar(): Float
  20. def maxBytesPerChar(): Float
  21. def maxCharsPerBit(): Float
  22. def maxCharsPerByte(): Float
  23. def maybeFixedWidth: MaybeInt
    Definition Classes
    BitsCharsetNonByteSizeBitsCharset
  24. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  25. def newDecoder(): BitsCharsetDecoder
    Definition Classes
    BitsCharsetNonByteSizeBitsCharset
  26. def newEncoder(): BitsCharsetEncoder
    Definition Classes
    BitsCharsetNonByteSizeBitsCharset
  27. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  28. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  29. final def padCharWidthInBits: Int
    Definition Classes
    BitsCharset
  30. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  31. def toString(): String
    Definition Classes
    AnyRef → Any
  32. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from BitsCharset

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped