/** * Deserializes a JSON input into an object. * * @param reader {@link JsonReader} used to read the JSON input * @param ctx Context for the full deserialization process * @return the deserialized object * @throws com.github.nmorel.gwtjackson.client.exception.JsonDeserializationException if an error occurs during the deserialization */ public T deserialize( JsonReader reader, JsonDeserializationContext ctx ) throws JsonDeserializationException { return deserialize( reader, ctx, JsonDeserializerParameters.DEFAULT ); }
/** {@inheritDoc} */ @Override public void setBackReference( String referenceName, Object reference, T[][] value, JsonDeserializationContext ctx ) { if ( null != value && value.length > 0 ) { for ( T[] array : value ) { for ( T val : array ) { deserializer.setBackReference( referenceName, reference, val, ctx ); } } } } }
/** * Deserializes a JSON input into an object. * * @param reader {@link JsonReader} used to read the JSON input * @param ctx Context for the full deserialization process * @param params Parameters for this deserialization * @return the deserialized object * @throws com.github.nmorel.gwtjackson.client.exception.JsonDeserializationException if an error occurs during the deserialization */ public T deserialize( JsonReader reader, JsonDeserializationContext ctx, JsonDeserializerParameters params ) throws JsonDeserializationException { if ( JsonToken.NULL.equals( reader.peek() ) ) { return deserializeNullValue( reader, ctx, params ); } return doDeserialize( reader, ctx, params ); }
@Override public Optional<T> doDeserialize( JsonReader reader, JsonDeserializationContext ctx, JsonDeserializerParameters params ) { return Optional.of( deserializer.deserialize( reader, ctx, params ) ); }
/** {@inheritDoc} */ @Override public void setBackReference( String referenceName, Object reference, T[] value, JsonDeserializationContext ctx ) { if ( null != value && value.length > 0 ) { for ( T val : value ) { deserializer.setBackReference( referenceName, reference, val, ctx ); } } } }
/** {@inheritDoc} */ @Override public final Object readId( JsonReader reader, JsonDeserializationContext ctx ) { return getDeserializer().deserialize( reader, ctx ); }
/** {@inheritDoc} */ @Override public void setBackReference( String referenceName, Object reference, I value, JsonDeserializationContext ctx ) { if ( null != value ) { for ( T val : value ) { deserializer.setBackReference( referenceName, reference, val, ctx ); } } } }
/** {@inheritDoc} */ @Override protected T[] doDeserializeSingleArray( JsonReader reader, JsonDeserializationContext ctx, JsonDeserializerParameters params ) { T[] result = arrayCreator.create( 1 ); result[0] = deserializer.deserialize( reader, ctx, params ); return result; }
/** {@inheritDoc} */ @Override public void setBackReference( String referenceName, Object reference, C value, JsonDeserializationContext ctx ) { if ( null != value && !value.isEmpty() ) { for ( T val : value ) { deserializer.setBackReference( referenceName, reference, val, ctx ); } } } }
@Override public T deserializeWrapped( JsonReader reader, JsonDeserializationContext ctx, JsonDeserializerParameters params, IdentityDeserializationInfo identityInfo, TypeDeserializationInfo typeInfo, String typeInformation ) { return getDeserializer().deserialize( reader, ctx, params ); } }
/** {@inheritDoc} */ @Override public void setBackReference( String referenceName, Object reference, M value, JsonDeserializationContext ctx ) { if ( null != value ) { for ( V val : value.values() ) { valueDeserializer.setBackReference( referenceName, reference, val, ctx ); } } } }
/** * Deserializes the property defined for this instance. * * @param reader reader * @param ctx context of the deserialization process * @return a V object. */ public V deserialize( JsonReader reader, JsonDeserializationContext ctx ) { return getDeserializer().deserialize( reader, ctx, getParameters() ); } }
@Override public void setBackReference( String referenceName, Object reference, M value, JsonDeserializationContext ctx ) { if ( null != value ) { for ( V val : value.values() ) { valueDeserializer.setBackReference( referenceName, reference, val, ctx ); } } } }
/** {@inheritDoc} */ @Override public Iterable<T> doDeserialize( JsonReader reader, JsonDeserializationContext ctx, JsonDeserializerParameters params ) { if ( JsonToken.BEGIN_ARRAY == reader.peek() ) { Collection<T> result = new ArrayList<T>(); reader.beginArray(); while ( JsonToken.END_ARRAY != reader.peek() ) { result.add( deserializer.deserialize( reader, ctx, params ) ); } reader.endArray(); return result; } else if ( ctx.isAcceptSingleValueAsArray() ) { Collection<T> result = new ArrayList<T>(); result.add( deserializer.deserialize( reader, ctx, params ) ); return result; } else { throw ctx.traceError( "Cannot deserialize a java.lang.Iterable out of " + reader.peek() + " token", reader ); } } }
@Override public void setBackReference( String referenceName, Object reference, M value, JsonDeserializationContext ctx ) { if ( null != value ) { for ( V val : value.values() ) { valueDeserializer.setBackReference( referenceName, reference, val, ctx ); } } } }
list.add( deserializer.deserialize( reader, ctx, params ) ); token = reader.peek();
@Override public void setBackReference( String referenceName, Object reference, Optional<T> value, JsonDeserializationContext ctx ) { if ( null != value && value.isPresent() ) { deserializer.setBackReference( referenceName, reference, value.get(), ctx ); } } }
innerList.add( deserializer.deserialize( reader, ctx, params ) ); innerToken = reader.peek();
@Override public void setBackReference( String referenceName, Object reference, M value, JsonDeserializationContext ctx ) { if ( null != value ) { for ( V val : value.values() ) { valueDeserializer.setBackReference( referenceName, reference, val, ctx ); } } } }
/** * Build the {@link ImmutableMap} using the given builder. * * @param reader {@link JsonReader} used to read the JSON input * @param ctx Context for the full deserialization process * @param params Parameters for this deserialization * @param builder {@link ImmutableMap.Builder} used to collect the entries */ protected void buildMap( JsonReader reader, JsonDeserializationContext ctx, JsonDeserializerParameters params, Builder<K, V> builder ) { reader.beginObject(); while ( JsonToken.END_OBJECT != reader.peek() ) { String name = reader.nextName(); K key = keyDeserializer.deserialize( name, ctx ); V value = valueDeserializer.deserialize( reader, ctx, params ); builder.put( key, value ); } reader.endObject(); }