diff options
author | bvosburgh | 2011-03-02 23:38:04 +0000 |
---|---|---|
committer | bvosburgh | 2011-03-02 23:38:04 +0000 |
commit | c33940b79c906fdb2f20a4ffa99e15f96039d719 (patch) | |
tree | 9a0901ed883578c08f088a78ed1218fc474919e8 /common/plugins/org.eclipse.jpt.common.utility/src/org | |
parent | de24ef1f7fb732f140326d9cb6cedb427d5877b6 (diff) | |
download | webtools.dali-c33940b79c906fdb2f20a4ffa99e15f96039d719.tar.gz webtools.dali-c33940b79c906fdb2f20a4ffa99e15f96039d719.tar.xz webtools.dali-c33940b79c906fdb2f20a4ffa99e15f96039d719.zip |
add ICUStringCollator
Diffstat (limited to 'common/plugins/org.eclipse.jpt.common.utility/src/org')
-rw-r--r-- | common/plugins/org.eclipse.jpt.common.utility/src/org/eclipse/jpt/common/utility/internal/StringCollator.java | 42 |
1 files changed, 23 insertions, 19 deletions
diff --git a/common/plugins/org.eclipse.jpt.common.utility/src/org/eclipse/jpt/common/utility/internal/StringCollator.java b/common/plugins/org.eclipse.jpt.common.utility/src/org/eclipse/jpt/common/utility/internal/StringCollator.java index 2949b78748..eefb0b0a33 100644 --- a/common/plugins/org.eclipse.jpt.common.utility/src/org/eclipse/jpt/common/utility/internal/StringCollator.java +++ b/common/plugins/org.eclipse.jpt.common.utility/src/org/eclipse/jpt/common/utility/internal/StringCollator.java @@ -9,50 +9,54 @@ ******************************************************************************/ package org.eclipse.jpt.common.utility.internal; -import java.io.Serializable; import java.text.Collator; import java.util.Comparator; +import java.util.Locale; /** - * This collator simply wraps the default Java collator and implements a + * This collator simply wraps a Java text collator and implements a * {@link String} {@link Comparator} (instead of an {@link Object} * {@link Comparator}, which is what {@link Collator} does, possibly for * backward-compatibility reasons(?)). * - * @see Collator#getInstance() + * @see Collator */ public class StringCollator - implements Comparator<String>, Serializable + implements Comparator<String> { - // singleton - private static final StringCollator INSTANCE = new StringCollator(); + private final Collator collator; + /** - * Return the singleton. + * Wrap the default collator. + * @see Collator#getInstance() */ - public static Comparator<String> instance() { - return INSTANCE; + public StringCollator() { + this(Collator.getInstance()); } /** - * Ensure single instance. + * Wrap the collator for the specified locale. + * @see Collator#getInstance(Locale) */ - private StringCollator() { + public StringCollator(Locale locale) { + this(Collator.getInstance(locale)); + } + + /** + * Wrap the specified collator. + */ + public StringCollator(Collator collator) { super(); + this.collator = collator; } public int compare(String string1, String string2) { - return Collator.getInstance().compare(string1, string2); + return this.collator.compare(string1, string2); } @Override public String toString() { - return this.getClass().getSimpleName(); - } - - private static final long serialVersionUID = 1L; - private Object readResolve() { - // replace this object with the singleton - return INSTANCE; + return StringTools.buildToStringFor(this, this.collator); } } |