1 24 25 package com.mckoi.database; 26 27 import java.util.ArrayList ; 28 import com.mckoi.database.global.StandardMessages; 29 30 39 40 final class GTProductDataSource extends GTDataSource { 41 42 45 private ArrayList key_value_pairs; 46 47 50 public GTProductDataSource(Transaction transaction) { 51 super(transaction.getSystem()); 52 this.key_value_pairs = new ArrayList (); 53 } 54 55 58 public GTProductDataSource init() { 59 60 key_value_pairs.add("name"); 62 key_value_pairs.add(StandardMessages.NAME); 63 64 key_value_pairs.add("version"); 65 key_value_pairs.add(StandardMessages.VERSION); 66 67 key_value_pairs.add("copyright"); 68 key_value_pairs.add(StandardMessages.COPYRIGHT); 69 70 return this; 71 } 72 73 75 public DataTableDef getDataTableDef() { 76 return DEF_DATA_TABLE_DEF; 77 } 78 79 public int getRowCount() { 80 return key_value_pairs.size() / 2; 81 } 82 83 public TObject getCellContents(final int column, final int row) { 84 switch (column) { 85 case 0: return columnValue(column, (String ) key_value_pairs.get(row * 2)); 87 case 1: return columnValue(column, 89 (String ) key_value_pairs.get((row * 2) + 1)); 90 default: 91 throw new Error ("Column out of bounds."); 92 } 93 } 94 95 97 public void dispose() { 98 super.dispose(); 99 key_value_pairs = null; 100 } 101 102 104 107 static final DataTableDef DEF_DATA_TABLE_DEF; 108 109 static { 110 111 DataTableDef def = new DataTableDef(); 112 def.setTableName( 113 new TableName(Database.SYSTEM_SCHEMA, "sUSRProductInfo")); 114 115 def.addColumn(stringColumn("var")); 117 def.addColumn(stringColumn("value")); 118 119 def.setImmutable(); 121 122 DEF_DATA_TABLE_DEF = def; 123 124 } 125 126 } 127 | Popular Tags |