diff --git a/icu4j/src/com/ibm/icu/text/UnicodeSet.java b/icu4j/src/com/ibm/icu/text/UnicodeSet.java index 1806662f9f9..3edf8a7dfb8 100755 --- a/icu4j/src/com/ibm/icu/text/UnicodeSet.java +++ b/icu4j/src/com/ibm/icu/text/UnicodeSet.java @@ -5,8 +5,8 @@ ******************************************************************************* * * $Source: /xsrl/Nsvn/icu/icu4j/src/com/ibm/icu/text/UnicodeSet.java,v $ - * $Date: 2003/06/03 18:49:35 $ - * $Revision: 1.96 $ + * $Date: 2003/06/11 19:59:52 $ + * $Revision: 1.97 $ * ***************************************************************************************** */ @@ -403,30 +403,31 @@ public class UnicodeSet extends UnicodeFilter { applyPattern(pattern, pos, symbols, IGNORE_SPACE); } - // Delete the following when the category constructor is removed - private static final String CATEGORY_NAMES = - // 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 - //0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 8 9 0 1 2 3 4 5 6 7 8 - "CnLuLlLtLmLoMnMeMcNdNlNoZsZlZpCcCf--CoCsPdPsPePcPoSmScSkSo"; - /** - * DEPRECATED - Constructs a set from the given Unicode character - * category. - * @param category an integer indicating the character category as - * returned by java.lang.Character.getType(). Note - * that this is different from the UCharacterCategory - * codes. - * @exception java.lang.IllegalArgumentException if the given - * category is invalid. - * @deprecated ICU 0.0 this will be removed Dec-31-2002 - */ - public UnicodeSet(int category) { - if (category < 0 || category > java.lang.Character.OTHER_SYMBOL || - category == 17) { - throw new IllegalArgumentException("Invalid category"); - } - String pat = "[:" + CATEGORY_NAMES.substring(2*category, 2*category+2) + ":]"; - applyPattern(pat, false); - } +// Removed ICU 2.6 +// // Delete the following when the category constructor is removed +// private static final String CATEGORY_NAMES = +// // 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 +// //0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 8 9 0 1 2 3 4 5 6 7 8 +// "CnLuLlLtLmLoMnMeMcNdNlNoZsZlZpCcCf--CoCsPdPsPePcPoSmScSkSo"; +// /** +// * DEPRECATED - Constructs a set from the given Unicode character +// * category. +// * @param category an integer indicating the character category as +// * returned by java.lang.Character.getType(). Note +// * that this is different from the UCharacterCategory +// * codes. +// * @exception java.lang.IllegalArgumentException if the given +// * category is invalid. +// * @deprecated ICU 0.0 this will be removed Dec-31-2002 +// */ +// public UnicodeSet(int category) { +// if (category < 0 || category > java.lang.Character.OTHER_SYMBOL || +// category == 17) { +// throw new IllegalArgumentException("Invalid category"); +// } +// String pat = "[:" + CATEGORY_NAMES.substring(2*category, 2*category+2) + ":]"; +// applyPattern(pat, false); +// } /** * Return a new set that is equivalent to this one. @@ -1242,6 +1243,10 @@ public class UnicodeSet extends UnicodeFilter { /** * Retain the specified character from this set if it is present. + * Upon return this set will be empty if it did not contain c, or + * will only contain c if it did contain c. + * @param s the character to be retained + * @return this object, for chaining * @stable ICU 2.0 */ public final UnicodeSet retain(int c) { @@ -1250,17 +1255,20 @@ public class UnicodeSet extends UnicodeFilter { /** * Retain the specified string in this set if it is present. - * The set will not contain the specified character once the call - * returns. - * @param s the source string + * Upon return this set will be empty if it did not contain s, or + * will only contain s if it did contain s. + * @param s the string to be retained * @return this object, for chaining * @stable ICU 2.0 */ public final UnicodeSet retain(String s) { int cp = getSingleCP(s); if (cp < 0) { - if (strings.size() == 1 && strings.contains(s)) return this; - strings.clear(); + boolean isIn = strings.contains(s); + if (isIn && size() == 1) { + return this; + } + clear(); strings.add(s); pat = null; } else { @@ -1298,6 +1306,8 @@ public class UnicodeSet extends UnicodeFilter { * Removes the specified character from this set if it is present. * The set will not contain the specified character once the call * returns. + * @param c the character to be removed + * @return this object, for chaining * @stable ICU 2.0 */ public final UnicodeSet remove(int c) { @@ -1306,9 +1316,9 @@ public class UnicodeSet extends UnicodeFilter { /** * Removes the specified string from this set if it is present. - * The set will not contain the specified character once the call + * The set will not contain the specified string once the call * returns. - * @param s the source string + * @param s the string to be removed * @return this object, for chaining * @stable ICU 2.0 */