BinaryOffHeapValueHolder(long id, V value, ByteBuffer binaryValue, long creationTime, long expireTime, long lastAccessTime) { super(id, creationTime, expireTime); this.value = value; setLastAccessTime(lastAccessTime); this.binaryValue = binaryValue; }
@Test(expected = UnsupportedOperationException.class) public void testCantBeDetached() { valueHolder.detach(); }
@Test(expected = UnsupportedOperationException.class) public void testCantForceDeserialization() { valueHolder.forceDeserialization(); }
@Before public void setUp() { serializer = new StringSerializer(); value = "aValue"; valueHolder = new BinaryOffHeapValueHolder<>(-1, value, serializer.serialize(value), 0, 0, 0); }
@Test public void testCanAccessBinaryValue() throws ClassNotFoundException { assertThat(valueHolder.isBinaryValueAvailable(), is(true)); ByteBuffer binaryValue = valueHolder.getBinaryValue(); assertThat(serializer.read(binaryValue), is(value)); }
@Test(expected = UnsupportedOperationException.class) public void testCantWriteback() { valueHolder.writeBack(); } }
@Test(expected = UnsupportedOperationException.class) public void testCantUpdateMetadata() { valueHolder.updateMetadata(null); }
@Test public void testCanAccessValue() { assertThat(valueHolder.get(), is(value)); }
private OffHeapValueHolder<V> newTransferValueHolder(ValueHolder<V> valueHolder) { if (valueHolder instanceof BinaryValueHolder && ((BinaryValueHolder) valueHolder).isBinaryValueAvailable()) { return new BinaryOffHeapValueHolder<>(valueHolder.getId(), valueHolder.get(), ((BinaryValueHolder) valueHolder).getBinaryValue(), valueHolder.creationTime(), valueHolder.expirationTime(), valueHolder.lastAccessTime()); } else { return new BasicOffHeapValueHolder<>(valueHolder.getId(), valueHolder.get(), valueHolder.creationTime(), valueHolder.expirationTime(), valueHolder.lastAccessTime()); } }
private OffHeapValueHolder<V> newTransferValueHolder(ValueHolder<V> valueHolder) { if (valueHolder instanceof BinaryValueHolder && ((BinaryValueHolder) valueHolder).isBinaryValueAvailable()) { return new BinaryOffHeapValueHolder<>(valueHolder.getId(), valueHolder.get(), ((BinaryValueHolder) valueHolder).getBinaryValue(), valueHolder.creationTime(OffHeapValueHolder.TIME_UNIT), valueHolder.expirationTime(OffHeapValueHolder.TIME_UNIT), valueHolder.lastAccessTime(OffHeapValueHolder.TIME_UNIT)); } else { return new BasicOffHeapValueHolder<>(valueHolder.getId(), valueHolder.get(), valueHolder.creationTime(OffHeapValueHolder.TIME_UNIT), valueHolder.expirationTime(OffHeapValueHolder.TIME_UNIT), valueHolder.lastAccessTime(OffHeapValueHolder.TIME_UNIT)); } }
BinaryOffHeapValueHolder(long id, V value, ByteBuffer binaryValue, long creationTime, long expireTime, long lastAccessTime) { super(id, creationTime, expireTime); this.value = value; setLastAccessTime(lastAccessTime, TIME_UNIT); this.binaryValue = binaryValue; }