Skip to contentMethod: buildJsonTree(Object)
1: /**
2: * Copyright (C) 2017 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;
16:
17: import cz.cvut.kbss.jsonld.Configuration;
18: import cz.cvut.kbss.jsonld.serialization.model.JsonNode;
19:
20: /**
21: * JSON-LD serializer outputting compacted context-less JSON.
22: * <p>
23: * This means that context info is not used and all attributes are mapped by their full URIs.
24: */
25: public class CompactedJsonLdSerializer extends JsonLdSerializer {
26:
27: CompactedJsonLdSerializer(JsonGenerator jsonGenerator) {
28: super(jsonGenerator);
29: }
30:
31: CompactedJsonLdSerializer(JsonGenerator jsonGenerator, Configuration configuration) {
32: super(jsonGenerator, configuration);
33: }
34:
35: @Override
36: JsonNode buildJsonTree(Object root) {
37: final JsonLdTreeBuilder treeBuilder = new JsonLdTreeBuilder();
38: traverser.addVisitor(treeBuilder);
39: traverser.traverse(root);
40: traverser.removeVisitor(treeBuilder);
41: return treeBuilder.getTreeRoot();
42: }
43: }