/**
* Copyright (c) 2016-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*/
package com.facebook.keyframes.deserializers;
import java.io.IOException;
import android.util.JsonReader;
import com.facebook.keyframes.model.KFFeatureFrame;
/**
* Deserializer for {@link KFFeatureFrame}.
*
* Root deserializer starts at {@link KFImageDeserializer}.
*/
public class KFFeatureFrameDeserializer {
static final AbstractListDeserializer<KFFeatureFrame> LIST_DESERIALIZER =
new AbstractListDeserializer<KFFeatureFrame>() {
@Override
KFFeatureFrame readObjectImpl(JsonReader reader) throws IOException {
return readObject(reader);
}
};
public static KFFeatureFrame readObject(JsonReader reader) throws IOException {
reader.beginObject();
KFFeatureFrame.Builder builder = new KFFeatureFrame.Builder();
while (reader.hasNext()) {
String name = reader.nextName();
switch (name) {
case KFFeatureFrame.START_FRAME_JSON_FIELD:
builder.startFrame = reader.nextInt();
break;
case KFFeatureFrame.DATA_JSON_FIELD:
builder.data = CommonDeserializerHelper.STRING_LIST_DESERIALIZER.readList(reader);
break;
default:
reader.skipValue();
}
}
reader.endObject();
return builder.build();
}
}