@Override public Serializer<?> getDefaultSerializer(@SuppressWarnings("rawtypes") final Class clazz) { if (EnumMap.class.isAssignableFrom(clazz)) { return new EnumMapSerializer(); } if (SubListSerializers.ArrayListSubListSerializer.canSerialize(clazz) || SubListSerializers.JavaUtilSubListSerializer.canSerialize(clazz)) { return SubListSerializers.createFor(clazz); } return super.getDefaultSerializer(clazz); } };
@SuppressWarnings("unchecked") public com.esotericsoftware.kryo.Serializer<?> getDefaultSerializer(@SuppressWarnings("rawtypes") Class type) { if (EnumSet.class.isAssignableFrom(type) ) { return new EnumSetSerializer(); } if (EnumMap.class.isAssignableFrom(type) ) { return new EnumMapSerializer(); } if (Collection.class.isAssignableFrom(type) ) { return new CopyForIterateCollectionSerializer(); } if (Map.class.isAssignableFrom(type) ) { return new CopyForIterateMapSerializer(); } if (Date.class.isAssignableFrom(type) ) { return new DateSerializer(type); } return super.getDefaultSerializer(type); }; };
@Override public void apply(final Kryo kryo) { kryo.register(Arrays.asList("").getClass(), new ArraysAsListSerializer()); kryo.register(BitSet.class, new BitSetSerializer()); kryo.register(Collections.singletonList("").getClass(), new CollectionsSingletonListSerializer()); kryo.register(Collections.singleton("").getClass(), new CollectionsSingletonSetSerializer()); kryo.register(Collections.singletonMap("","").getClass(), new CollectionsSingletonMapSerializer()); kryo.register(EnumMap.class, new EnumMapSerializer()); kryo.register(EnumSet.class, new EnumSetSerializer()); kryo.register(GregorianCalendar.class, new GregorianCalendarSerializer()); kryo.register(Pattern.class, new RegexSerializer()); kryo.register(URI.class, new URISerializer()); kryo.register(UUID.class, new UUIDSerializer()); SynchronizedCollectionsSerializer.registerSerializers(kryo); UnmodifiableCollectionsSerializer.registerSerializers(kryo); } }
private static void registerNativeJdkComponentsWithKryo(final Kryo kryo) { kryo.register(Class.class, new DefaultSerializers.ClassSerializer()); kryo.register(ArrayList.class); kryo.register(LinkedList.class); kryo.register(HashMap.class); kryo.register(LinkedHashMap.class); kryo.register(LinkedHashSet.class); kryo.register(TreeMap.class); kryo.register(TreeSet.class); kryo.register(HashSet.class); kryo.register(EnumMap.class, new EnumMapSerializer()); kryo.register(EnumSet.class, new EnumSetSerializer()); kryo.register(byte[].class); kryo.register(ByteBuffer.class); kryo.register(URL.class, new URLSerializer()); kryo.register(URI.class, new URISerializer()); kryo.register(Pattern.class, new RegexSerializer()); kryo.register(UUID.class, new UUIDSerializer()); kryo.register(ZonedDateTime.class, new ZonedDateTimeSerializer()); kryo.register(Date.class, new DateSerializer(Date.class)); kryo.register(Calendar.class, new GregorianCalendarSerializer()); kryo.register(GregorianCalendar.class, new GregorianCalendarSerializer()); kryo.register(LocalDate.class, new JodaLocalDateSerializer()); kryo.register(DateTime.class, new JodaDateTimeSerializer()); kryo.register(LocalDateTime.class, new JodaLocalDateTimeSerializer()); kryo.register(EnumSet.class, new EnumSetSerializer()); }