package org.fastcatsearch.http; import java.util.Map; public class SessionInfo { private String userId; private Map<ActionAuthority, ActionAuthorityLevel> authorityMap; public SessionInfo(String userId, Map<ActionAuthority, ActionAuthorityLevel> authorityMap){ this.userId = userId; this.authorityMap = authorityMap; } public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } public Map<ActionAuthority, ActionAuthorityLevel> getAuthorityMap() { return authorityMap; } public void setAuthorityMap(Map<ActionAuthority, ActionAuthorityLevel> authorityMap) { this.authorityMap = authorityMap; } public boolean hasAuthority(ActionAuthority actionAuthority, ActionAuthorityLevel actionAuthorityLevel){ if(actionAuthority == null || actionAuthorityLevel == null){ return false; } ActionAuthorityLevel groupAuthoritylevel = authorityMap.get(actionAuthority); if(groupAuthoritylevel != null){ return groupAuthoritylevel.isLargerThan(actionAuthorityLevel); } //if authority is not defined, it has no authority. return false; } }