home *** CD-ROM | disk | FTP | other *** search
- package java.text;
-
- final class UnicodeClassMapping {
- private int[] mappedValue;
- private SpecialMapping[] exceptionChars;
- private boolean[] hasException;
- private int[] asciiValues;
-
- public UnicodeClassMapping(int[] var1, SpecialMapping[] var2, boolean[] var3, int[] var4) {
- this.mappedValue = var1;
- this.exceptionChars = var2;
- this.hasException = var3;
- this.asciiValues = var4;
- }
-
- public int mappedChar(char var1) {
- if (var1 <= 255) {
- return this.asciiValues[var1];
- } else {
- int var2 = Character.getType(var1);
- if (this.exceptionChars.length != 0 && (this.hasException[var2] || var1 == '\uffff')) {
- int var3 = 0;
- int var4 = this.exceptionChars.length - 1;
-
- while(var4 > var3) {
- int var5 = var4 + var3 >> 1;
- if (var1 > this.exceptionChars[var5].endChar) {
- var3 = var5 + 1;
- } else {
- var4 = var5;
- }
- }
-
- SpecialMapping var6 = this.exceptionChars[var3];
- if (var6.startChar <= var1 && var1 <= var6.endChar) {
- return var6.newValue;
- } else {
- return this.mappedValue[var2];
- }
- } else {
- return this.mappedValue[var2];
- }
- }
- }
- }
-