package org.wonderdb.types.record;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.wonderdb.types.DBType;
import org.wonderdb.types.Extended;
import org.wonderdb.types.ExtendedColumn;
import org.wonderdb.types.RecordId;
public class TableRecord implements ListRecord {
Map<Integer, DBType> columnMap = null;
RecordId recordId = null;
public TableRecord(Map<Integer, DBType> map) {
columnMap = map;
}
public RecordId getRecordId() {
return recordId;
}
public void setRecordId(RecordId recordId) {
this.recordId = recordId;
}
public Map<Integer, DBType> getColumnMap() {
return columnMap;
}
public void setColumnMap(Map<Integer, DBType> columnMap) {
this.columnMap = columnMap;
}
public DBType getValue(int colId) {
DBType dt = columnMap.get(colId);
if (dt instanceof ExtendedColumn) {
return ((ExtendedColumn) dt).getValue(null);
}
return dt;
}
@Override
public DBType copyOf() {
// throw new RuntimeException("Method not supported");
TableRecord record = new TableRecord(columnMap);
record.setRecordId(recordId);
record.columnMap = new HashMap<Integer, DBType>(columnMap);
return record;
}
@Override
public int compareTo(DBType o) {
throw new RuntimeException("Method not supported");
}
@Override
public int getResourceCount() {
int size = 0;
Iterator<DBType> iter = columnMap.values().iterator();
while (iter.hasNext()) {
DBType column = iter.next();
if (column != null && column instanceof ExtendedColumn) {
size = size + ((Extended) column).getPtrList().size();
}
}
return size;
}
@Override
public int hashCode() {
throw new RuntimeException("Method not supported");
}
@Override
public boolean equals(Object o) {
throw new RuntimeException("Method not supported");
}
}