1 package ixa.kaflib; 2 3 import java.io.Serializable; 4 import java.util.Objects; 5 6 7 public class ExternalRef implements Serializable { 8 private String resource; 9 private String reference; 10 private float confidence = -1.0f; 11 private String source = null; 12 private ExternalRef externalRef; 13 14 public ExternalRef(String resource, String reference) { 15 this.resource = resource; 16 this.reference = reference; 17 } 18 19 public ExternalRef(ExternalRef externalReference) { 20 this.resource = externalReference.resource; 21 this.reference = externalReference.reference; 22 this.confidence = externalReference.confidence; 23 this.source = externalReference.source; 24 if (externalReference.externalRef != null) { 25 this.externalRef = new ExternalRef(externalReference.externalRef); 26 } 27 } 28 29 public String getSource() { 30 return source; 31 } 32 33 public void setSource(String source) { 34 this.source = source; 35 } 36 37 public String getResource() { 38 return resource; 39 } 40 41 public void setResource(String val) { 42 resource = val; 43 } 44 45 public String getReference() { 46 return reference; 47 } 48 49 public void setReference(String val) { 50 reference = val; 51 } 52 53 public boolean hasConfidence() { 54 return confidence != -1.0; 55 } 56 57 public float getConfidence() { 58 return confidence; 59 } 60 61 public void setConfidence(float val) { 62 confidence = val; 63 } 64 65 public boolean hasExternalRef() { 66 return this.externalRef != null; 67 } 68 69 public ExternalRef getExternalRef() { 70 return externalRef; 71 } 72 73 public void setExternalRef(ExternalRef externalRef) { 74 this.externalRef = externalRef; 75 } 76 77 @Override 78 public boolean equals(Object object) { 79 if (object == this) { 80 return true; 81 } 82 if (!(object instanceof ExternalRef)) { 83 return false; 84 } 85 ExternalRef other = (ExternalRef) object; 86 return Objects.equals(resource, other.resource) 87 && Objects.equals(reference, other.reference) && confidence == other.confidence 88 && Objects.equals(source, other.source) 89 && Objects.equals(externalRef, other.externalRef); 90 } 91 92 @Override 93 public int hashCode() { 94 return Objects.hash(resource, reference, confidence, source, externalRef); 95 } 96 97 @Override 98 public String toString() { 99 return resource + "=" + reference + " (conf: " + confidence + ", source: " + source + ")"; 100 } 101 102 }