@Override public Integer deserialize(Integer reuse, DataInputView source) throws IOException { return deserialize(source); }
@Override public Integer copy(Integer from) { return IntSerializer.INSTANCE.copy(from); }
@Override public int hashCode() { return IntSerializer.INSTANCE.hashCode(); } }
@Override public void serialize(Lockable<E> record, DataOutputView target) throws IOException { IntSerializer.INSTANCE.serialize(record.refCounter, target); elementSerializer.serialize(record.element, target); }
@Override protected TypeSerializer<Integer> createSerializer() { return new IntSerializer(); }
@Override public TypeSerializer<Integer> duplicate() { return IntSerializer.INSTANCE.duplicate(); }
@Override public void serialize(Integer record, DataOutputView target) throws IOException { IntSerializer.INSTANCE.serialize(record, target); }
@Override protected TypeSerializer<Integer> createSerializer() { return new IntSerializer(); }
/** * This tests that {@link Lockable.LockableTypeSerializer#duplicate()} works as expected. */ @Test public void testDuplicate() { IntSerializer nonDuplicatingInnerSerializer = IntSerializer.INSTANCE; Assert.assertSame(nonDuplicatingInnerSerializer, nonDuplicatingInnerSerializer.duplicate()); Lockable.LockableTypeSerializer<Integer> candidateTestShallowDuplicate = new Lockable.LockableTypeSerializer<>(nonDuplicatingInnerSerializer); Assert.assertSame(candidateTestShallowDuplicate, candidateTestShallowDuplicate.duplicate()); TestDuplicateSerializer duplicatingInnerSerializer = new TestDuplicateSerializer(); Assert.assertNotSame(duplicatingInnerSerializer, duplicatingInnerSerializer.duplicate()); Lockable.LockableTypeSerializer<Integer> candidateTestDeepDuplicate = new Lockable.LockableTypeSerializer<>(duplicatingInnerSerializer); Lockable.LockableTypeSerializer<Integer> deepDuplicate = candidateTestDeepDuplicate.duplicate(); Assert.assertNotSame(candidateTestDeepDuplicate, deepDuplicate); Assert.assertNotSame(candidateTestDeepDuplicate.getElementSerializer(), deepDuplicate.getElementSerializer()); } }
@Override public Integer deserialize(DataInputView source) throws IOException { return IntSerializer.INSTANCE.deserialize(source); }
@Override public Integer copy(Integer from, Integer reuse) { return IntSerializer.INSTANCE.copy(from, reuse); }
@Override public void serialize(Lockable<E> record, DataOutputView target) throws IOException { IntSerializer.INSTANCE.serialize(record.refCounter, target); elementSerializer.serialize(record.element, target); }
@Override public int hashCode() { return elemSerializer.hashCode(); } }
@SuppressWarnings("unchecked") @Override protected TupleSerializer<Tuple3<Integer, String, Double>> createSerializer() { return new TupleSerializer<Tuple3<Integer, String, Double>>( (Class<Tuple3<Integer, String, Double>>) (Class<?>) Tuple3.class, new TypeSerializer[]{ new IntSerializer(), new StringSerializer(), new DoubleSerializer()}); }
@Override public Integer deserialize(Integer reuse, DataInputView source) throws IOException { return IntSerializer.INSTANCE.deserialize(reuse, source); }
@Override public void copy(DataInputView source, DataOutputView target) throws IOException { IntSerializer.INSTANCE.copy(source, target); }
@Override public void serialize(EventId record, DataOutputView target) throws IOException { IntSerializer.INSTANCE.serialize(record.id, target); LongSerializer.INSTANCE.serialize(record.timestamp, target); }
@Override public int hashCode() { return elemSerializer.hashCode(); } }
@SuppressWarnings("unchecked") @Override protected TupleSerializer<Tuple3<Integer, String, Double>> createSerializer() { return new TupleSerializer<Tuple3<Integer, String, Double>>( (Class<Tuple3<Integer, String, Double>>) (Class<?>) Tuple3.class, new TypeSerializer[]{ new IntSerializer(), new StringSerializer(), new DoubleSerializer()}); }
@Override public Lockable<E> deserialize(DataInputView source) throws IOException { int refCount = IntSerializer.INSTANCE.deserialize(source); E record = elementSerializer.deserialize(source); return new Lockable<>(record, refCount); }