1 package com.instantbank.common.utilcomponents;
2
3 import java.util.StringTokenizer;
4 import java.util.ArrayList;
5
6
11
12 public class UtilOnJdk {
13
16 public static final int OK = 1;
17
18
21 public static final int VOID_NAME = 2;
22
23
26 public static final int BAD_SYNTAX_NAME = 3;
27
28
31 public static final char ROW_SEPARATOR = '\u00BB';
32
33
36 public static final char VALUE_SEPARATOR = '\u00B1';
37
38
39
57 public static Object isValidName(String s) {
58 StringTokenizer stk = new StringTokenizer(s);
59 StringBuffer sb = new StringBuffer();
60 String tok;
61 if(stk.hasMoreTokens()) {
62 tok = stk.nextToken().toLowerCase();
63 if(isValidNamePart(tok)) {
64 sb.append(tok);
65 }
66 else {
67 return new Integer(BAD_SYNTAX_NAME);
68 }
69 }
70 else {
71 return new Integer(VOID_NAME);
72 }
73
74 while(stk.hasMoreTokens()) {
75 sb.append(' ');
76 tok = stk.nextToken().toLowerCase();
77 if(isValidNamePart(tok)) {
78 sb.append(tok);
79 }
80 else {
81 return new Integer(BAD_SYNTAX_NAME);
82 }
83 }
84
85 return sb.toString();
86 }
87
88
89
96 public static boolean isValidNamePart(String s) {
97 char c;
98 for(int i = 0; i < s.length(); i++) {
99 c = s.charAt(i);
100 if(c < 32 || c > 126) {
101 return false;
102 }
103
104 if(c == '"' || c == '\'' || c == '`' || c == '\\') {
105 return false;
106 }
107 }
108 return true;
109 }
110
111
112
119 public static String squeeze(String s) {
120 return squeeze(s, ' ');
121 }
122
123
124
135 public static String squeeze(String s, char whiteReplacement) {
136 StringTokenizer stk = new StringTokenizer(s);
137 StringBuffer sb = new StringBuffer();
138 if(stk.hasMoreTokens()) {
139 sb.append(stk.nextToken().toLowerCase());
140 }
141 else {
142 return "";
143 }
144
145 while(stk.hasMoreTokens()) {
146 sb.append(whiteReplacement);
147 sb.append(stk.nextToken().toLowerCase());
148 }
149
150 return sb.toString();
151 }
152
153
154
163 public static String serializeRowSet(ArrayList rowset) {
164
165 if(rowset.size() == 0) {
166 return "";
167 }
168
169 StringBuffer sb = new StringBuffer();
170
171 for(int i = 0; i < rowset.size(); i++) {
172
173 String[] row = (String[])rowset.get(i);
174 for(int k = 0; k < row.length; k++) {
175 sb.append(row[k]);
176 if(k + 1 < row.length) {
177 sb.append(VALUE_SEPARATOR);
178 }
179 }
180
181 if(i + 1 < rowset.size()) {
182 sb.append(ROW_SEPARATOR);
183 }
184 }
185 return sb.toString();
186 }
187
188 }
189