Skip to content

Package: KapuaEid

KapuaEid

nameinstructionbranchcomplexitylinemethod
KapuaEid()
M: 6 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
KapuaEid(BigInteger)
M: 6 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
KapuaEid(KapuaId)
M: 7 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
equals(Object)
M: 4 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
getId()
M: 3 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
hashCode()
M: 3 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
parseCompactId(String)
M: 12 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
parseKapuaId(KapuaId)
M: 15 C: 0
0%
M: 4 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
toString()
M: 3 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%

Coverage

1: /*******************************************************************************
2: * Copyright (c) 2016, 2022 Eurotech and/or its affiliates and others
3: *
4: * This program and the accompanying materials are made
5: * available under the terms of the Eclipse Public License 2.0
6: * which is available at https://www.eclipse.org/legal/epl-2.0/
7: *
8: * SPDX-License-Identifier: EPL-2.0
9: *
10: * Contributors:
11: * Eurotech - initial API and implementation
12: *******************************************************************************/
13: package org.eclipse.kapua.commons.model.id;
14:
15: import org.eclipse.kapua.model.id.KapuaId;
16:
17: import javax.persistence.Embeddable;
18: import java.io.Serializable;
19: import java.math.BigInteger;
20: import java.util.Base64;
21:
22: /**
23: * {@link KapuaId} implementation.
24: *
25: * @since 1.0.0
26: */
27: @Embeddable
28: public class KapuaEid implements KapuaId, Serializable {
29:
30: private static final long serialVersionUID = 8998805462408705432L;
31:
32: protected final BigInteger eid;
33:
34: /**
35: * Constructor.
36: * <p>
37: * Note: this make any sense? A {@link KapuaId} whose {@link KapuaId#getId()} is {@code null}?
38: *
39: * @since 1.0.0
40: */
41: public KapuaEid() {
42: super();
43:
44: eid = null;
45: }
46:
47: /**
48: * Constructor.
49: *
50: * @param id The id in {@link BigInteger} form.
51: * @since 1.0.0
52: */
53: public KapuaEid(BigInteger id) {
54: eid = id;
55: }
56:
57: /**
58: * Constructor.
59: *
60: * @param id The id in {@link KapuaId} form.
61: * @since 1.0.0
62: */
63: public KapuaEid(KapuaId id) {
64: eid = id.getId();
65: }
66:
67: /**
68: * Parses the given {@link KapuaId} to a {@link KapuaEid} form.
69: *
70: * @param kapuaId The {@link KapuaId} to parse.
71: * @return The parsed {@link KapuaId} as {@link KapuaEid}.
72: * @since 1.0.0
73: */
74: public static KapuaEid parseKapuaId(KapuaId kapuaId) {
75:• return kapuaId != null ? (kapuaId instanceof KapuaEid ? (KapuaEid) kapuaId : new KapuaEid(kapuaId)) : null;
76: }
77:
78: /**
79: * Parses the given {@link KapuaId} in short form.
80: *
81: * @param shortId The {@link KapuaId} in short form to parse.
82: * @return The parsed {@link KapuaId}.
83: * @since 1.0.0
84: */
85: public static KapuaEid parseCompactId(String shortId) {
86: byte[] bytes = Base64.getUrlDecoder().decode(shortId);
87: return new KapuaEid(new BigInteger(bytes));
88: }
89:
90: @Override
91: public BigInteger getId() {
92: return eid;
93: }
94:
95: @Override
96: public String toString() {
97: return KapuaId.toString(this);
98: }
99:
100: @Override
101: public int hashCode() {
102: return KapuaId.hashCode(this);
103: }
104:
105: @Override
106: public boolean equals(Object obj) {
107: return KapuaId.areEquals(this, obj);
108: }
109: }