/*
Transit - Remote procedure calls made simple
Copyright (c) 2012 Ulrich Hilger
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
*/
package de.uhilger.transit;
/**
* Soll eine Klasse den Namen des angemeldeten Benutzers kennen,
* kann sie bei Verwendung von Transit diese Schnittstelle
* implementieren, um den Namen von Transit automatisch
* mitgeteilt zu bekommen.
*
* Transit sorgt beim dynamischen Laden von Klassen dafuer, dass ihnen
* ueber diese Schnittstelle der Benutzername uebergeben wird, sofern
* die betreffende Klasse diese Schnittstelle implementiert.
*
* @author Copyright (c) Ulrich Hilger, http://uhilger.de
* @author Published under the terms and conditions of
* the GNU Affero General Public License
*
* @version 1, September 23, 2012
*/
public interface NutzerKontext {
/**
* Den Namen des angemeldeten Benutzers ermitteln
*
* @return Name des angemeldeten Benutzers oder "anonymous",
* wenn kein Benutzer angemeldet ist
*/
public String getNutzerId();
/**
* Den Namen des angemeldeten Benutzers setzen
*
* @param nutzerId Name des angemeldeten Benutzers
*/
public void setNutzerId(String nutzerId);
}