package eu.dnetlib.dhp.schema.oaf; import java.io.Serializable; import java.util.stream.Stream; import org.apache.commons.lang3.StringUtils; import com.fasterxml.jackson.annotation.JsonIgnore; import com.google.common.base.Joiner; public class Qualifier implements Serializable { private String classid; private String classname; private String schemeid; public String getClassid() { return classid; } public void setClassid(String classid) { this.classid = classid; } public String getClassname() { return classname; } public void setClassname(String classname) { this.classname = classname; } public String getSchemeid() { return schemeid; } public void setSchemeid(String schemeid) { this.schemeid = schemeid; } public String toComparableString() { return Joiner .on("::") .join( Stream.of(getClassid(), getClassname(), getSchemeid()) .filter(StringUtils::isNotBlank).iterator()); } @Override public int hashCode() { return toComparableString().hashCode(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Qualifier other = (Qualifier) obj; return toComparableString().equals(other.toComparableString()); } }