Coverage Summary for Class: KeyBox (net.sf.persism)

Class Class, % Method, % Line, %
KeyBox 100% (1/1) 100% (4/4) 87.5% (14/16)


1 package net.sf.persism; 2  3 import java.util.Arrays; 4  5 // wrapper class for when you join on multiple columns 6 final class KeyBox { 7  8  final Object[] keyValues; 9  10  public KeyBox(boolean caseSensitive, Object... keyValues) { 11  this.keyValues = keyValues; 12  13  // If not case-sensitive then make String values upper case 14  if (!caseSensitive) { 15  for (int j = 0; j < keyValues.length; j++) { 16  if (keyValues[j] instanceof String s) { 17  s = s.toUpperCase(); 18  this.keyValues[j] = s; 19  } 20  } 21  } 22  } 23  24  @Override 25  public boolean equals(Object o) { 26  if (this == o) { 27  return true; 28  } 29  if (o == null || getClass() != o.getClass()) { 30  return false; 31  } 32  KeyBox keyBox = (KeyBox) o; 33  return Arrays.equals(keyValues, keyBox.keyValues); 34  } 35  36  @Override 37  public int hashCode() { 38  return Arrays.hashCode(keyValues); 39  } 40  41  @Override 42  public String toString() { 43  return "KeyBox{" + 44  "keyValues=" + Arrays.toString(keyValues) + 45  '}'; 46  } 47 }