home *** CD-ROM | disk | FTP | other *** search
- package java.text;
-
- class PatternEntry {
- static final int RESET = -2;
- static final int UNSET = -1;
- int strength = -1;
- String chars = "";
- String extension = "";
-
- public void appendQuotedExtension(StringBuffer var1) {
- appendQuoted(this.extension, var1);
- }
-
- public void appendQuotedChars(StringBuffer var1) {
- appendQuoted(this.chars, var1);
- }
-
- public boolean equals(Object var1) {
- if (var1 == null) {
- return false;
- } else {
- PatternEntry var2 = (PatternEntry)var1;
- boolean var3 = this.chars.equals(var2.chars);
- return var3;
- }
- }
-
- public int hashCode() {
- return this.chars.hashCode();
- }
-
- public String toString() {
- StringBuffer var1 = new StringBuffer();
- this.addToBuffer(var1, true, false, (PatternEntry)null);
- return var1.toString();
- }
-
- final int getStrength() {
- return this.strength;
- }
-
- final String getExtension() {
- return this.extension;
- }
-
- final String getChars() {
- return this.chars;
- }
-
- void addToBuffer(StringBuffer var1, boolean var2, boolean var3, PatternEntry var4) {
- if (var3 && var1.length() > 0) {
- if (this.strength != 0 && var4 == null) {
- var1.append(' ');
- } else {
- var1.append('\n');
- }
- }
-
- if (var4 != null) {
- var1.append('&');
- if (var3) {
- var1.append(' ');
- }
-
- var4.appendQuotedChars(var1);
- this.appendQuotedExtension(var1);
- if (var3) {
- var1.append(' ');
- }
- }
-
- switch (this.strength) {
- case -2:
- var1.append('&');
- break;
- case -1:
- var1.append('?');
- break;
- case 0:
- var1.append('<');
- break;
- case 1:
- var1.append(';');
- break;
- case 2:
- var1.append(',');
- break;
- case 3:
- var1.append('=');
- }
-
- if (var3) {
- var1.append(' ');
- }
-
- appendQuoted(this.chars, var1);
- if (var2 && this.extension.length() != 0) {
- var1.append('/');
- appendQuoted(this.extension, var1);
- }
-
- }
-
- static void appendQuoted(String var0, StringBuffer var1) {
- boolean var2 = false;
- char var3 = var0.charAt(0);
- if (Character.isSpaceChar(var3)) {
- var2 = true;
- var1.append('\'');
- } else if (isSpecialChar(var3)) {
- var2 = true;
- var1.append('\'');
- } else {
- switch (var3) {
- case '\t':
- case '\n':
- case '\f':
- case '\r':
- case '\u0010':
- case '@':
- var2 = true;
- var1.append('\'');
- break;
- case '\'':
- var2 = true;
- var1.append('\'');
- break;
- default:
- if (var2) {
- var2 = false;
- var1.append('\'');
- }
- }
- }
-
- var1.append(var0);
- if (var2) {
- var1.append('\'');
- }
-
- }
-
- PatternEntry(int var1, StringBuffer var2, StringBuffer var3) {
- this.strength = var1;
- this.chars = var2.toString();
- this.extension = var3.length() > 0 ? var3.toString() : "";
- }
-
- static boolean isSpecialChar(char var0) {
- return var0 <= '/' && var0 >= ' ' || var0 <= '?' && var0 >= ':' || var0 <= '`' && var0 >= '[' || var0 <= '~' && var0 >= '{';
- }
- }
-