uoa-monitor-service/src/main/java/eu/dnetlib/uoamonitorservice/entities/Stakeholder.java

190 lines
4.3 KiB
Java

package eu.dnetlib.uoamonitorservice.entities;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.springframework.data.annotation.Id;
import java.util.Date;
import java.util.List;
enum StakeholderType
{
// Do not rename or remove existring values. This may cause problems with already stored values in DB
funder, ri, project, organization;
}
public class Stakeholder<StringOrTopic> {
@Id
@JsonProperty("_id")
private String id;
private StakeholderType type; // private StakeholderType type;
private String index_id;
private String index_name;
private String index_shortName;
private String logoUrl;
private String name;
private String alias;
private String defaultId = null;
private boolean isActive;
private boolean isPublic;
private Date creationDate;
private Date updateDate;
private List<String> managers;
private List<StringOrTopic> topics;
public Stakeholder() {
}
public Stakeholder(Stakeholder stakeholder) {
id = stakeholder.getId();
setType(stakeholder.getType());
index_id = stakeholder.getIndex_id();
index_name = stakeholder.getIndex_name();
index_shortName = stakeholder.getIndex_shortName();
logoUrl = stakeholder.getLogoUrl();
name = stakeholder.getName();
alias = stakeholder.getAlias();
defaultId = stakeholder.getDefaultId();
isActive = stakeholder.getIsActive();
isPublic = stakeholder.getIsPublic();
creationDate = stakeholder.getCreationDate();
updateDate = stakeholder.getUpdateDate();
managers = stakeholder.getManagers();
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
// public StakeholderType getType() {
// return type;
// }
//
// public void setType(StakeholderType type) {
// this.type = type;
// }
public String getType() {
if(type == null) {
return null;
}
return type.name();
}
public void setType(String type) {
if(type == null) {
this.type = null;
} else {
StakeholderType stakeholderType = StakeholderType.valueOf(type);
this.type = stakeholderType;
}
}
public String getIndex_id() {
return index_id;
}
public void setIndex_id(String index_id) {
this.index_id = index_id;
}
public String getIndex_name() {
return index_name;
}
public void setIndex_name(String index_name) {
this.index_name = index_name;
}
public String getIndex_shortName() {
return index_shortName;
}
public void setIndex_shortName(String index_shortName) {
this.index_shortName = index_shortName;
}
public String getLogoUrl() {
return logoUrl;
}
public void setLogoUrl(String logoUrl) {
this.logoUrl = logoUrl;
}
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public String getAlias() {
return alias;
}
public void setAlias(String alias) {
this.alias = alias;
}
public String getDefaultId() {
return defaultId;
}
public void setDefaultId(String defaultId) {
this.defaultId = defaultId;
}
public boolean getIsActive() {
return isActive;
}
public void setIsActive(boolean isActive) {
this.isActive = isActive;
}
public boolean getIsPublic() {
return isPublic;
}
public void setIsPublic(boolean isPublic) {
this.isPublic = isPublic;
}
public Date getCreationDate() {
return creationDate;
}
public void setCreationDate(Date creationDate) {
this.creationDate = creationDate;
}
public Date getUpdateDate() {
return updateDate;
}
public void setUpdateDate(Date updateDate) {
this.updateDate = updateDate;
}
public List<String> getManagers() {
return managers;
}
public void setManagers(List<String> managers) {
this.managers = managers;
}
public List<StringOrTopic> getTopics() {
return topics;
}
public void setTopics(List<StringOrTopic> topics) {
this.topics = topics;
}
}