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.
- Alphabetic
- By Inheritance
- BitsCharsetNonByteSize
- BitsCharset
- Serializable
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
bitWidthOfACodeUnit: Int
- Definition Classes
- BitsCharset
-
abstract
val
decodeString: String
- Attributes
- protected
-
abstract
def
name: String
- Definition Classes
- BitsCharset
- abstract val replacementCharCode: Int
-
abstract
def
requiredBitOrder: BitOrder
- Definition Classes
- BitsCharset
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
- def averageBitsPerChar(): Float
- def averageBytesPerChar(): Float
- def averageCharsPerBit(): Float
- def averageCharsPerByte(): Float
- def charToCode(char: Char): MaybeInt
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
- def codeToChar(code: Int): Char
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
equals(other: Any): Boolean
- Definition Classes
- BitsCharset → AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
hashCode(): Int
- Definition Classes
- BitsCharset → AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
mandatoryBitAlignment: Int
- Definition Classes
- BitsCharsetNonByteSize → BitsCharset
- def maxBitsPerChar(): Float
- def maxBytesPerChar(): Float
- def maxCharsPerBit(): Float
- def maxCharsPerByte(): Float
-
def
maybeFixedWidth: MaybeInt
- Definition Classes
- BitsCharsetNonByteSize → BitsCharset
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
newDecoder(): BitsCharsetDecoder
- Definition Classes
- BitsCharsetNonByteSize → BitsCharset
-
def
newEncoder(): BitsCharsetEncoder
- Definition Classes
- BitsCharsetNonByteSize → BitsCharset
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
padCharWidthInBits: Int
- Definition Classes
- BitsCharset
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()