package io.teknek.nibiru.engine.atom;
import org.apache.http.util.ByteArrayBuffer;
import io.teknek.nibiru.engine.SsTableReader;
public class ColumnValue extends AtomValue {
private String value;
private long createTime;
private long ttl;
public ColumnValue(){
}
public ColumnValue(String value, long time, long createTime, long ttl){
this.value = value;
this.time = time;
this.createTime = createTime;
this.ttl = ttl;
}
@Override
public byte [] externalize(){
//TODO use byte buffer
ByteArrayBuffer bb1 = new ByteArrayBuffer(100);
bb1.append('C');
byte [] cr = String.valueOf(getCreateTime()).getBytes();
bb1.append(cr, 0 , cr.length);
bb1.append(SsTableReader.END_COLUMN_PART);
cr = String.valueOf(getTime()).getBytes();
bb1.append(cr, 0 , cr.length);
bb1.append(SsTableReader.END_COLUMN_PART);
cr = String.valueOf(getTtl()).getBytes();
bb1.append(cr,0,cr.length);
bb1.append(SsTableReader.END_COLUMN_PART);
cr = String.valueOf(getValue()).getBytes();
bb1.append(SsTableReader.END_COLUMN_PART);
bb1.append(cr,0,cr.length);
return bb1.toByteArray();
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public long getTime() {
return time;
}
public void setTime(long time) {
this.time = time;
}
public long getCreateTime() {
return createTime;
}
public void setCreateTime(long createTime) {
this.createTime = createTime;
}
public long getTtl() {
return ttl;
}
public void setTtl(long ttl) {
this.ttl = ttl;
}
@Override
public String toString() {
return "ColumnValue [value=" + value + ", createTime=" + createTime + ", ttl=" + ttl + "]";
}
}