Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbvosburgh2011-03-02 23:38:04 +0000
committerbvosburgh2011-03-02 23:38:04 +0000
commitc33940b79c906fdb2f20a4ffa99e15f96039d719 (patch)
tree9a0901ed883578c08f088a78ed1218fc474919e8 /common/plugins/org.eclipse.jpt.common.utility/src/org
parentde24ef1f7fb732f140326d9cb6cedb427d5877b6 (diff)
downloadwebtools.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.java42
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);
}
}

Back to the top