00001 package is; 00002 00003 import java.sql.Time; 00004 import java.sql.Date; 00005 import java.util.StringTokenizer; 00006 00012 public class Istream 00013 { 00014 private StringTokenizer st; 00015 private String data; 00016 private String name; 00017 00018 Istream( String data ) 00019 { 00020 this.data = data; 00021 st = new StringTokenizer( this.data, "\n" ); 00022 00023 String token = st.nextToken(); 00024 name = token.substring( token.indexOf( "\" i=\"" ) + 5, token.lastIndexOf( "\"" ) ); 00025 } 00026 00027 String getData( ) 00028 { 00029 return data; 00030 } 00031 00032 String readName( ) 00033 { 00034 return name; 00035 } 00036 00041 public boolean getBoolean() 00042 { 00043 String token = st.nextToken(); 00044 String val = token.substring( token.indexOf( ">" ) + 1, token.lastIndexOf( "<" ) ); 00045 00046 int i = Integer.parseInt( val ); 00047 return ( i == 0 ? false : true ); 00048 } 00049 00054 public byte getByte() 00055 { 00056 String token = st.nextToken(); 00057 String val = token.substring( token.indexOf( ">" ) + 1, token.lastIndexOf( "<" ) ); 00058 00059 return Byte.parseByte( val ); 00060 } 00061 00066 public short getShort( ) 00067 { 00068 String token = st.nextToken(); 00069 String val = token.substring( token.indexOf( ">" ) + 1, token.lastIndexOf( "<" ) ); 00070 00071 return Short.parseShort( val ); 00072 } 00073 00078 public int getInt( ) 00079 { 00080 String token = st.nextToken(); 00081 String val = token.substring( token.indexOf( ">" ) + 1, token.lastIndexOf( "<" ) ); 00082 00083 return Integer.parseInt( val ); 00084 } 00085 00090 public float getFloat() 00091 { 00092 String token = st.nextToken(); 00093 String val = token.substring( token.indexOf( ">" ) + 1, token.lastIndexOf( "<" ) ); 00094 00095 return Float.parseFloat( val ); 00096 } 00097 00102 public double getDouble() 00103 { 00104 String token = st.nextToken(); 00105 String val = token.substring( token.indexOf( ">" ) + 1, token.lastIndexOf( "<" ) ); 00106 00107 return Double.parseDouble( val ); 00108 } 00109 00114 public String getString() 00115 { 00116 String token = st.nextToken(); 00117 StringBuffer buffer = new StringBuffer(token); 00118 while( !token.endsWith( "</a>") ) 00119 { 00120 token = st.nextToken(); 00121 buffer.append("\n" + token); 00122 } 00123 String val = buffer.substring( buffer.indexOf( ">" ) + 1, buffer.lastIndexOf( "<" ) ); 00124 return Util.invalidate( val ); 00125 } 00126 00131 public Date getDate() 00132 { 00133 String token = st.nextToken(); 00134 String val = token.substring( token.indexOf( ">" ) + 1, token.lastIndexOf( "<" ) ); 00135 00136 return new Date( Long.parseLong( val ) * 1000 ); 00137 } 00138 00143 public Time getTime() 00144 { 00145 String token = st.nextToken(); 00146 String val = token.substring( token.indexOf( ">" ) + 1, token.lastIndexOf( "<" ) ); 00147 00148 return new Time( Long.parseLong( val ) * 1000 ); 00149 } 00150 00155 public boolean[] getBooleanArray( ) 00156 { 00157 String token = st.nextToken(); 00158 int size = Integer.parseInt ( token.substring( token.indexOf( "s=\"" ) + 3, token.lastIndexOf( "\"" ) ) ); 00159 00160 boolean array[] = new boolean[size]; 00161 StringTokenizer val = new StringTokenizer ( token.substring( token.indexOf( ">" ) + 1, token.lastIndexOf( "<" ) ) ); 00162 00163 for( int i = 0; i < size; i++ ) 00164 { 00165 int b = Integer.parseInt( val.nextToken() ); 00166 array[i] = ( b == 0 ? false : true ); 00167 } 00168 return array; 00169 } 00170 00175 public byte[] getByteArray( ) 00176 { 00177 String token = st.nextToken(); 00178 int size = Integer.parseInt ( token.substring( token.indexOf( "s=\"" ) + 3, token.lastIndexOf( "\"" ) ) ); 00179 00180 byte array[] = new byte[size]; 00181 StringTokenizer val = new StringTokenizer ( token.substring( token.indexOf( ">" ) + 1, token.lastIndexOf( "<" ) ) ); 00182 00183 for( int i = 0; i < size; i++ ) 00184 { 00185 array[i] = Byte.parseByte( val.nextToken() ); 00186 } 00187 return array; 00188 } 00189 00194 public short[] getShortArray( ) 00195 { 00196 String token = st.nextToken(); 00197 int size = Integer.parseInt ( token.substring( token.indexOf( "s=\"" ) + 3, token.lastIndexOf( "\"" ) ) ); 00198 00199 short array[] = new short[size]; 00200 StringTokenizer val = new StringTokenizer ( token.substring( token.indexOf( ">" ) + 1, token.lastIndexOf( "<" ) ) ); 00201 00202 for( int i = 0; i < size; i++ ) 00203 { 00204 array[i] = Short.parseShort( val.nextToken() ); 00205 } 00206 return array; 00207 } 00208 00213 public int[] getIntArray( ) 00214 { 00215 String token = st.nextToken(); 00216 int size = Integer.parseInt ( token.substring( token.indexOf( "s=\"" ) + 3, token.lastIndexOf( "\"" ) ) ); 00217 00218 int array[] = new int[size]; 00219 StringTokenizer val = new StringTokenizer ( token.substring( token.indexOf( ">" ) + 1, token.lastIndexOf( "<" ) ) ); 00220 00221 for( int i = 0; i < size; i++ ) 00222 { 00223 array[i] = Integer.parseInt( val.nextToken() ); 00224 } 00225 return array; 00226 } 00227 00232 public float[] getFloatArray( ) 00233 { 00234 String token = st.nextToken(); 00235 int size = Integer.parseInt ( token.substring( token.indexOf( "s=\"" ) + 3, token.lastIndexOf( "\"" ) ) ); 00236 00237 float array[] = new float[size]; 00238 StringTokenizer val = new StringTokenizer ( token.substring( token.indexOf( ">" ) + 1, token.lastIndexOf( "<" ) ) ); 00239 00240 for( int i = 0; i < size; i++ ) 00241 { 00242 array[i] = Float.parseFloat( val.nextToken() ); 00243 } 00244 return array; 00245 } 00246 00251 public double[] getDoubleArray( ) 00252 { 00253 String token = st.nextToken(); 00254 int size = Integer.parseInt ( token.substring( token.indexOf( "s=\"" ) + 3, token.lastIndexOf( "\"" ) ) ); 00255 00256 double array[] = new double[size]; 00257 StringTokenizer val = new StringTokenizer ( token.substring( token.indexOf( ">" ) + 1, token.lastIndexOf( "<" ) ) ); 00258 00259 for( int i = 0; i < size; i++ ) 00260 { 00261 array[i] = Double.parseDouble( val.nextToken() ); 00262 } 00263 return array; 00264 } 00265 00270 public String[] getStringArray( ) 00271 { 00272 String token = st.nextToken(); 00273 StringBuffer buffer = new StringBuffer(token); 00274 while( !token.endsWith( "</a>") ) 00275 { 00276 token = st.nextToken(); 00277 buffer.append("\n" + token); 00278 } 00279 int start = buffer.indexOf( "s=\"" ) + 3; 00280 int end = buffer.indexOf( "\"", start ); 00281 int size = Integer.parseInt ( buffer.substring( start, end ) ); 00282 00283 String array[] = new String[size]; 00284 String values = buffer.substring( buffer.indexOf( ">" ) + 1, buffer.lastIndexOf( "<" ) ); 00285 00286 start = 0; 00287 for( int i = 0; i < size; i++ ) 00288 { 00289 start = values.indexOf( "\"", start ); 00290 start++; 00291 end = values.indexOf( "\"", start ); 00292 00293 array[i] = Util.invalidate( values.substring( start, end ) ); 00294 start = end + 1; 00295 } 00296 return array; 00297 } 00298 00303 public Date[] getDateArray( ) 00304 { 00305 String token = st.nextToken(); 00306 int size = Integer.parseInt ( token.substring( token.indexOf( "s=\"" ) + 3, token.lastIndexOf( "\"" ) ) ); 00307 00308 Date array[] = new Date[size]; 00309 StringTokenizer val = new StringTokenizer ( token.substring( token.indexOf( ">" ) + 1, token.lastIndexOf( "<" ) ) ); 00310 00311 String date; 00312 for( int i = 0; i < size; i++ ) 00313 { 00314 array[i] = new Date( Long.parseLong( val.nextToken() ) * 1000 ); 00315 } 00316 return array; 00317 } 00318 00323 public Time[] getTimeArray( ) 00324 { 00325 String token = st.nextToken(); 00326 int size = Integer.parseInt ( token.substring( token.indexOf( "s=\"" ) + 3, token.lastIndexOf( "\"" ) ) ); 00327 00328 Time array[] = new Time[size]; 00329 StringTokenizer val = new StringTokenizer ( token.substring( token.indexOf( ">" ) + 1, token.lastIndexOf( "<" ) ) ); 00330 00331 for( int i = 0; i < size; i++ ) 00332 { 00333 array[i] = new Time( Long.parseLong( val.nextToken() ) * 1000 ); 00334 } 00335 return array; 00336 } 00337 }