package org.dayatang.security.domain; import javax.persistence.DiscriminatorValue; import javax.persistence.Entity; import java.util.List; import java.util.Objects; /** * 许可,代表对系统一项细粒度功能的访问权限。或者不太精确地说,代表一项具体的系统功能 * Created by yyang on 15/1/13. */ @Entity @DiscriminatorValue("PERM") public class Permission extends Authority { protected Permission() { } public Permission(String name) { super(name); } public static Permission create(String name) { Permission permission = new Permission(name); permission.save(); return permission; } public static Permission get(String id) { return get(Permission.class, id); } public static Permission getByName(String name) { return getByName(Permission.class, name); } public static List<Permission> list() { return findAll(Permission.class); } @Override public boolean equals(Object o) { if (this == o) { return true; } if (!(o instanceof Permission)) { return false; } Permission that = (Permission) o; return Objects.equals(getName(), that.getName()); } @Override public int hashCode() { return Objects.hash(getName()); } @Override public String toString() { return "Permission{" + getName() + "}"; } }