2019-10-24 11:39:41 +02:00
|
|
|
package eu.dnetlib.dhp.schema.oaf;
|
|
|
|
|
|
|
|
import java.io.Serializable;
|
2020-03-11 16:57:28 +01:00
|
|
|
import java.util.Objects;
|
2019-10-24 11:39:41 +02:00
|
|
|
|
2019-10-25 18:10:30 +02:00
|
|
|
public class Publication extends Result implements Serializable {
|
2019-10-24 11:39:41 +02:00
|
|
|
|
|
|
|
// publication specific
|
|
|
|
private Journal journal;
|
|
|
|
|
|
|
|
public Journal getJournal() {
|
|
|
|
return journal;
|
|
|
|
}
|
|
|
|
|
2019-10-25 18:10:30 +02:00
|
|
|
public void setJournal(Journal journal) {
|
2019-10-24 11:39:41 +02:00
|
|
|
this.journal = journal;
|
2019-10-25 10:55:35 +02:00
|
|
|
}
|
2019-12-10 14:57:16 +01:00
|
|
|
|
|
|
|
@Override
|
|
|
|
public void mergeFrom(OafEntity e) {
|
|
|
|
super.mergeFrom(e);
|
|
|
|
|
|
|
|
Publication p = (Publication) e;
|
|
|
|
|
2019-12-12 15:18:48 +01:00
|
|
|
if (p.getJournal() != null && compareTrust(this, e)<0)
|
2019-12-10 14:57:16 +01:00
|
|
|
journal = p.getJournal();
|
2019-12-12 15:18:48 +01:00
|
|
|
mergeOAFDataInfo(e);
|
2019-12-10 14:57:16 +01:00
|
|
|
}
|
|
|
|
|
2020-03-11 16:57:28 +01:00
|
|
|
@Override
|
|
|
|
public boolean equals(Object o) {
|
|
|
|
if (this == o) return true;
|
|
|
|
if (o == null || getClass() != o.getClass()) return false;
|
|
|
|
if (!super.equals(o)) return false;
|
|
|
|
Publication that = (Publication) o;
|
|
|
|
return Objects.equals(journal, that.journal);
|
|
|
|
}
|
2019-12-10 14:57:16 +01:00
|
|
|
|
2020-03-11 16:57:28 +01:00
|
|
|
@Override
|
|
|
|
public int hashCode() {
|
|
|
|
return Objects.hash(super.hashCode(), journal);
|
|
|
|
}
|
2019-10-24 11:39:41 +02:00
|
|
|
}
|