package io.vertx.codegen.testmodel; import io.vertx.codegen.annotations.DataObject; import io.vertx.core.buffer.Buffer; import io.vertx.core.json.JsonArray; import io.vertx.core.json.JsonObject; import java.util.ArrayList; import java.util.List; /** * @author <a href="mailto:julien@julienviet.com">Julien Viet</a> */ @DataObject public class DataObjectWithNestedBuffer { private Buffer buffer; private DataObjectWithBuffer nested; private List<Buffer> buffers; public DataObjectWithNestedBuffer() { } public DataObjectWithNestedBuffer(JsonObject json) { byte[] buffer = json.getBinary("buffer"); this.buffer = buffer != null ? Buffer.buffer(buffer) : null; JsonObject nested = json.getJsonObject("nested"); this.nested = nested != null ? new DataObjectWithBuffer(nested) : null; JsonArray buffers_ = json.getJsonArray("buffers"); if (buffers_ != null) { this.buffers = new ArrayList<>(); for (int i = 0;i < buffers_.size();i++) { buffers.add(Buffer.buffer(buffers_.getBinary(i))); } } } public Buffer getBuffer() { return buffer; } public void setBuffer(Buffer buffer) { this.buffer = buffer; } public List<Buffer> getBuffers() { return buffers; } public void setBuffers(List<Buffer> buffers) { this.buffers = buffers; } public DataObjectWithBuffer getNested() { return nested; } public void setNested(DataObjectWithBuffer nested) { this.nested = nested; } public JsonObject toJson() { JsonObject json = new JsonObject(); if (buffer != null) { json.put("buffer", buffer.getBytes()); } if (buffers != null) { JsonArray arr = new JsonArray(); for (Buffer b : buffers) { arr.add(b.getBytes()); } json.put("buffers", arr); } if (nested != null) { json.put("nested", nested.toJson()); } return json; } }