package eu.dnetlib.openaire.funders.domain.db; import java.io.Serializable; import java.time.LocalDate; import java.util.List; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; import javax.persistence.Transient; import org.hibernate.annotations.Type; import org.hibernate.annotations.TypeDef; import org.hibernate.annotations.TypeDefs; import com.vladmihalcea.hibernate.type.array.StringArrayType; import com.vladmihalcea.hibernate.type.json.JsonBinaryType; import com.vladmihalcea.hibernate.type.json.JsonStringType; @Entity @Table(name = "funders_view") @TypeDefs({ @TypeDef(name = "string-array", typeClass = StringArrayType.class), @TypeDef(name = "json", typeClass = JsonStringType.class), @TypeDef(name = "jsonb", typeClass = JsonBinaryType.class) }) public class FunderDbEntry implements Serializable { private static final long serialVersionUID = 1290088460508203016L; @Id @Column(name = "id") private String id; @Column(name = "legalshortname") private String legalShortName; @Column(name = "legalname") private String legalName; @Column(name = "websiteurl") private String websiteUrl; @Column(name = "logourl") private String logoUrl; @Column(name = "country") private String country; @Column(name = "registrationdate") private LocalDate registrationDate; @Column(name = "registered") private Boolean registered; @Type(type = "json") @Column(name = "pids", columnDefinition = "jsonb") private List pids; @Type(type = "json") @Column(name = "datasources", columnDefinition = "jsonb") private List datasources; @Transient private List aggregationDates; public String getId() { return id; } public void setId(final String id) { this.id = id; } public String getLegalShortName() { return legalShortName; } public void setLegalShortName(final String legalShortName) { this.legalShortName = legalShortName; } public String getLegalName() { return legalName; } public void setLegalName(final String legalName) { this.legalName = legalName; } public String getWebsiteUrl() { return websiteUrl; } public void setWebsiteUrl(final String websiteUrl) { this.websiteUrl = websiteUrl; } public String getLogoUrl() { return logoUrl; } public void setLogoUrl(final String logoUrl) { this.logoUrl = logoUrl; } public String getCountry() { return country; } public void setCountry(final String country) { this.country = country; } public LocalDate getRegistrationDate() { return registrationDate; } public void setRegistrationDate(final LocalDate registrationDate) { this.registrationDate = registrationDate; } public Boolean getRegistered() { return registered; } public void setRegistered(final Boolean registered) { this.registered = registered; } public List getAggregationDates() { return aggregationDates; } public void setAggregationDates(final List aggregationDates) { this.aggregationDates = aggregationDates; } public List getPids() { return pids; } public void setPids(final List pids) { this.pids = pids; } public List getDatasources() { return datasources; } public void setDatasources(final List datasources) { this.datasources = datasources; } }