/** * Creates a new {@link TreeMultimapSerializer} and registers its serializer. * * @param kryo the {@link Kryo} instance to set the serializer on */ public static void registerSerializers(final Kryo kryo) { final TreeMultimapSerializer serializer = new TreeMultimapSerializer(); kryo.register(TreeMultimap.class, serializer); } }
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 write(Kryo kryo, Output output, TreeMultimap<Comparable, Comparable> multimap) { kryo.writeClassAndObject(output, multimap.keyComparator()); kryo.writeClassAndObject(output, multimap.valueComparator()); writeMultimap(kryo, output, multimap); }
@Override public TreeMultimap<Comparable, Comparable> read(Kryo kryo, Input input, Class<? extends TreeMultimap<Comparable, Comparable>> type) { Comparator<? super Comparable> keyComparator = (Comparator<? super Comparable>) kryo.readClassAndObject(input); Comparator<? super Comparable> valueComparator = (Comparator<? super Comparable>) kryo.readClassAndObject(input); final TreeMultimap<Comparable, Comparable> multimap = TreeMultimap.create(keyComparator, valueComparator); readMultimap(kryo, input, multimap); return multimap; }
@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, TreeMultimap<Comparable, Comparable> multimap) { kryo.writeClassAndObject(output, multimap.keyComparator()); kryo.writeClassAndObject(output, multimap.valueComparator()); writeMultimap(kryo, output, multimap); }
@Override public TreeMultimap<Comparable, Comparable> read(Kryo kryo, Input input, Class<? extends TreeMultimap<Comparable, Comparable>> type) { Comparator<? super Comparable> keyComparator = (Comparator<? super Comparable>) kryo.readClassAndObject(input); Comparator<? super Comparable> valueComparator = (Comparator<? super Comparable>) kryo.readClassAndObject(input); final TreeMultimap<Comparable, Comparable> multimap = TreeMultimap.create(keyComparator, valueComparator); readMultimap(kryo, input, multimap); return multimap; }
/** * Creates a new {@link TreeMultimapSerializer} and registers its serializer. * * @param kryo the {@link Kryo} instance to set the serializer on */ public static void registerSerializers(final Kryo kryo) { final TreeMultimapSerializer serializer = new TreeMultimapSerializer(); kryo.register(TreeMultimap.class, serializer); } }