package org.skyscreamer.yoga.model; import org.skyscreamer.yoga.view.json.GeneratorAdapter; import java.io.IOException; public class ArrayStreamingJsonHierarchicalModel implements ListHierarchicalModel<GeneratorAdapter> { private GeneratorAdapter generator; private ObjectStreamingJsonHierarchicalModel objectModel; public ArrayStreamingJsonHierarchicalModel( GeneratorAdapter generator ) throws IOException { this.generator = generator; objectModel = new ObjectStreamingJsonHierarchicalModel(generator, this); start(); } public ArrayStreamingJsonHierarchicalModel( GeneratorAdapter generator, ObjectStreamingJsonHierarchicalModel objectModel) throws IOException { this.generator = generator; this.objectModel = objectModel; } public void start() throws IOException { generator.writeStartArray(); } @Override public void finished() throws IOException { generator.writeEndArray(); } @Override public void addValue(Object instance) throws IOException { generator.writeObject(instance); } public MapHierarchicalModel<?> createChildMap() throws IOException { objectModel.start(); return objectModel; } @Override public GeneratorAdapter getUnderlyingModel() { return generator; } }