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 }