package de.skuzzle.polly.core.internal.roles; import java.io.Serializable; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; @Entity @NamedQueries({ @NamedQuery(name = "ALL_PERMISSIONS", query = "SELECT p FROM Permission p"), @NamedQuery(name = "PERMISSION_BY_NAME", query = "SELECT p FROM Permission p WHERE p.name = ?1") }) public class Permission implements Serializable { private static final long serialVersionUID = 1L; public final static String ALL_PERMISSIONS = "ALL_PERMISSIONS"; public final static String PERMISSION_BY_NAME = "PERMISSION_BY_NAME"; @Id@GeneratedValue(strategy = GenerationType.TABLE) private int id; private String name; public Permission() {} public Permission(String name) { this.name = name; } public int getId() { return this.id; } public String getName() { return this.name; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + this.id; result = prime * result + ((this.name == null) ? 0 : this.name.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof Permission)) { return false; } Permission other = (Permission) obj; if (this.id != other.id) { return false; } if (this.name == null) { if (other.name != null) { return false; } } else if (!this.name.equals(other.name)) { return false; } return true; } @Override public String toString() { return "(" + this.id + ") " + this.name; } }