package com.appmetr.hercules.model;
import com.appmetr.hercules.annotations.*;
import com.appmetr.hercules.serializers.TestWideEntitySerializer;
import com.appmetr.hercules.utils.SerializationUtils;
import java.io.Externalizable;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
@WideEntity(columnFamily = "TestWideEntityCF")
@RowKey(keyClass = String.class)
//@TopKey(keyClass = String.class)
@Serializer(TestWideEntitySerializer.class)
@Partitioned
public class TestWideEntity implements Externalizable {
// @RowKey private String rowKey;
@TopKey public String topKey;
private String stringData;
private Integer intData;
public TestWideEntity() {
}
public TestWideEntity(String topKey, String stringData, Integer intData) {
this.topKey = topKey;
this.stringData = stringData;
this.intData = intData;
}
public String getStringData() {
return stringData;
}
public void setStringData(String stringData) {
this.stringData = stringData;
}
public Integer getIntData() {
return intData;
}
public void setIntData(Integer intData) {
this.intData = intData;
}
@Override public void writeExternal(ObjectOutput out) throws IOException {
SerializationUtils.writeNullUTF(out, stringData);
SerializationUtils.writeNullSafeInt(out, intData);
}
@Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
stringData = SerializationUtils.readNullUTF(in);
intData = SerializationUtils.readNullSafeInt(in);
}
@Override public String toString() {
return "TestWideEntity{" +
"stringData='" + stringData + '\'' +
", intData=" + intData +
'}';
}
}