Class CaseMapImpl
java.lang.Object
com.ibm.icu.impl.CaseMapImpl
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final classstatic final classImplementation of UCaseProps.ContextIterator, iterates over a String.private static final class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final charprivate static final Trie2_16private static final intstatic final intOmit unchanged text when case-mapping with Edits.static final intprivate static final intBit mask for the titlecasing index adjustment options bit set.private static final intBit mask for the titlecasing iterator options bit field.static final intstatic final intprivate static final int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic intaddTitleAdjustmentOption(int options, int newOption) static intaddTitleIteratorOption(int options, int newOption) private static intappendCodePoint(Appendable a, int c) private static voidappendResult(int result, Appendable dest, int cpLength, int options, Edits edits) Appends a full case mapping result, seeUCaseProps.MAX_STRING_LENGTH.private static final voidappendUnchanged(CharSequence src, int start, int length, Appendable dest, int options, Edits edits) private static StringapplyEdits(CharSequence src, StringBuilder replacementChars, Edits edits) static Stringfold(int options, CharSequence src) static <A extends Appendable>
Afold(int options, CharSequence src, A dest, Edits edits) static BreakIteratorgetTitleBreakIterator(ULocale locale, int options, BreakIterator iter) static BreakIteratorgetTitleBreakIterator(Locale locale, int options, BreakIterator iter) private static voidinternalToLower(int caseLocale, int options, CharSequence src, int srcStart, int srcLimit, CaseMapImpl.StringContextIterator iter, Appendable dest, Edits edits) caseLocale >= 0: Lowercases [srcStart..srcLimit[ but takes context [0..srcLength[ into account.private static voidinternalToUpper(int caseLocale, int options, CharSequence src, Appendable dest, Edits edits) private static booleanisLNS(int c) private static <A extends Appendable>
intmaybeTitleDutchIJ(CharSequence src, int c, int start, int segmentLimit, A dest, int options, Edits edits) Input: c is a letter I with or without acute accent.static StringtoLower(int caseLocale, int options, CharSequence src) static <A extends Appendable>
AtoLower(int caseLocale, int options, CharSequence src, A dest, Edits edits) static StringtoTitle(int caseLocale, int options, BreakIterator iter, CharSequence src) static <A extends Appendable>
AtoTitle(int caseLocale, int options, BreakIterator titleIter, CharSequence src, A dest, Edits edits) static StringtoUpper(int caseLocale, int options, CharSequence src) static <A extends Appendable>
AtoUpper(int caseLocale, int options, CharSequence src, A dest, Edits edits)
-
Field Details
-
TITLECASE_WHOLE_STRING
public static final int TITLECASE_WHOLE_STRING- See Also:
-
TITLECASE_SENTENCES
public static final int TITLECASE_SENTENCES- See Also:
-
TITLECASE_ITERATOR_MASK
private static final int TITLECASE_ITERATOR_MASKBit mask for the titlecasing iterator options bit field. Currently only 3 out of 8 values are used: 0 (words), TITLECASE_WHOLE_STRING, TITLECASE_SENTENCES. See stringoptions.h.- See Also:
-
TITLECASE_ADJUST_TO_CASED
public static final int TITLECASE_ADJUST_TO_CASED- See Also:
-
TITLECASE_ADJUSTMENT_MASK
private static final int TITLECASE_ADJUSTMENT_MASKBit mask for the titlecasing index adjustment options bit set. Currently two bits are defined: TITLECASE_NO_BREAK_ADJUSTMENT, TITLECASE_ADJUST_TO_CASED. See stringoptions.h.- See Also:
-
ACUTE
private static final char ACUTE- See Also:
-
U_GC_M_MASK
private static final int U_GC_M_MASK- See Also:
-
LNS
private static final int LNS- See Also:
-
OMIT_UNCHANGED_TEXT
public static final int OMIT_UNCHANGED_TEXTOmit unchanged text when case-mapping with Edits.- See Also:
-
CASE_TRIE
-
-
Constructor Details
-
CaseMapImpl
public CaseMapImpl()
-
-
Method Details
-
addTitleAdjustmentOption
public static int addTitleAdjustmentOption(int options, int newOption) -
isLNS
private static boolean isLNS(int c) -
addTitleIteratorOption
public static int addTitleIteratorOption(int options, int newOption) -
getTitleBreakIterator
-
getTitleBreakIterator
-
appendCodePoint
- Throws:
IOException
-
appendResult
private static void appendResult(int result, Appendable dest, int cpLength, int options, Edits edits) throws IOException Appends a full case mapping result, seeUCaseProps.MAX_STRING_LENGTH.- Throws:
IOException
-
appendUnchanged
private static final void appendUnchanged(CharSequence src, int start, int length, Appendable dest, int options, Edits edits) throws IOException - Throws:
IOException
-
applyEdits
-
internalToLower
private static void internalToLower(int caseLocale, int options, CharSequence src, int srcStart, int srcLimit, CaseMapImpl.StringContextIterator iter, Appendable dest, Edits edits) throws IOException caseLocale >= 0: Lowercases [srcStart..srcLimit[ but takes context [0..srcLength[ into account. caseLocale invalid input: '<' 0: Case-folds [srcStart..srcLimit[.- Throws:
IOException
-
internalToUpper
private static void internalToUpper(int caseLocale, int options, CharSequence src, Appendable dest, Edits edits) throws IOException - Throws:
IOException
-
toLower
-
toLower
public static <A extends Appendable> A toLower(int caseLocale, int options, CharSequence src, A dest, Edits edits) -
toUpper
-
toUpper
public static <A extends Appendable> A toUpper(int caseLocale, int options, CharSequence src, A dest, Edits edits) -
toTitle
-
toTitle
public static <A extends Appendable> A toTitle(int caseLocale, int options, BreakIterator titleIter, CharSequence src, A dest, Edits edits) -
maybeTitleDutchIJ
private static <A extends Appendable> int maybeTitleDutchIJ(CharSequence src, int c, int start, int segmentLimit, A dest, int options, Edits edits) throws IOException Input: c is a letter I with or without acute accent. start is the index in src after c, and is less than segmentLimit. If a plain i/I is followed by a plain j/J, or an i/I with acute (precomposed or decomposed) is followed by a j/J with acute, then we output accordingly.- Returns:
- the src index after the titlecased sequence, or the start index if no Dutch IJ
- Throws:
IOException
-
fold
-
fold
-