Skip to content

Package: TermMappingHolder

TermMappingHolder

nameinstructionbranchcomplexitylinemethod
TermMappingHolder(TermMappingHolder)
M: 0 C: 6
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 3
100%
M: 0 C: 1
100%
extractId(JsonNode)
M: 4 C: 28
88%
M: 1 C: 5
83%
M: 1 C: 3
75%
M: 0 C: 6
100%
M: 0 C: 1
100%
getMappedTerm(String)
M: 0 C: 36
100%
M: 1 C: 5
83%
M: 1 C: 3
75%
M: 0 C: 7
100%
M: 0 C: 1
100%
lambda$extractId$0(JsonNode)
M: 0 C: 5
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
lambda$extractId$1(JsonNode)
M: 0 C: 5
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
static {...}
M: 0 C: 1
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%

Coverage

1: package cz.cvut.kbss.jsonld.serialization.context;
2:
3: import cz.cvut.kbss.jsonld.JsonLd;
4: import cz.cvut.kbss.jsonld.serialization.model.JsonNode;
5: import cz.cvut.kbss.jsonld.serialization.model.ObjectNode;
6: import cz.cvut.kbss.jsonld.serialization.model.StringLiteralNode;
7:
8: import java.util.Map;
9: import java.util.Objects;
10: import java.util.Optional;
11:
12: abstract class TermMappingHolder {
13:
14: final TermMappingHolder parentContext;
15:
16: TermMappingHolder(TermMappingHolder parentContext) {
17: this.parentContext = parentContext;
18: }
19:
20: abstract boolean canRegisterTermMapping(String term, JsonNode mappedNode);
21:
22: abstract void registerTermMapping(String Term, JsonNode node);
23:
24: abstract Optional<JsonNode> getTermMapping(String term);
25:
26: abstract Map<String, JsonNode> getMapping();
27:
28: abstract boolean hasTermMapping(String term);
29:
30: abstract boolean hasTermMapping(String term, JsonNode mappedNode);
31:
32: abstract boolean isEmpty();
33:
34: abstract boolean isRoot();
35:
36: public Optional<String> getMappedTerm(String iri) {
37: Objects.requireNonNull(iri);
38:• for (Map.Entry<String, JsonNode> e : getMapping().entrySet()) {
39: final Optional<String> id = extractId(e.getValue());
40:• if (id.isPresent() && iri.equals(id.get())) {
41: return Optional.of(e.getKey());
42: }
43: }
44: return Optional.empty();
45: }
46:
47: private static Optional<String> extractId(JsonNode node) {
48:• assert node instanceof StringLiteralNode || node instanceof ObjectNode;
49:• if (node instanceof StringLiteralNode) {
50: return Optional.of(((StringLiteralNode) node).getValue());
51: } else {
52: final ObjectNode on = (ObjectNode) node;
53: return on.getItems().stream().filter(item -> JsonLd.ID.equals(item.getName()))
54: .map(idNode -> ((StringLiteralNode) idNode).getValue()).findAny();
55: }
56: }
57: }