blob: 852fb0705506c5f30c20601e11f19bd086628b3c [file] [log] [blame]
Madan Jampani1416d2e2014-11-04 18:11:51 -08001package org.onlab.onos.store.service;
2
3import java.util.Arrays;
4
Yuta HIGUCHI5e1cfe02014-11-04 21:22:45 -08005import com.google.common.base.MoreObjects;
6
Madan Jampani1416d2e2014-11-04 18:11:51 -08007/**
8 * Wrapper object that holds the object (as byte array) and its version.
9 */
10public class VersionedValue {
11
12 private final byte[] value;
13 private final long version;
14
15 /**
16 * Creates a new instance with the specified value and version.
Madan Jampani9b19a822014-11-04 21:37:13 -080017 * @param value value
18 * @param version version
Madan Jampani1416d2e2014-11-04 18:11:51 -080019 */
20 public VersionedValue(byte[] value, long version) {
21 this.value = value;
22 this.version = version;
23 }
24
25 /**
26 * Returns the value.
27 * @return value.
28 */
29 public byte[] value() {
30 return value;
31 }
32
33 /**
34 * Returns the version.
35 * @return version.
36 */
37 public long version() {
38 return version;
39 }
40
41 @Override
42 public String toString() {
Yuta HIGUCHI5e1cfe02014-11-04 21:22:45 -080043 return MoreObjects.toStringHelper(getClass())
44 .add("version", version)
45 .add("value", Arrays.toString(value))
46 .toString();
Madan Jampani1416d2e2014-11-04 18:11:51 -080047 }
48}