public interface  org.apache.shiro.subject.Subject extends java.lang.Object
{
public abstract java.lang.Object getPrincipal();
public abstract org.apache.shiro.subject.PrincipalCollection getPrincipals();
public abstract boolean isPermitted(java.lang.String);
public abstract boolean isPermitted(org.apache.shiro.authz.Permission);
public abstract transient boolean[] isPermitted(java.lang.String[]);
public abstract boolean[] isPermitted(java.util.List);
public abstract transient boolean isPermittedAll(java.lang.String[]);
public abstract boolean isPermittedAll(java.util.Collection);
public abstract void checkPermission(java.lang.String) throws org.apache.shiro.authz.AuthorizationException;
public abstract void checkPermission(org.apache.shiro.authz.Permission) throws org.apache.shiro.authz.AuthorizationException;
public abstract transient void checkPermissions(java.lang.String[]) throws org.apache.shiro.authz.AuthorizationException;
public abstract void checkPermissions(java.util.Collection) throws org.apache.shiro.authz.AuthorizationException;
public abstract boolean hasRole(java.lang.String);
public abstract boolean[] hasRoles(java.util.List);
public abstract boolean hasAllRoles(java.util.Collection);
public abstract void checkRole(java.lang.String) throws org.apache.shiro.authz.AuthorizationException;
public abstract void checkRoles(java.util.Collection) throws org.apache.shiro.authz.AuthorizationException;
public abstract transient void checkRoles(java.lang.String[]) throws org.apache.shiro.authz.AuthorizationException;
public abstract void login(org.apache.shiro.authc.AuthenticationToken) throws org.apache.shiro.authc.AuthenticationException;
public abstract boolean isAuthenticated();
public abstract boolean isRemembered();
public abstract org.apache.shiro.session.Session getSession();
public abstract org.apache.shiro.session.Session getSession(boolean);
public abstract void logout();
public abstract java.lang.Object execute(java.util.concurrent.Callable) throws org.apache.shiro.subject.ExecutionException;
public abstract void execute(java.lang.Runnable);
public abstract java.util.concurrent.Callable associateWith(java.util.concurrent.Callable);
public abstract java.lang.Runnable associateWith(java.lang.Runnable);
public abstract void runAs(org.apache.shiro.subject.PrincipalCollection) throws java.lang.NullPointerException, java.lang.IllegalStateException;
public abstract boolean isRunAs();
public abstract org.apache.shiro.subject.PrincipalCollection getPreviousPrincipals();
public abstract org.apache.shiro.subject.PrincipalCollection releaseRunAs();
}