1 24 25 package com.mckoi.database; 26 27 import com.mckoi.util.IntegerVector; 28 29 45 46 public final class ReferenceTable extends FilterTable implements RootTable { 47 48 51 private TableName table_name; 52 53 56 private DataTableDef modified_table_def; 57 58 59 62 ReferenceTable(Table table, TableName tname) { 63 super(table); 64 table_name = tname; 65 66 modified_table_def = new DataTableDef(table.getDataTableDef()); 68 modified_table_def.setTableName(tname); 69 modified_table_def.setImmutable(); 70 } 71 72 80 ReferenceTable(Table table, DataTableDef def) { 81 super(table); 82 table_name = def.getTableName(); 83 84 modified_table_def = def; 85 } 86 87 91 public TableName getTableName() { 92 return table_name; 93 } 94 95 98 public DataTableDef getDataTableDef() { 99 return modified_table_def; 100 } 101 102 107 public int findFieldName(Variable v) { 108 TableName table_name = v.getTableName(); 109 if (table_name != null && table_name.equals(getTableName())) { 110 return getDataTableDef().fastFindColumnName(v.getName()); 111 } 112 return -1; 113 } 114 115 120 public Variable getResolvedVariable(int column) { 121 return new Variable(getTableName(), 122 getDataTableDef().columnAt(column).getName()); 123 } 124 125 public boolean typeEquals(RootTable table) { 126 return (this == table); 127 } 128 129 } 130 | Popular Tags |