@Test public void constructArray() { assertEquals( new ExprCollectionValue(ImmutableList.of(new ExprTupleValue( new LinkedHashMap<String, ExprValue>() { { put("info", stringValue("zz")); put("author", stringValue("au")); } }))), tupleValue("{\"arrayV\":[{\"info\":\"zz\",\"author\":\"au\"}]}").get("arrayV")); }
private ExprCollectionValue constructArray(JsonNode value, String path) { List<ExprValue> list = new ArrayList<>(); value .elements() .forEachRemaining( node -> { list.add(constructStruct(node, path)); }); return new ExprCollectionValue(list); }
ElasticsearchExprValueFactory { private ExprCollectionValue constructArray(JsonNode value, String path) { List<ExprValue> list = new ArrayList<>(); value .elements() .forEachRemaining( node -> { list.add(constructStruct(node, path)); }); return new ExprCollectionValue(list); } }
ElasticsearchExprValueFactory { private ExprCollectionValue constructArray(JsonNode value, String path) { List<ExprValue> list = new ArrayList<>(); value .elements() .forEachRemaining( node -> { list.add(constructStruct(node, path)); }); return new ExprCollectionValue(list); }  }
ElasticsearchExprValueFactory { private ExprCollectionValue constructArray(JsonNode value, String path) { List<ExprValue> list = new ArrayList<>(); value .elements() .forEachRemaining( node -> { list.add(constructStruct(node, path)); }); return new ExprCollectionValue(list); }  ExprTupleValue construct(String jsonString); ExprValue construct(String field, Object value); }
ElasticsearchExprValueFactory { private ExprCollectionValue constructArray(JsonNode value, String path) { List<ExprValue> list = new ArrayList<>(); value .elements() .forEachRemaining( node -> { list.add(constructStruct(node, path)); }); return new ExprCollectionValue(list); }  ExprTupleValue construct(String jsonString); ExprValue construct(String field, Object value);  }