Coverage Summary for Class: KeyBox (net.sf.persism)
| Class |
Class, %
|
Method, %
|
Branch, %
|
Line, %
|
| KeyBox |
100%
(1/1)
|
100%
(5/5)
|
66.7%
(8/12)
|
88.2%
(15/17)
|
package net.sf.persism;
import java.util.Arrays;
import java.util.Objects;
// wrapper class for when you join on multiple columns
final class KeyBox {
final Object[] keyValues;
KeyBox(boolean caseSensitive, Object... keyValues) {
this.keyValues = keyValues;
// If not case-sensitive then make String values upper case
if (!caseSensitive) {
for (int j = 0; j < keyValues.length; j++) {
if (keyValues[j] instanceof String s) {
s = s.toUpperCase();
this.keyValues[j] = s;
}
}
}
}
public boolean isAllNull() {
return Arrays.stream(keyValues).allMatch(Objects::isNull);
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
KeyBox keyBox = (KeyBox) o;
return Arrays.equals(keyValues, keyBox.keyValues);
}
@Override
public int hashCode() {
return Arrays.hashCode(keyValues);
}
@Override
public String toString() {
return "KeyBox{" +
"keyValues=" + Arrays.toString(keyValues) +
'}';
}
}