/** * Creates a new {@link UnmodifiableNavigableSetSerializer} and registers its serializer * for the UnmodifiableNavigableSetSerializer related class. * * @param kryo the {@link Kryo} instance to set the serializer on */ public static void registerSerializers(final Kryo kryo) { // UnmodifiableNavigableSetSerializer (private class) final UnmodifiableNavigableSetSerializer serializer = new UnmodifiableNavigableSetSerializer(); kryo.register(Sets.unmodifiableNavigableSet(new TreeSet<Object>()).getClass(), serializer); } }
@Override public void write(Kryo kryo, Output output, NavigableSet<?> object) { // We want to preserve the underlying delegate class, so we need to reflectively get it and write it directly via kryo kryo.writeClassAndObject(output, getDelegateFromUnmodifiableNavigableSet(object)); }
protected Kryo initialValue() { Kryo kryo = new Kryo(); kryo.register(CGLibProxySerializer.CGLibProxyMarker.class, new CGLibProxySerializer()); UnmodifiableCollectionsSerializer.registerSerializers(kryo); SynchronizedCollectionsSerializer.registerSerializers(kryo); kryo.register(Arrays.asList("").getClass(), new ArraysAsListSerializer()); ImmutableListSerializer.registerSerializers(kryo); ImmutableSetSerializer.registerSerializers(kryo); ImmutableMapSerializer.registerSerializers(kryo); ImmutableMultimapSerializer.registerSerializers(kryo); ReverseListSerializer.registerSerializers(kryo); UnmodifiableNavigableSetSerializer.registerSerializers(kryo); ArrayListMultimapSerializer.registerSerializers(kryo); HashMultimapSerializer.registerSerializers(kryo); LinkedHashMultimapSerializer.registerSerializers(kryo); LinkedListMultimapSerializer.registerSerializers(kryo); TreeMultimapSerializer.registerSerializers(kryo); return kryo; } };
@Override public void apply(final Kryo kryo) { ArrayListMultimapSerializer.registerSerializers(kryo); HashMultimapSerializer.registerSerializers(kryo); ImmutableListSerializer.registerSerializers(kryo); ImmutableMapSerializer.registerSerializers(kryo); ImmutableMultimapSerializer.registerSerializers(kryo); ImmutableSetSerializer.registerSerializers(kryo); ImmutableSortedSetSerializer.registerSerializers(kryo); LinkedHashMultimapSerializer.registerSerializers(kryo); LinkedListMultimapSerializer.registerSerializers(kryo); TreeMultimapSerializer.registerSerializers(kryo); UnmodifiableNavigableSetSerializer.registerSerializers(kryo); } }
@Override public void write(Kryo kryo, Output output, NavigableSet<?> object) { // We want to preserve the underlying delegate class, so we need to reflectively get it and write it directly via kryo kryo.writeClassAndObject(output, getDelegateFromUnmodifiableNavigableSet(object)); }
/** * Creates a new {@link UnmodifiableNavigableSetSerializer} and registers its serializer * for the UnmodifiableNavigableSetSerializer related class. * * @param kryo the {@link Kryo} instance to set the serializer on */ public static void registerSerializers(final Kryo kryo) { // UnmodifiableNavigableSetSerializer (private class) final UnmodifiableNavigableSetSerializer serializer = new UnmodifiableNavigableSetSerializer(); kryo.register(Sets.unmodifiableNavigableSet(new TreeSet<Object>()).getClass(), serializer); } }
@Override public NavigableSet<?> copy(Kryo kryo, NavigableSet<?> original) { return Sets.unmodifiableNavigableSet((NavigableSet<?>) kryo.copy(getDelegateFromUnmodifiableNavigableSet(original))); }
@Override public NavigableSet<?> copy(Kryo kryo, NavigableSet<?> original) { return Sets.unmodifiableNavigableSet((NavigableSet<?>) kryo.copy(getDelegateFromUnmodifiableNavigableSet(original))); }