Skip to content

Package: LangString

LangString

nameinstructionbranchcomplexitylinemethod
LangString()
M: 9 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 4 C: 0
0%
M: 1 C: 0
0%
LangString(String)
M: 0 C: 11
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
LangString(String, String)
M: 0 C: 11
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
equals(Object)
M: 0 C: 29
100%
M: 0 C: 8
100%
M: 0 C: 5
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
getLanguage()
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
getValue()
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
hashCode()
M: 0 C: 14
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
toString()
M: 11 C: 19
63%
M: 1 C: 1
50%
M: 1 C: 1
50%
M: 0 C: 1
100%
M: 0 C: 1
100%

Coverage

1: /**
2: * Copyright (C) 2022 Czech Technical University in Prague
3: * <p>
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: * <p>
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.ontodriver.model;
16:
17: import java.io.Serializable;
18: import java.util.Objects;
19: import java.util.Optional;
20:
21: /**
22: * Represents a string value with a (optional) language tag.
23: */
24: public class LangString implements Serializable {
25:
26: private final String value;
27:
28: private final String language;
29:
30: /**
31: * Explicit no-arg constructor allowing deserialization from JSON.
32: */
33: private LangString() {
34: this.value = null;
35: this.language = null;
36: }
37:
38: public LangString(String value) {
39: this.value = Objects.requireNonNull(value);
40: this.language = null;
41: }
42:
43: public LangString(String value, String language) {
44: this.value = Objects.requireNonNull(value);
45: this.language = language;
46: }
47:
48: /**
49: * Gets the lexical value of this string.
50: *
51: * @return Lexical value
52: */
53: public String getValue() {
54: return value;
55: }
56:
57: /**
58: * Gets the language tag (if present).
59: *
60: * @return Optional language tag value
61: */
62: public Optional<String> getLanguage() {
63: return Optional.ofNullable(language);
64: }
65:
66: @Override
67: public boolean equals(Object o) {
68:• if (this == o) {
69: return true;
70: }
71:• if (!(o instanceof LangString)) {
72: return false;
73: }
74: LangString that = (LangString) o;
75:• return Objects.equals(value, that.value) && Objects.equals(language, that.language);
76: }
77:
78: @Override
79: public int hashCode() {
80: return Objects.hash(value, language);
81: }
82:
83: @Override
84: public String toString() {
85:• return language != null ? "\"" + value + "\"@" + language : "\"" + value + '"';
86: }
87: }