Package com.ibm.icu.charset
Class CharsetMBCS.CharsetEncoderMBCS
- java.lang.Object
-
- java.nio.charset.CharsetEncoder
-
- com.ibm.icu.charset.CharsetEncoderICU
-
- com.ibm.icu.charset.CharsetMBCS.CharsetEncoderMBCS
-
- Enclosing class:
- CharsetMBCS
class CharsetMBCS.CharsetEncoderMBCS extends CharsetEncoderICU
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
CharsetMBCS.CharsetEncoderMBCS.SideEffects
private class
CharsetMBCS.CharsetEncoderMBCS.SideEffectsDouble
private class
CharsetMBCS.CharsetEncoderMBCS.SideEffectsSingleBMP
-
Field Summary
Fields Modifier and Type Field Description private boolean
allowReplacementChanges
-
Fields inherited from class com.ibm.icu.charset.CharsetEncoderICU
errorBuffer, errorBufferLength, EXT_MAX_UCHARS, fromCharErrorBehaviour, fromUChar32, fromUContext, fromUnicodeStatus, invalidUCharBuffer, invalidUCharLength, MISSING_CHAR_MARKER, preFromUArray, preFromUBegin, preFromUFirstCP, preFromULength, useFallback, useSubChar1
-
-
Constructor Summary
Constructors Constructor Description CharsetEncoderMBCS(CharsetICU cs)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.nio.charset.CoderResult
cbFromUWriteSub(CharsetEncoderICU encoder, java.nio.CharBuffer source, java.nio.ByteBuffer target, java.nio.IntBuffer offsets)
Overrides super class methodprivate java.nio.charset.CoderResult
cnvMBCSDoubleFromUnicodeWithOffsets(java.nio.CharBuffer source, java.nio.ByteBuffer target, java.nio.IntBuffer offsets, boolean flush)
(package private) java.nio.charset.CoderResult
cnvMBCSFromUnicodeWithOffsets(java.nio.CharBuffer source, java.nio.ByteBuffer target, java.nio.IntBuffer offsets, boolean flush)
private java.nio.charset.CoderResult
cnvMBCSSingleFromBMPWithOffsets(java.nio.CharBuffer source, java.nio.ByteBuffer target, java.nio.IntBuffer offsets, boolean flush)
private java.nio.charset.CoderResult
cnvMBCSSingleFromUnicodeWithOffsets(java.nio.CharBuffer source, java.nio.ByteBuffer target, java.nio.IntBuffer offsets, boolean flush)
private java.nio.charset.CoderResult
continueMatchFromU(java.nio.CharBuffer source, java.nio.ByteBuffer target, java.nio.IntBuffer offsets, boolean flush, int srcIndex)
protected java.nio.charset.CoderResult
encodeLoop(java.nio.CharBuffer source, java.nio.ByteBuffer target, java.nio.IntBuffer offsets, boolean flush)
private int
fromU(int cp, java.nio.CharBuffer source, java.nio.ByteBuffer target, java.nio.IntBuffer offsets, int sourceIndex, int length, boolean flush, java.nio.charset.CoderResult[] cr)
(package private) int
fromUChar32(int c, int[] pValue, boolean isUseFallback)
private boolean
getTrail(java.nio.CharBuffer source, java.nio.ByteBuffer target, int uniMask, CharsetMBCS.CharsetEncoderMBCS.SideEffects x, boolean flush, java.nio.charset.CoderResult[] cr)
private boolean
getTrailDouble(java.nio.CharBuffer source, java.nio.ByteBuffer target, int uniMask, CharsetMBCS.CharsetEncoderMBCS.SideEffectsDouble x, boolean flush, java.nio.charset.CoderResult[] cr)
private boolean
getTrailSingleBMP(java.nio.CharBuffer source, CharsetMBCS.CharsetEncoderMBCS.SideEffectsSingleBMP x, java.nio.charset.CoderResult[] cr)
protected void
implReplaceWith(byte[] replacement)
Gets called whenever CharsetEncoder.replaceWith gets called.protected void
implReset()
Resets the from Unicode mode of converterprivate boolean
initialMatchFromU(int cp, java.nio.CharBuffer source, java.nio.ByteBuffer target, java.nio.IntBuffer offsets, int srcIndex, boolean flush, java.nio.charset.CoderResult[] cr)
private int
matchFromU(int firstCP, char[] preArray, int preArrayBegin, int preLength, java.nio.CharBuffer source, int[] pMatchValue, boolean isUseFallback, boolean flush)
private int
simpleMatchFromU(int cp, int[] pValue, boolean isUseFallback)
private boolean
unassigned(java.nio.CharBuffer source, java.nio.ByteBuffer target, java.nio.IntBuffer offsets, CharsetMBCS.CharsetEncoderMBCS.SideEffects x, boolean flush, java.nio.charset.CoderResult[] cr)
private boolean
unassignedDouble(java.nio.CharBuffer source, java.nio.ByteBuffer target, CharsetMBCS.CharsetEncoderMBCS.SideEffectsDouble x, boolean flush, java.nio.charset.CoderResult[] cr)
private java.nio.charset.CoderResult
writeFromU(int value, java.nio.ByteBuffer target, java.nio.IntBuffer offsets, int srcIndex)
-
Methods inherited from class com.ibm.icu.charset.CharsetEncoderICU
cbFromUWriteUChars, encode, encodeLoop, fromUCountPending, fromUnicodeWithCallback, fromUWriteBytes, getMaxBytesForString, handleSurrogates, handleSurrogates, implFlush, implOnMalformedInput, implOnUnmappableCharacter, isFallbackUsed, isFromUUseFallback, isFromUUseFallback, isLegalReplacement, maxCharsPerByte, setFallbackUsed, setFromUCallback, setFromUContext
-
-
-
-
Constructor Detail
-
CharsetEncoderMBCS
CharsetEncoderMBCS(CharsetICU cs)
-
-
Method Detail
-
implReset
protected void implReset()
Description copied from class:CharsetEncoderICU
Resets the from Unicode mode of converter- Overrides:
implReset
in classCharsetEncoderICU
-
encodeLoop
protected java.nio.charset.CoderResult encodeLoop(java.nio.CharBuffer source, java.nio.ByteBuffer target, java.nio.IntBuffer offsets, boolean flush)
- Specified by:
encodeLoop
in classCharsetEncoderICU
-
fromUChar32
int fromUChar32(int c, int[] pValue, boolean isUseFallback)
-
continueMatchFromU
private java.nio.charset.CoderResult continueMatchFromU(java.nio.CharBuffer source, java.nio.ByteBuffer target, java.nio.IntBuffer offsets, boolean flush, int srcIndex)
-
matchFromU
private int matchFromU(int firstCP, char[] preArray, int preArrayBegin, int preLength, java.nio.CharBuffer source, int[] pMatchValue, boolean isUseFallback, boolean flush)
- Parameters:
cx
- pointer to extension data; if NULL, returns 0firstCP
- the first code point before all the other UCharspre
- UChars that must match; !initialMatch: partial match with thempreLength
- length of pre, >=0src
- UChars that can be used to complete a matchsrcLength
- length of src, >=0pMatchValue
- [out] output result value for the match from the data structureuseFallback
- "use fallback" flag, usually from cnv->useFallbackflush
- true if the end of the input stream is reached- Returns:
- >1: matched, return value=total match length (number of input units matched) 1: matched, no mapping
but request for
(only for the first code point) 0: no match <0: partial match, return value=negative total match length (partial matches are never returned for flush==true) (partial matches are never returned as being longer than UCNV_EXT_MAX_UCHARS) the matchLength is 2 if only firstCP matched, and >2 if firstCP and further code units matched
-
simpleMatchFromU
private int simpleMatchFromU(int cp, int[] pValue, boolean isUseFallback)
-
writeFromU
private java.nio.charset.CoderResult writeFromU(int value, java.nio.ByteBuffer target, java.nio.IntBuffer offsets, int srcIndex)
-
fromU
private int fromU(int cp, java.nio.CharBuffer source, java.nio.ByteBuffer target, java.nio.IntBuffer offsets, int sourceIndex, int length, boolean flush, java.nio.charset.CoderResult[] cr)
-
initialMatchFromU
private boolean initialMatchFromU(int cp, java.nio.CharBuffer source, java.nio.ByteBuffer target, java.nio.IntBuffer offsets, int srcIndex, boolean flush, java.nio.charset.CoderResult[] cr)
-
cnvMBCSFromUnicodeWithOffsets
java.nio.charset.CoderResult cnvMBCSFromUnicodeWithOffsets(java.nio.CharBuffer source, java.nio.ByteBuffer target, java.nio.IntBuffer offsets, boolean flush)
-
cnvMBCSSingleFromBMPWithOffsets
private java.nio.charset.CoderResult cnvMBCSSingleFromBMPWithOffsets(java.nio.CharBuffer source, java.nio.ByteBuffer target, java.nio.IntBuffer offsets, boolean flush)
-
cnvMBCSSingleFromUnicodeWithOffsets
private java.nio.charset.CoderResult cnvMBCSSingleFromUnicodeWithOffsets(java.nio.CharBuffer source, java.nio.ByteBuffer target, java.nio.IntBuffer offsets, boolean flush)
-
cnvMBCSDoubleFromUnicodeWithOffsets
private java.nio.charset.CoderResult cnvMBCSDoubleFromUnicodeWithOffsets(java.nio.CharBuffer source, java.nio.ByteBuffer target, java.nio.IntBuffer offsets, boolean flush)
-
getTrailSingleBMP
private final boolean getTrailSingleBMP(java.nio.CharBuffer source, CharsetMBCS.CharsetEncoderMBCS.SideEffectsSingleBMP x, java.nio.charset.CoderResult[] cr)
-
getTrail
private final boolean getTrail(java.nio.CharBuffer source, java.nio.ByteBuffer target, int uniMask, CharsetMBCS.CharsetEncoderMBCS.SideEffects x, boolean flush, java.nio.charset.CoderResult[] cr)
-
unassigned
private final boolean unassigned(java.nio.CharBuffer source, java.nio.ByteBuffer target, java.nio.IntBuffer offsets, CharsetMBCS.CharsetEncoderMBCS.SideEffects x, boolean flush, java.nio.charset.CoderResult[] cr)
-
getTrailDouble
private final boolean getTrailDouble(java.nio.CharBuffer source, java.nio.ByteBuffer target, int uniMask, CharsetMBCS.CharsetEncoderMBCS.SideEffectsDouble x, boolean flush, java.nio.charset.CoderResult[] cr)
-
unassignedDouble
private final boolean unassignedDouble(java.nio.CharBuffer source, java.nio.ByteBuffer target, CharsetMBCS.CharsetEncoderMBCS.SideEffectsDouble x, boolean flush, java.nio.charset.CoderResult[] cr)
-
cbFromUWriteSub
protected java.nio.charset.CoderResult cbFromUWriteSub(CharsetEncoderICU encoder, java.nio.CharBuffer source, java.nio.ByteBuffer target, java.nio.IntBuffer offsets)
Overrides super class method- Overrides:
cbFromUWriteSub
in classCharsetEncoderICU
- Parameters:
encoder
-source
-target
-offsets
-- Returns:
-
implReplaceWith
protected void implReplaceWith(byte[] replacement)
Gets called whenever CharsetEncoder.replaceWith gets called. allowReplacementChanges only allows subChar and subChar1 to be modified outside construction (since replaceWith is called once during construction).- Overrides:
implReplaceWith
in classjava.nio.charset.CharsetEncoder
- Parameters:
replacement
- The replacement for subchar.
-
-