package fi.otavanopisto.pyramus.security.impl;
import java.util.Locale;
import fi.otavanopisto.pyramus.domainmodel.users.User;
import fi.otavanopisto.security.ContextReference;
public interface SessionController {
/**
* Returns current locale
*
* @return locale
*/
public Locale getLocale();
/**
* Sets locale
*
* @param locale
*/
public void setLocale(Locale locale);
/**
* Returns logged user or null if user is not logged in
*
* @return logged user or null if user is not logged in
*/
public User getUser();
/**
* Returns whether user is logged in
*
* @return whether user is logged in
*/
public boolean isLoggedIn();
/**
* Returns whether logged user is a super user
* @return whether logged user is a super user
*/
public boolean isSuperuser();
/**
* Logs user in
*
* @param userId user id
*/
// public void login(Long userId);
/**
* Logs user out
*/
public void logout();
boolean hasPermission(String permission, ContextReference contextReference);
/**
* Returns whether logged user has specified environment permission.
* @param permission requested permission
* @return whether logged user has specified environment permission.
*/
public boolean hasEnvironmentPermission(String permission);
}