changes + bring up uncommited previous changes.
[IRC.git] / Robust / src / ClassLibrary / SSJavaInfer / Character.java
1 public class Character {
2
3   public static int digit(char ch, int radix) {
4     if (ch >= '0' && ch <= '9')
5       return ch - '0';
6     else if (ch >= 'a' && ch <= 'z') {
7       int val = (ch - 'a') + 10;
8       if (val < radix)
9         return val;
10     } else if (ch >= 'A' && ch <= 'Z') {
11       int val = (ch - 'A') + 10;
12       if (val < radix)
13         return val;
14     }
15     return -1;
16   }
17
18   public static boolean isDigit(char ch) {
19     // TODO This is a temparory implementation, there are other groups of digits
20     // besides '0' ~ '9'
21     if (ch >= '0' && ch <= '9')
22       return true;
23     else
24       return false;
25   }
26
27   char value;
28
29   public Character(char c) {
30     value = c;
31   }
32
33   public Character(Character c) {
34     value = c.value;
35   }
36
37   public String toString() {
38     return "" + value;
39   }
40
41   public static boolean isWhitespace(char character) {
42     boolean returnValue;
43     if ((character == '\t') || (character == '\n') || (character == ' ') || (character == '\u000C') || (character == '\u001C') || (character == '\u001D') || (character == '\u001E') || (character == '\u001F')) {
44       returnValue = true;
45     } else {
46       returnValue = false;
47     }
48     return returnValue;
49   }
50
51   public static final int MIN_RADIX = 2;
52   public static final int MAX_RADIX = 36;
53
54   public static char forDigit(int digit, int radix) {
55     if ((digit >= radix) || (digit < 0)) {
56       return '\0';
57     }
58     if ((radix < Character.MIN_RADIX) || (radix > Character.MAX_RADIX)) {
59       return '\0';
60     }
61     if (digit < 10) {
62       return (char) ('0' + digit);
63     }
64     return (char) ('a' - 10 + digit);
65   }
66 }