* @package generis */ interface common_session_Session { /** * Get the user of the session * * Returns null if there is no user * * @access public * @author Joel Bout, * @return oat\oatbox\user\User */ public function getUser(); /** * Get the URI identifying the currently authenticated user in persistent memory. * * @access public * @author Joel Bout, * @return string */ public function getUserUri(); /** * A string representation of the current user. Might not be unique * * @access public * @author Joel Bout, * @return string */ public function getUserLabel(); /** * returns the roles of the current user * * @access public * @author Joel Bout, * @return array An array of strings */ public function getUserRoles(); /** * returns the language identifier to use for data * * @access public * @author Joel Bout, * @return string */ public function getDataLanguage(); /** * returns the language identifier to use for the interface * * @access public * @author Joel Bout, * @return string */ public function getInterfaceLanguage(); /** * returns the timezone to use for times * * @access public * @author Joel Bout, * @return string */ public function getTimeZone(); /** * Generic information retrieval of user data * * @param string $property * @return array */ public function getUserPropertyValues($property); /** * refreshes the information stored in the current session */ public function refresh(); /** * Returns additional contexts of the current session * @param string $class Class to filter the contexts by, or all if none provided * @return SessionContext[] */ public function getContexts(string $class = null): array; }