2 import java.nio.ByteBuffer;
5 * KeyValue entry for Slot.
6 * @author Brian Demsky <bdemsky@uci.edu>
10 class KeyValue { /*extends Entry */
11 private IoTString key;
12 private IoTString value;
14 public KeyValue(IoTString _key, IoTString _value) {
19 public IoTString getKey() {
23 public IoTString getValue() {
27 static KeyValue decode(ByteBuffer bb) {
28 int keylength = bb.getInt();
29 int valuelength = bb.getInt();
30 byte[] key = new byte[keylength];
31 byte[] value = new byte[valuelength];
34 return new KeyValue(IoTString.shallow(key), IoTString.shallow(value));
37 public void encode(ByteBuffer bb) {
38 bb.putInt(key.length());
39 bb.putInt(value.length());
40 bb.put(key.internalBytes());
41 bb.put(value.internalBytes());
44 public int getSize() {
45 return 2 * Integer.BYTES + key.length() + value.length();
48 public String toString() {
49 return value.toString();
52 public KeyValue getCopy() {
53 return new KeyValue(key, value);