blob: e00245135619863ff4ea662d21bfad07471a8780 [file] [log] [blame]
package de.ids_mannheim.korap.core.entity;
import java.util.Set;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.JoinTable;
import jakarta.persistence.ManyToMany;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
/**
* Describes resources having free licenses. Primarily for
* accommodating clients in providing data without login such as
* KorapSRU.
*
* @author margaretha
*
*/
@Getter
@Setter
@Entity
@Table(name = "resource")
public class Resource {
@Id
private String id;
@Column(name = "de_title")
private String germanTitle;
@Column(name = "en_title")
private String englishTitle;
@Column(name = "en_description")
private String englishDescription;
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "resource_layer", joinColumns = @JoinColumn(name = "resource_id", referencedColumnName = "id"), inverseJoinColumns = @JoinColumn(name = "layer_id", referencedColumnName = "id"))
private Set<AnnotationLayer> layers;
public Resource () {}
public Resource (String id, String germanTitle, String englishTitle,
String englishDescription, Set<AnnotationLayer> layers) {
this.id = id;
this.germanTitle = germanTitle;
this.englishTitle = englishTitle;
this.englishDescription = englishDescription;
this.layers = layers;
}
@Override
public String toString () {
return "id=" + id + ", germanTitle=" + germanTitle + ", englishTitle="
+ englishTitle + ", description=" + englishDescription
+ ", layers= " + layers;
}
}