* @return The value of the field
*/
private Object uncheckedGetField(int fieldID) {
if (!getFieldInited()[fieldID]) {
getFieldInited()[fieldID] = true;
ByteArrayRef ref = null;
String columnFamily = hbaseColumnFamilies.get(fieldID);
String columnQualifier = hbaseColumnQualifiers.get(fieldID);
byte [] columnFamilyBytes = hbaseColumnFamiliesBytes.get(fieldID);
byte [] columnQualifierBytes = hbaseColumnQualifiersBytes.get(fieldID);
if (HBaseSerDe.isSpecialColumn(columnFamily)) {
assert(columnQualifier == null);
ref = new ByteArrayRef();
ref.setData(result.getRow());
} else {
if (columnQualifier == null) {
// it is a column family
((LazyHBaseCellMap) getFields()[fieldID]).init(result, columnFamilyBytes);
} else {
// it is a column i.e. a column-family with column-qualifier
byte [] res = result.getValue(columnFamilyBytes, columnQualifierBytes);
if (res == null) {
return null;
} else {
ref = new ByteArrayRef();
ref.setData(res);
}
}
}
if (ref != null) {
getFields()[fieldID].init(ref, 0, ref.getData().length);
}
}
return getFields()[fieldID].getObject();
}