Skip to contentMethod: initItems()
1: /**
2: * Copyright (C) 2022 Czech Technical University in Prague
3: *
4: * This program is free software: you can redistribute it and/or modify it under
5: * the terms of the GNU General Public License as published by the Free Software
6: * Foundation, either version 3 of the License, or (at your option) any
7: * later version.
8: *
9: * This program is distributed in the hope that it will be useful, but WITHOUT
10: * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11: * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12: * details. You should have received a copy of the GNU General Public License
13: * along with this program. If not, see <http://www.gnu.org/licenses/>.
14: */
15: package cz.cvut.kbss.jsonld.serialization.model;
16:
17: import cz.cvut.kbss.jsonld.serialization.JsonGenerator;
18:
19: import java.io.IOException;
20: import java.util.ArrayList;
21: import java.util.List;
22:
23: /**
24: * Represents a JSON object node.
25: * <p>
26: * I.e. it is a set of key-value pairs, which constitute the state of the object.
27: */
28: public class ObjectNode extends CompositeNode<List<JsonNode>> {
29:
30: public ObjectNode() {
31: }
32:
33: public ObjectNode(String name) {
34: super(name);
35: }
36:
37: @Override
38: List<JsonNode> initItems() {
39: return new ArrayList<>();
40: }
41:
42: public void prependItem(JsonNode node) {
43: items.add(0, node);
44: }
45:
46: @Override
47: protected void writeValue(JsonGenerator writer) throws IOException {
48: writer.writeObjectStart();
49: items.forEach(child -> child.write(writer));
50: writer.writeObjectEnd();
51: }
52:
53: @Override
54: public String toString() {
55: return super.toString() + items + "}";
56: }
57: }