package eu.dnetlib.uoamonitorservice.generics; import com.fasterxml.jackson.annotation.JsonProperty; import eu.dnetlib.uoamonitorservice.primitives.Visibility; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.Id; import org.springframework.data.annotation.LastModifiedDate; import java.util.ArrayList; import java.util.Date; import java.util.List; public class TopicGeneric extends Common { @Id @JsonProperty("_id") protected String id; protected String icon; @CreatedDate protected Date creationDate; @LastModifiedDate protected Date updateDate; protected String defaultId; protected List categories; public TopicGeneric() { } public TopicGeneric(TopicGeneric topic) { id = topic.getId(); name = topic.getName(); alias = topic.getAlias(); description = topic.getDescription(); icon = topic.getIcon(); setVisibility(topic.getVisibility()); creationDate = topic.getCreationDate(); updateDate = topic.getUpdateDate(); defaultId = topic.getDefaultId(); } public void copyFromDefault(TopicGeneric defaultTopic) { setName(defaultTopic.getName()); setAlias(defaultTopic.getAlias()); setDescription(defaultTopic.getDescription()); setIcon(defaultTopic.getIcon()); setVisibility(defaultTopic.getVisibility()); setCreationDate(defaultTopic.getCreationDate()); setUpdateDate(defaultTopic.getUpdateDate()); setDefaultId(defaultTopic.getId()); setCategories(new ArrayList<>()); } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getIcon() { return icon; } public void setIcon(String icon) { this.icon = icon; } 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 String getDefaultId() { return defaultId; } public void setDefaultId(String defaultId) { this.defaultId = defaultId; } public List getCategories() { return categories; } public void setCategories(List categories) { this.categories = categories; } }