/** * <p>Getter for the field <code>deserializer</code>.</p> * * @return the {@link JsonDeserializer} used by this mapper */ public JsonDeserializer<T> getDeserializer() { if ( null == deserializer ) { deserializer = newDeserializer(); } return deserializer; }
/** * <p>Getter for the field <code>serializer</code>.</p> * * @return the {@link JsonSerializer} used by this mapper */ public JsonSerializer<T> getSerializer() { if ( null == serializer ) { serializer = (JsonSerializer<T>) newSerializer(); } return serializer; }
/** {@inheritDoc} */ @Override public T read( String in ) throws JsonDeserializationException { return read( in, JsonDeserializationContext.builder().build() ); }
/** {@inheritDoc} */ @Override public String write( T value ) throws JsonSerializationException { return write( value, JsonSerializationContext.builder().build() ); }
/** {@inheritDoc} */ @Override public String write( T value, JsonSerializationContext ctx ) throws JsonSerializationException { JsonWriter writer = ctx.newJsonWriter(); try { if ( ctx.isWrapRootValue() ) { writer.beginObject(); writer.name( rootName ); getSerializer().serialize( writer, value, ctx ); writer.endObject(); } else { getSerializer().serialize( writer, value, ctx ); } return writer.getOutput(); } catch ( JsonSerializationException e ) { // already logged, we just throw it throw e; } catch ( RuntimeException e ) { throw ctx.traceError( value, e, writer ); } }
"'" + rootName + "'", reader ); T result = getDeserializer().deserialize( reader, ctx ); reader.endObject(); return result; return getDeserializer().deserialize( reader, ctx );