2021-04-23 12:15:36 +02:00
|
|
|
|
|
|
|
package eu.dnetlib.dhp.schema.oaf;
|
|
|
|
|
|
|
|
import java.io.Serializable;
|
2023-01-31 14:36:13 +01:00
|
|
|
import java.util.stream.Stream;
|
2021-04-23 12:15:36 +02:00
|
|
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
|
|
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
2023-01-31 14:36:13 +01:00
|
|
|
import com.google.common.base.Joiner;
|
2021-04-23 12:15:36 +02:00
|
|
|
|
|
|
|
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() {
|
2023-01-31 14:36:13 +01:00
|
|
|
return Joiner
|
|
|
|
.on("::")
|
|
|
|
.join(
|
|
|
|
Stream.of(getClassid(), getClassname(), getSchemeid())
|
|
|
|
.filter(StringUtils::isNotBlank).iterator());
|
2021-04-23 12:15:36 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
@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());
|
|
|
|
}
|
|
|
|
}
|