summaryrefslogtreecommitdiffstats
path: root/src/org/madore/android/unicodeMap/UnicodeCharacter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/madore/android/unicodeMap/UnicodeCharacter.java')
-rw-r--r--src/org/madore/android/unicodeMap/UnicodeCharacter.java85
1 files changed, 84 insertions, 1 deletions
diff --git a/src/org/madore/android/unicodeMap/UnicodeCharacter.java b/src/org/madore/android/unicodeMap/UnicodeCharacter.java
index 11d8d3e..7fad75d 100644
--- a/src/org/madore/android/unicodeMap/UnicodeCharacter.java
+++ b/src/org/madore/android/unicodeMap/UnicodeCharacter.java
@@ -1,13 +1,14 @@
package org.madore.android.unicodeMap;
import java.util.Arrays;
+import java.util.Collection;
import java.util.Set;
import java.util.Map;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.Formatter;
-public class UnicodeCharacter {
+public class UnicodeCharacter implements Map<String,String> {
enum Category {
UPPERCASE_LETTER("Lu", Character.UPPERCASE_LETTER),
@@ -97,6 +98,20 @@ public class UnicodeCharacter {
return name;
}
+ public String getChar() {
+ return new String(Character.toChars(codePoint));
+ }
+
+ public String getLabel() {
+ StringBuilder s = new StringBuilder();
+ Formatter fmt = new Formatter(s);
+ if ( codePoint < 0x10000 )
+ fmt.format("U+%04X %s", codePoint, name);
+ else
+ fmt.format("U+%X %s", codePoint, name);
+ return new String(s);
+ }
+
public boolean isPrintable() {
return printable.contains(this.category);
}
@@ -116,4 +131,72 @@ public class UnicodeCharacter {
return new String(s);
}
+ public final static String KEY_CHAR = "char";
+ public final static String KEY_LABEL = "label";
+
+ public void clear() {
+ throw new UnsupportedOperationException();
+ }
+
+ public boolean containsKey(Object key) {
+ throw new UnsupportedOperationException();
+ }
+
+ public boolean containsValue(Object value) {
+ throw new UnsupportedOperationException();
+ }
+
+ public Set<Map.Entry<String,String>> entrySet() {
+ throw new UnsupportedOperationException();
+ }
+
+ public boolean equals(Object o) {
+ throw new UnsupportedOperationException();
+ }
+
+ public String get(Object key) {
+ if ( key == null )
+ throw new NullPointerException();
+ else if ( key instanceof String && key.equals(KEY_CHAR) )
+ return getChar();
+ else if ( key instanceof String && key.equals(KEY_LABEL) )
+ return getLabel();
+ else if ( key instanceof String )
+ return null;
+ else
+ throw new ClassCastException();
+ }
+
+ public int hashCode() {
+ throw new UnsupportedOperationException();
+ }
+
+ public boolean isEmpty() {
+ throw new UnsupportedOperationException();
+ }
+
+ public Set<String> keySet() {
+ throw new UnsupportedOperationException();
+ }
+
+ public String put(String key, String value) {
+ throw new UnsupportedOperationException();
+ }
+
+ public void putAll(Map<? extends String,? extends String> t) {
+ throw new UnsupportedOperationException();
+ }
+
+ public String remove(Object key) {
+ throw new UnsupportedOperationException();
+ }
+
+ public int size() {
+ throw new UnsupportedOperationException();
+ }
+
+ public Collection<String> values() {
+ throw new UnsupportedOperationException();
+ }
+
}