1 package prefuse.data.tuple; 2 3 import java.util.Date ; 4 5 import prefuse.data.Graph; 6 import prefuse.data.Schema; 7 import prefuse.data.Table; 8 import prefuse.data.Tuple; 9 10 15 public class TableTuple implements Tuple { 16 17 protected Table m_table; 18 protected int m_row; 19 20 28 protected void init(Table table, Graph graph, int row) { 29 m_table = table; 30 m_row = m_table.isValidRow(row) ? row : -1; 31 } 32 33 36 public Schema getSchema() { 37 return m_table.getSchema(); 38 } 39 40 43 public Table getTable() { 44 return m_table; 45 } 46 47 50 public int getRow() { 51 return m_row; 52 } 53 54 57 60 public boolean isValid() { 61 return m_row != -1; 62 } 63 64 68 void invalidate() { 69 m_row = -1; 70 } 71 72 75 private void validityCheck() { 76 if ( m_row == -1 ) { 77 throw new IllegalStateException ("This tuple is no longer valid. " + 78 "It has been deleted from its table"); 79 } 80 } 81 82 85 88 public Class getColumnType(String field) { 89 return m_table.getColumnType(field); 90 } 91 92 95 public Class getColumnType(int col) { 96 return m_table.getColumnType(col); 97 } 98 99 102 public int getColumnIndex(String field) { 103 return m_table.getColumnNumber(field); 104 } 105 106 109 public int getColumnCount() { 110 return m_table.getColumnCount(); 111 } 112 113 116 public String getColumnName(int col) { 117 return m_table.getColumnName(col); 118 } 119 120 123 126 public boolean canGet(String field, Class type) { 127 return m_table.canGet(field, type); 128 } 129 130 133 public boolean canSet(String field, Class type) { 134 return m_table.canSet(field, type); 135 } 136 137 140 public final Object get(String field) { 141 validityCheck(); 142 return m_table.get(m_row, field); 143 } 144 145 148 public final void set(String field, Object value) { 149 validityCheck(); 150 m_table.set(m_row, field, value); 151 } 152 153 156 public final Object get(int idx) { 157 validityCheck(); 158 return m_table.get(m_row, idx); 159 } 160 161 164 public final void set(int idx, Object value) { 165 validityCheck(); 166 m_table.set(m_row, idx, value); 167 } 168 169 172 public Object getDefault(String field) { 173 validityCheck(); 174 return m_table.getDefault(field); 175 } 176 177 180 public void revertToDefault(String field) { 181 validityCheck(); 182 m_table.revertToDefault(m_row, field); 183 } 184 185 188 191 public final boolean canGetInt(String field) { 192 return m_table.canGetInt(field); 193 } 194 195 198 public final boolean canSetInt(String field) { 199 return m_table.canSetInt(field); 200 } 201 202 205 public final int getInt(String field) { 206 validityCheck(); 207 return m_table.getInt(m_row, field); 208 } 209 210 213 public final void setInt(String field, int val) { 214 validityCheck(); 215 m_table.setInt(m_row, field, val); 216 } 217 218 221 public final int getInt(int col) { 222 validityCheck(); 223 return m_table.getInt(m_row, col); 224 } 225 226 229 public final void setInt(int col, int val) { 230 validityCheck(); 231 m_table.setInt(m_row, col, val); 232 } 233 234 236 239 public final boolean canGetLong(String field) { 240 return m_table.canGetLong(field); 241 } 242 243 246 public final boolean canSetLong(String field) { 247 return m_table.canSetLong(field); 248 } 249 250 253 public final long getLong(String field) { 254 validityCheck(); 255 return m_table.getLong(m_row, field); 256 } 257 258 261 public final void setLong(String field, long val) { 262 validityCheck(); 263 m_table.setLong(m_row, field, val); 264 } 265 266 269 public final long getLong(int col) { 270 validityCheck(); 271 return m_table.getLong(m_row, col); 272 } 273 274 277 public final void setLong(int col, long val) { 278 validityCheck(); 279 m_table.setLong(m_row, col, val); 280 } 281 282 284 287 public final boolean canGetFloat(String field) { 288 return m_table.canGetFloat(field); 289 } 290 291 294 public final boolean canSetFloat(String field) { 295 return m_table.canSetFloat(field); 296 } 297 298 301 public final float getFloat(String field) { 302 validityCheck(); 303 return m_table.getFloat(m_row, field); 304 } 305 306 309 public final void setFloat(String field, float val) { 310 validityCheck(); 311 m_table.setFloat(m_row, field, val); 312 } 313 314 317 public final float getFloat(int col) { 318 validityCheck(); 319 return m_table.getFloat(m_row, col); 320 } 321 322 325 public final void setFloat(int col, float val) { 326 validityCheck(); 327 m_table.setFloat(m_row, col, val); 328 } 329 330 332 335 public final boolean canGetDouble(String field) { 336 return m_table.canGetDouble(field); 337 } 338 339 342 public final boolean canSetDouble(String field) { 343 return m_table.canSetDouble(field); 344 } 345 346 349 public final double getDouble(String field) { 350 validityCheck(); 351 return m_table.getDouble(m_row, field); 352 } 353 354 357 public final void setDouble(String field, double val) { 358 validityCheck(); 359 m_table.setDouble(m_row, field, val); 360 } 361 362 365 public final double getDouble(int col) { 366 validityCheck(); 367 return m_table.getDouble(m_row, col); 368 } 369 370 373 public final void setDouble(int col, double val) { 374 validityCheck(); 375 m_table.setDouble(m_row, col, val); 376 } 377 378 380 383 public final boolean canGetBoolean(String field) { 384 return m_table.canGetBoolean(field); 385 } 386 387 390 public final boolean canSetBoolean(String field) { 391 return m_table.canSetBoolean(field); 392 } 393 394 397 public final boolean getBoolean(String field) { 398 validityCheck(); 399 return m_table.getBoolean(m_row, field); 400 } 401 402 405 public final void setBoolean(String field, boolean val) { 406 validityCheck(); 407 m_table.setBoolean(m_row, field, val); 408 } 409 410 413 public final boolean getBoolean(int col) { 414 validityCheck(); 415 return m_table.getBoolean(m_row, col); 416 } 417 418 421 public final void setBoolean(int col, boolean val) { 422 validityCheck(); 423 m_table.setBoolean(m_row, col, val); 424 } 425 426 428 431 public final boolean canGetString(String field) { 432 return m_table.canGetString(field); 433 } 434 435 438 public final boolean canSetString(String field) { 439 return m_table.canSetString(field); 440 } 441 442 445 public final String getString(String field) { 446 validityCheck(); 447 return m_table.getString(m_row, field); 448 } 449 450 453 public final void setString(String field, String val) { 454 validityCheck(); 455 m_table.setString(m_row, field, val); 456 } 457 458 461 public final String getString(int col) { 462 validityCheck(); 463 return m_table.getString(m_row, col); 464 } 465 466 469 public final void setString(int col, String val) { 470 validityCheck(); 471 m_table.setString(m_row, col, val); 472 } 473 474 476 479 public final boolean canGetDate(String field) { 480 return m_table.canGetDate(field); 481 } 482 483 486 public final boolean canSetDate(String field) { 487 return m_table.canSetDate(field); 488 } 489 490 493 public final Date getDate(String field) { 494 validityCheck(); 495 return m_table.getDate(m_row, field); 496 } 497 498 501 public final void setDate(String field, Date val) { 502 validityCheck(); 503 m_table.setDate(m_row, field, val); 504 } 505 506 509 public final Date getDate(int col) { 510 validityCheck(); 511 return m_table.getDate(m_row, col); 512 } 513 514 517 public final void setDate(int col, Date val) { 518 validityCheck(); 519 m_table.setDate(m_row, col, val); 520 } 521 522 524 527 public String toString() { 528 StringBuffer sb = new StringBuffer (); 529 sb.append("Tuple["); 530 for ( int i=0; i<getColumnCount(); ++i ) { 531 if ( i > 0 ) sb.append(','); 532 try { 533 sb.append(get(i).toString()); 534 } catch ( Exception e ) { 535 sb.append("?"); 536 } 537 } 538 sb.append("]"); 539 return sb.toString(); 540 } 541 542 } | Popular Tags |