package edu.agh.sr.madej;

import java.rmi.RemoteException;
import java.util.Hashtable;

/**
 * Klasa watku powiadamiajacego klienta o zmianie zawartosci tablicy.
 */
public class NoteBoardServerThread extends Thread {
	private NoteBoardListener user;
	private Hashtable users;
	private String login, text;

	/**
	 * Konstruktor.
	 *
	 * @param user referencja do zdalnego obiektu klienta
	 * @param login login
	 * @param users tablica klientow
	 * @param text tekst
	 */
	public NoteBoardServerThread(NoteBoardListener user, String login, Hashtable users, String text) {
		this.users = users;
		this.login = login;
		this.user = user;
		this.text = text;
		start();
	}

	/**
	 * Metoda definiujaca dzialanie watku.
	 */
	public void run() {
		try {
			user.onNewText(text);
		} catch (RemoteException e) {
			users.remove(login);
		}
	}
}