return _header;
}
@Override
public Object getValue(int index) throws IndexOutOfBoundsException {
final Column column = _header.getSelectItem(index).getColumn();
final String name = column.getName();
if (HBaseDataContext.FIELD_ID.equals(name)) {
byte[] rowKey = _result.getRow();
if (column.getType().isLiteral()) {
return Bytes.toString(rowKey);
}
return rowKey;
}
final int colonIndex = name.indexOf(':');
if (colonIndex != -1) {
byte[] family = name.substring(0, colonIndex).getBytes();
byte[] qualifier = name.substring(colonIndex + 1).getBytes();
byte[] value = _result.getValue(family, qualifier);
if (value == null) {
return null;
}
if (column.getType().isLiteral()) {
return Bytes.toString(value);
}
return value;
} else {
final NavigableMap<byte[], byte[]> map = _result.getFamilyMap(name.getBytes());