/** * 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 ); }
@Override public Optional<T> doDeserialize( JsonReader reader, JsonDeserializationContext ctx, JsonDeserializerParameters params ) { return Optional.of( deserializer.deserialize( reader, ctx, params ) ); }
/** {@inheritDoc} */ @Override public final Object readId( JsonReader reader, JsonDeserializationContext ctx ) { return getDeserializer().deserialize( reader, 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 protected T[] doDeserializeSingleArray( JsonReader reader, JsonDeserializationContext ctx, JsonDeserializerParameters params ) { T[] result = arrayCreator.create( 1 ); result[0] = deserializer.deserialize( reader, ctx, params ); return result; }
/** * 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() ); } }
/** {@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 ); } } }
list.add( deserializer.deserialize( reader, ctx, params ) ); token = reader.peek();
innerList.add( deserializer.deserialize( reader, ctx, params ) ); innerToken = reader.peek();
/** * 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(); }
/** {@inheritDoc} */ @Override public M doDeserialize( JsonReader reader, JsonDeserializationContext ctx, JsonDeserializerParameters params ) { M result = newMap(); 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 ); result.put( key, value ); } reader.endObject(); return result; }
/** {@inheritDoc} */ @Override public C doDeserialize( JsonReader reader, JsonDeserializationContext ctx, JsonDeserializerParameters params ) { if ( JsonToken.BEGIN_ARRAY == reader.peek() ) { C result = newCollection(); reader.beginArray(); while ( JsonToken.END_ARRAY != reader.peek() ) { T element = deserializer.deserialize( reader, ctx, params ); if ( isNullValueAllowed() || null != element ) { result.add( element ); } } reader.endArray(); return result; } else if ( ctx.isAcceptSingleValueAsArray() ) { C result = newCollection(); result.add( deserializer.deserialize( reader, ctx, params ) ); return result; } else { throw ctx.traceError( "Cannot deserialize a java.util.Collection out of " + reader.peek() + " token", reader ); } }
@Override protected Ref<T> doDeserialize( JsonReader reader, JsonDeserializationContext ctx, JsonDeserializerParameters params ) { reader.beginObject(); Key<T> key = null; T value = null; while ( reader.hasNext() ) { String nextName = reader.nextName(); if ( RefConstant.KEY.equals( nextName ) ) { key = KeyJsonDeserializer.<T>getInstance().deserialize( reader, ctx, params ); } else if ( RefConstant.VALUE.equals( nextName ) ) { value = deserializer.deserialize( reader, ctx, params ); } } reader.endObject(); if ( key == null ) { throw ctx.traceError( "Missing " + RefConstant.KEY + " property.", reader ); } return new DeadRef<T>( key, value ); } }
/** * Build the {@link ImmutableCollection}. It delegates the element addition to an abstract method because the * {@link ImmutableCollection.Builder} is not visible in the emulated class. * * @param reader {@link JsonReader} used to read the JSON input * @param ctx Context for the full deserialization process * @param params Parameters for this deserialization */ protected void buildCollection( JsonReader reader, JsonDeserializationContext ctx, JsonDeserializerParameters params ) { if ( JsonToken.BEGIN_ARRAY == reader.peek() ) { reader.beginArray(); while ( JsonToken.END_ARRAY != reader.peek() ) { T element = deserializer.deserialize( reader, ctx, params ); if ( isNullValueAllowed() || null != element ) { addToCollection( element ); } } reader.endArray(); } else if ( ctx.isAcceptSingleValueAsArray() ) { addToCollection( deserializer.deserialize( reader, ctx, params ) ); } else { throw ctx.traceError( "Cannot deserialize a com.google.common.collect.ImmutableCollection out of " + reader .peek() + " token", reader ); } }
@Override public M doDeserialize( JsonReader reader, JsonDeserializationContext ctx, JsonDeserializerParameters params ) { M result = newMultimap(); reader.beginObject(); while ( JsonToken.END_OBJECT != reader.peek() ) { String name = reader.nextName(); K key = keyDeserializer.deserialize( name, ctx ); reader.beginArray(); while ( JsonToken.END_ARRAY != reader.peek() ) { V value = valueDeserializer.deserialize( reader, ctx, params ); result.put( key, value ); } reader.endArray(); } reader.endObject(); return result; }
"'" + rootName + "'", reader ); T result = getDeserializer().deserialize( reader, ctx ); reader.endObject(); return result; return getDeserializer().deserialize( reader, ctx );
/** * Build the {@link ImmutableMultimap} 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 ImmutableMultimap.Builder} used to collect the entries */ protected void buildMultimap( JsonReader reader, JsonDeserializationContext ctx, JsonDeserializerParameters params, ImmutableMultimap.Builder<K, V> builder ) { reader.beginObject(); while ( JsonToken.END_OBJECT != reader.peek() ) { String name = reader.nextName(); K key = keyDeserializer.deserialize( name, ctx ); reader.beginArray(); while ( JsonToken.END_ARRAY != reader.peek() ) { V value = valueDeserializer.deserialize( reader, ctx, params ); builder.put( key, value ); } reader.endArray(); } reader.endObject(); }
id = propertyDeserializer.getDeserializer().deserialize( identityReader, ctx ); bufferedPropertiesValues = new HashMap<String, Object>( 1 ); bufferedPropertiesValues.put( identityInfo.getPropertyName(), id ); } else { id = propertyDeserializer.getDeserializer().deserialize( identityReader, ctx );
propertyDeserializer = instanceBuilder.getParametersDeserializer().get( identityInfo.getPropertyName() ); id = propertyDeserializer.getDeserializer().deserialize( reader, ctx ); } else { id = identityInfo.readId( reader, ctx );