@Override public void initialize(TypeRef typeRef, SerializerContext context) { contentSerializer = context.serializer(typeRef.getTypeParameters().get(0), this); cache = new InstanceFactoryCache(getFactories()); }
private T readCollection(Contexts.ReadContext context) { T c = (T) cache.newInstance(context.getMeta().readConcreteType()); int count = context.getMeta().readRepetitionCount(); for (int i = 0; i < count; i++) { c.add(contentSerializer.readValue(context)); } return c; } }
private T readMap(Contexts.ReadContext context) { T map = (T) cache.newInstance(context.getMeta().readConcreteType()); int size = context.getMeta().readRepetitionCount(); for (int i = 0; i < size; i++) { map.put(keySerializer.readValue(context), valueSerializer.readValue(context)); } return map; } }
@Override public void initialize(TypeRef typeRef, SerializerContext context) { keySerializer = context.serializer(typeRef.getTypeParameters().get(0), this); valueSerializer = context.serializer(typeRef.getTypeParameters().get(1), this); cache = new InstanceFactoryCache(getFactories()); }