From: Markus Scherer Date: Mon, 6 Feb 2017 21:44:01 +0000 (+0000) Subject: ICU-12410 rename impl.CaseMap to impl.CaseMapImpl, avoid name collision with new... X-Git-Tag: release-59-rc~145^2~11 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8543833fd748250006a74836a140177fc0db693b;p=icu ICU-12410 rename impl.CaseMap to impl.CaseMapImpl, avoid name collision with new text.CaseMap X-SVN-Rev: 39645 --- diff --git a/icu4j/main/classes/core/src/com/ibm/icu/impl/CaseMap.java b/icu4j/main/classes/core/src/com/ibm/icu/impl/CaseMapImpl.java similarity index 99% rename from icu4j/main/classes/core/src/com/ibm/icu/impl/CaseMap.java rename to icu4j/main/classes/core/src/com/ibm/icu/impl/CaseMapImpl.java index 8ec51544b6f..a17bf786b37 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/impl/CaseMap.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/impl/CaseMapImpl.java @@ -8,8 +8,7 @@ import com.ibm.icu.text.Edits; import com.ibm.icu.util.ICUUncheckedIOException; import com.ibm.icu.util.ULocale; -// TODO: rename to CaseMapImpl -public final class CaseMap { +public final class CaseMapImpl { /** * Implementation of UCaseProps.ContextIterator, iterates over a String. * See ustrcase.c/utf16_caseContextIterator(). @@ -134,6 +133,11 @@ public final class CaseMap { protected int dir; // 0=initial state >0=forward <0=backward } + /** + * Omit unchanged text when case-mapping with Edits. + */ + public static final int OMIT_UNCHANGED_TEXT = 0x4000; + private static int appendCodePoint(Appendable a, int c) throws IOException { if (c <= Character.MAX_VALUE) { a.append((char)c); @@ -156,8 +160,7 @@ public final class CaseMap { // (not) original code point if (edits != null) { edits.addUnchanged(cpLength); - // TODO: remove package path - if ((options & com.ibm.icu.text.CaseMap.OMIT_UNCHANGED_TEXT) != 0) { + if ((options & OMIT_UNCHANGED_TEXT) != 0) { return; } } @@ -181,8 +184,7 @@ public final class CaseMap { if (length > 0) { if (edits != null) { edits.addUnchanged(length); - // TODO: remove package path - if ((options & com.ibm.icu.text.CaseMap.OMIT_UNCHANGED_TEXT) != 0) { + if ((options & OMIT_UNCHANGED_TEXT) != 0) { return; } } diff --git a/icu4j/main/classes/core/src/com/ibm/icu/lang/UCharacter.java b/icu4j/main/classes/core/src/com/ibm/icu/lang/UCharacter.java index ec8517f08e8..88a01d70be7 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/lang/UCharacter.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/lang/UCharacter.java @@ -15,8 +15,8 @@ import java.util.Iterator; import java.util.Locale; import java.util.Map; -import com.ibm.icu.impl.CaseMap; -import com.ibm.icu.impl.CaseMap.StringContextIterator; +import com.ibm.icu.impl.CaseMapImpl; +import com.ibm.icu.impl.CaseMapImpl.StringContextIterator; import com.ibm.icu.impl.IllegalIcuArgumentException; import com.ibm.icu.impl.Trie2; import com.ibm.icu.impl.UBiDiProps; @@ -29,6 +29,7 @@ import com.ibm.icu.impl.UPropertyAliases; import com.ibm.icu.lang.UCharacterEnums.ECharacterCategory; import com.ibm.icu.lang.UCharacterEnums.ECharacterDirection; import com.ibm.icu.text.BreakIterator; +import com.ibm.icu.text.CaseMap; import com.ibm.icu.text.Edits; import com.ibm.icu.text.Normalizer2; import com.ibm.icu.util.RangeValueIterator; @@ -4936,7 +4937,7 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection * @stable ICU 3.2 */ public static String toUpperCase(ULocale locale, String str) { - return CaseMap.toUpper(locale, str); + return CaseMapImpl.toUpper(locale, str); } /** @@ -4949,7 +4950,6 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection */ public static String toLowerCase(Locale locale, String str) { - // TODO: remove package path if (str.length() <= 100) { if (str.isEmpty()) { return str; @@ -4958,11 +4958,11 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection // Good if no or few changes. // Bad (slow) if many changes. Edits edits = new Edits(); - StringBuilder replacementChars = com.ibm.icu.text.CaseMap.toLower().omitUnchangedText().apply( + StringBuilder replacementChars = CaseMap.toLower().omitUnchangedText().apply( locale, str, new StringBuilder(), edits); return applyEdits(str, replacementChars, edits); } else { - return com.ibm.icu.text.CaseMap.toLower().apply(locale, str, new StringBuilder(), null).toString(); + return CaseMap.toLower().apply(locale, str, new StringBuilder(), null).toString(); } } diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/CaseMap.java b/icu4j/main/classes/core/src/com/ibm/icu/text/CaseMap.java index 30cfca7673e..07fd011d5cf 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/text/CaseMap.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/text/CaseMap.java @@ -4,6 +4,7 @@ package com.ibm.icu.text; import java.util.Locale; +import com.ibm.icu.impl.CaseMapImpl; import com.ibm.icu.impl.UCaseProps; import com.ibm.icu.lang.UCharacter; import com.ibm.icu.util.ULocale; @@ -74,7 +75,7 @@ public abstract class CaseMap { */ public static final class Lower extends CaseMap { private static final Lower DEFAULT = new Lower(0); - private static final Lower OMIT_UNCHANGED = new Lower(OMIT_UNCHANGED_TEXT); + private static final Lower OMIT_UNCHANGED = new Lower(CaseMapImpl.OMIT_UNCHANGED_TEXT); private Lower(int opt) { super(opt); } /** @@ -111,9 +112,7 @@ public abstract class CaseMap { locale = Locale.getDefault(); } int caseLocale = UCaseProps.getCaseLocale(locale); - // TODO: remove package path - return com.ibm.icu.impl.CaseMap.toLower( - caseLocale, internalOptions, src, dest, edits); + return CaseMapImpl.toLower(caseLocale, internalOptions, src, dest, edits); } } @@ -126,7 +125,7 @@ public abstract class CaseMap { */ public static final class Upper extends CaseMap { private static final Upper DEFAULT = new Upper(0); - private static final Upper OMIT_UNCHANGED = new Upper(OMIT_UNCHANGED_TEXT); + private static final Upper OMIT_UNCHANGED = new Upper(CaseMapImpl.OMIT_UNCHANGED_TEXT); private Upper(int opt) { super(opt); } /** @@ -172,7 +171,7 @@ public abstract class CaseMap { */ public static final class Title extends CaseMap { private static final Title DEFAULT = new Title(0); - private static final Title OMIT_UNCHANGED = new Title(OMIT_UNCHANGED_TEXT); + private static final Title OMIT_UNCHANGED = new Title(CaseMapImpl.OMIT_UNCHANGED_TEXT); private Title(int opt) { super(opt); } /** @@ -182,10 +181,10 @@ public abstract class CaseMap { */ @Override public Title omitUnchangedText() { - if (internalOptions == 0 || internalOptions == OMIT_UNCHANGED_TEXT) { + if (internalOptions == 0 || internalOptions == CaseMapImpl.OMIT_UNCHANGED_TEXT) { return OMIT_UNCHANGED; } - return new Title(internalOptions | OMIT_UNCHANGED_TEXT); + return new Title(internalOptions | CaseMapImpl.OMIT_UNCHANGED_TEXT); } /** @@ -274,9 +273,9 @@ public abstract class CaseMap { public static final class Fold extends CaseMap { private static final Fold DEFAULT = new Fold(0); private static final Fold TURKIC = new Fold(UCharacter.FOLD_CASE_EXCLUDE_SPECIAL_I); - private static final Fold OMIT_UNCHANGED = new Fold(OMIT_UNCHANGED_TEXT); + private static final Fold OMIT_UNCHANGED = new Fold(CaseMapImpl.OMIT_UNCHANGED_TEXT); private static final Fold TURKIC_OMIT_UNCHANGED = new Fold( - UCharacter.FOLD_CASE_EXCLUDE_SPECIAL_I | OMIT_UNCHANGED_TEXT); + UCharacter.FOLD_CASE_EXCLUDE_SPECIAL_I | CaseMapImpl.OMIT_UNCHANGED_TEXT); private Fold(int opt) { super(opt); } /** @@ -304,7 +303,7 @@ public abstract class CaseMap { * @provisional This API might change or be removed in a future release. */ public Fold turkic() { - return (internalOptions & OMIT_UNCHANGED_TEXT) == 0 ? + return (internalOptions & CaseMapImpl.OMIT_UNCHANGED_TEXT) == 0 ? TURKIC : TURKIC_OMIT_UNCHANGED; } @@ -332,13 +331,4 @@ public abstract class CaseMap { return null; } } - - /** - * Omit unchanged text when case-mapping with Edits. - * - * @internal - * @deprecated This API is ICU internal only. - */ - @Deprecated - public static final int OMIT_UNCHANGED_TEXT = 0x4000; // TODO: move to a non-public class }