cn.featherfly.authorities.Actor Maven / Gradle / Ivy
package cn.featherfly.authorities;
import java.util.List;
/**
*
* 行动者
*
*
* @author 钟冀
*/
public interface Actor {
enum ActorType {
USER,
SYSTEM
}
/**
*
* 返回字符串表示的唯一标示
*
*
* @return 字符串表示的唯一标示
*/
String getId();
/**
* 是否可用
*
* @return available
*/
boolean isAvailable();
/**
*
* 获取名称
*
*
* @return 名称
*/
String getName();
/**
*
* 获取描述信息
*
*
* @return 描述信息
*/
String getDescp();
ActorType getType();
boolean hasRole(Role role);
List getRoles();
/**
*
* 返回是否拥有指定的权限.
*
*
* @param authority 权限
* @return 是否拥有指定的权限
*/
boolean hasAuthority(Authority authority);
/**
*
* 返回行动者拥有的许可
*
*
* @return 行动者拥有的许可
*/
List getOwnAuthoritys();
/**
*
* 返回行动者可以看到的许可
*
*
* @return 行动者可以看到的许可
*/
List getReadbleAuthoritys();
/**
*
* 返回行动者可以对其他人授权的权限
*
*
* @return 行动者可以对其他人授权的权限
*/
List getAuthorizableAuthoritys();
// /**
// *
// * 返回指定键对应的对象
// *
// * @param key 键
// * @return 指定键对应的对象
// */
// Object get(String key);
}