blob: 9838f8ab2835240a4c3f43be5bea5f9a63813e86 [file] [log] [blame]
margaretha08bdabe2017-10-17 14:38:49 +02001package de.ids_mannheim.korap.entity;
2
margarethabf11d8d2017-10-24 19:31:44 +02003import javax.persistence.Entity;
4import javax.persistence.EnumType;
5import javax.persistence.Enumerated;
margarethab42b9632017-10-25 18:34:12 +02006import javax.persistence.FetchType;
7import javax.persistence.GeneratedValue;
8import javax.persistence.GenerationType;
margarethabf11d8d2017-10-24 19:31:44 +02009import javax.persistence.Id;
10import javax.persistence.JoinColumn;
11import javax.persistence.ManyToOne;
12import javax.persistence.Table;
13
margarethaf438c592017-10-25 15:23:50 +020014import de.ids_mannheim.korap.constant.PrivilegeType;
margarethab42b9632017-10-25 18:34:12 +020015import lombok.Getter;
16import lombok.Setter;
margarethabf11d8d2017-10-24 19:31:44 +020017
margaretha398f4722019-01-09 19:07:20 +010018/**
19 * Describes privilege table listing users and their roles.
margaretha08bdabe2017-10-17 14:38:49 +020020 *
21 * @author margaretha
22 *
23 */
margarethab42b9632017-10-25 18:34:12 +020024@Getter
25@Setter
margarethabf11d8d2017-10-24 19:31:44 +020026@Entity
margaretha398f4722019-01-09 19:07:20 +010027@Table(name = "privilege")
margarethabf11d8d2017-10-24 19:31:44 +020028public class Privilege {
margarethab42b9632017-10-25 18:34:12 +020029
margarethabf11d8d2017-10-24 19:31:44 +020030 @Id
margarethab42b9632017-10-25 18:34:12 +020031 @GeneratedValue(strategy = GenerationType.IDENTITY)
32 private int id;
margarethabf11d8d2017-10-24 19:31:44 +020033 @Enumerated(EnumType.STRING)
margarethab42b9632017-10-25 18:34:12 +020034 private PrivilegeType name;
margaretha398f4722019-01-09 19:07:20 +010035 @ManyToOne(fetch = FetchType.LAZY)
margarethab42b9632017-10-25 18:34:12 +020036 @JoinColumn(name = "role_id", referencedColumnName = "id")
margarethabf11d8d2017-10-24 19:31:44 +020037 private Role role;
margarethab42b9632017-10-25 18:34:12 +020038
39 public Privilege () {}
margaretha398f4722019-01-09 19:07:20 +010040
margarethab42b9632017-10-25 18:34:12 +020041 public Privilege (PrivilegeType name, Role role) {
42 this.name = name;
43 this.role = role;
44 }
45
margarethabf11d8d2017-10-24 19:31:44 +020046 public String toString () {
margarethab42b9632017-10-25 18:34:12 +020047 return "id=" + id + ", name=" + name + ", role=" + role;
margarethabf11d8d2017-10-24 19:31:44 +020048 }
margaretha08bdabe2017-10-17 14:38:49 +020049}