public T deserialize(ObjectReader reader, Context ctx) throws Exception { if (ctx.hasViews()) { Class<? extends BeanView<T>> viewClass = findViewFor(type, ctx.views()); if (viewClass != null) { Type viewForType = TypeUtil.expandType(BeanView.class.getTypeParameters()[0], viewClass); @SuppressWarnings("unchecked") Class<T> viewForClass = (Class<T>) TypeUtil.getRawClass(viewForType); BeanDescriptor<T> descriptor = provider .provide(viewForClass, viewClass, ctx.genson); return descriptor.deserialize(reader, ctx); } } return wrapped.deserialize(reader, ctx); } }
public void serialize(T obj, ObjectWriter writer, Context ctx) throws Exception { boolean handled = false; List<Class<? extends BeanView<?>>> views = ctx.views(); if (views != null && views.size() > 0) { Class<? extends BeanView<T>> viewClass = findViewFor(type, views); if (viewClass != null) { Type viewForType = TypeUtil.expandType(BeanView.class.getTypeParameters()[0], viewClass); @SuppressWarnings("unchecked") Class<T> viewForClass = (Class<T>) TypeUtil.getRawClass(viewForType); BeanDescriptor<T> descriptor = provider .provide(viewForClass, viewClass, ctx.genson); descriptor.serialize(obj, writer, ctx); handled = true; } } if (!handled) wrapped.serialize(obj, writer, ctx); }
public T deserialize(ObjectReader reader, Context ctx) throws Exception { if (ctx.hasViews()) { Class<? extends BeanView<T>> viewClass = findViewFor(type, ctx.views()); if (viewClass != null) { Type viewForType = TypeUtil.expandType(BeanView.class.getTypeParameters()[0], viewClass); @SuppressWarnings("unchecked") Class<T> viewForClass = (Class<T>) TypeUtil.getRawClass(viewForType); BeanDescriptor<T> descriptor = provider .provide(viewForClass, viewClass, ctx.genson); return descriptor.deserialize(reader, ctx); } } return wrapped.deserialize(reader, ctx); } }
public void serialize(T obj, ObjectWriter writer, Context ctx) throws Exception { boolean handled = false; List<Class<? extends BeanView<?>>> views = ctx.views(); if (views != null && views.size() > 0) { Class<? extends BeanView<T>> viewClass = findViewFor(type, views); if (viewClass != null) { Type viewForType = TypeUtil.expandType(BeanView.class.getTypeParameters()[0], viewClass); @SuppressWarnings("unchecked") Class<T> viewForClass = (Class<T>) TypeUtil.getRawClass(viewForType); BeanDescriptor<T> descriptor = provider .provide(viewForClass, viewClass, ctx.genson); descriptor.serialize(obj, writer, ctx); handled = true; } } if (!handled) wrapped.serialize(obj, writer, ctx); }
public <T> T deserialize(String fromSource, GenericType<T> toType, Class<? extends BeanView<?>>... withViews) { StringReader reader = new StringReader(fromSource); return deserialize(toType, createReader(reader), new Context(this, Arrays.asList(withViews))); }
public <T> T deserialize(String fromSource, GenericType<T> toType, Class<? extends BeanView<?>>... withViews) { StringReader reader = new StringReader(fromSource); return deserialize(toType, createReader(reader), new Context(this, Arrays.asList(withViews))); }
/** * @see #deserializeInto(com.owlike.genson.stream.ObjectReader, Object, Context) */ public <T> T deserializeInto(String json, T object) { return deserializeInto(createReader(new StringReader(json)), object, new Context(this)); }
/** * @see #deserializeInto(com.owlike.genson.stream.ObjectReader, Object, Context) */ public <T> T deserializeInto(String json, T object) { return deserializeInto(createReader(new StringReader(json)), object, new Context(this)); }
/** * Serializes this object to its json form in a byte array. */ public byte[] serializeBytes(Object object) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectWriter objectWriter = createWriter(baos); if (object == null) serializeNull(objectWriter); else serialize(object, object.getClass(), objectWriter, new Context(this)); return baos.toByteArray(); }
/** * Deserializes to an instance of T. GenericType is useful when you want to deserialize to a * list or map (or any other type with generics). * * @param fromSource * @param toType * @throws com.owlike.genson.JsonBindingException * @throws JsonStreamException * @see GenericType */ public <T> T deserialize(String fromSource, GenericType<T> toType) { return deserialize(toType, createReader(new StringReader(fromSource)), new Context(this)); }
/** * Deserializes to an instance of T. GenericType is useful when you want to deserialize to a * list or map (or any other type with generics). * * @param fromSource * @param toType * @throws com.owlike.genson.JsonBindingException * @throws JsonStreamException * @see GenericType */ public <T> T deserialize(String fromSource, GenericType<T> toType) { return deserialize(toType, createReader(new StringReader(fromSource)), new Context(this)); }
/** * Serializes this object to its json form in a byte array. */ public byte[] serializeBytes(Object object) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectWriter objectWriter = createWriter(baos); if (object == null) serializeNull(objectWriter); else serialize(object, object.getClass(), objectWriter, new Context(this)); return baos.toByteArray(); }
public <T> T deserialize(GenericType<T> type, Reader reader, Class<? extends BeanView<?>>... withViews) { return deserialize(type, createReader(reader), new Context(this, Arrays.asList(withViews))); }
public <T> T deserialize(GenericType<T> type, Reader reader, Class<? extends BeanView<?>>... withViews) { return deserialize(type, createReader(reader), new Context(this, Arrays.asList(withViews))); }
/** * @see #deserializeInto(com.owlike.genson.stream.ObjectReader, Object, Context) */ public <T> T deserializeInto(byte[] jsonBytes, T object) { return deserializeInto(createReader(jsonBytes), object, new Context(this)); }
/** * @see #deserializeInto(com.owlike.genson.stream.ObjectReader, Object, Context) */ public <T> T deserializeInto(InputStream is, T object) { return deserializeInto(createReader(is), object, new Context(this)); }
/** * Deserializes the incoming json stream into an instance of T. * Genson did not create the instance of InputStream so it will not be closed. */ public <T> T deserialize(InputStream input, GenericType<T> toType) { return deserialize(toType, createReader(input), new Context(this)); }
public <T> T deserialize(String fromSource, Class<T> toType, Class<? extends BeanView<?>>... withViews) { StringReader reader = new StringReader(fromSource); return deserialize(GenericType.of(toType), createReader(reader), new Context(this, Arrays.asList(withViews))); }