View Javadoc

1   package twcsckernel.serverKernel.io;
2   
3   import twcsckernel.projectbase.common.FsChangeListener;
4   import twcsckernel.projectbase.io.LocalFsChangeListener;
5   import twcsckernel.projectbase.io.UserRootPathManager;
6   import twcsckernel.serverKernel.impl.UserImpl;
7   
8   /***
9    * Interfejs wpółdzielonego listenera zmian w systemie plików. Przechowuje
10   * listenery zdalne zgłoszone przez klientów zdalnych. Jest on przekazywany do
11   * fabryk plików poszczególnych użytkowników (nie zaś same listenery zdalne) i
12   * pełni rolę pośrednika (proxy), przez co można realizować w różny sposób
13   * politykę wymiany zdarzeń pomiędzy różnymi użytkownikami. Fakt, że dziedziczy
14   * implementację <i>Remote</i> jest bez znaczenia.
15   * 
16   * @author VMD Group
17   * 
18   */
19  public interface SharedFsChangeListener extends LocalFsChangeListener {
20  
21  	/***
22  	 * Metoda pozwala na dodanie listenera, który należy do podanego
23  	 * użytkownika. Parametr <i>rootManager</i> jest managerem ścieżki root
24  	 * zastosowanym dla zdarzen tego listenera. Przekazywane zdarzenia posiadają
25  	 * globalne ścieżki do plików i tłumaczenie na ścieżki względne użytkownika
26  	 * leży w kompetencji tej klasy właśnie przy pomocy przekazanego root
27  	 * managera.
28  	 * 
29  	 * @param fsChL -
30  	 *            dodawany listener
31  	 * @param owner -
32  	 *            właściciel listenera
33  	 * @param rootManager -
34  	 *            manager ścieżki root zastosowany dla zdarzenia
35  	 */
36  	public void addFsChangeListener(FsChangeListener fsChL, UserImpl owner,
37  			UserRootPathManager rootManager);
38  
39  	/***
40  	 * Metoda pozwala na ręczne usunięcie podanego listenera.
41  	 * 
42  	 * @param fsChL -
43  	 *            listener do usunięcia
44  	 * @param owner -
45  	 *            właściciel listenera
46  	 * @return - <code>true</code> jeśli listener był zarejestrowany i został
47  	 *         usunięty lub <code>false</code> w przeciwnym wypadku
48  	 */
49  	public boolean removeFsChangeListener(FsChangeListener fsChL, UserImpl owner);
50  
51  	/***
52  	 * Metoda pozwala usunąć listenery zdalne danego użytkownika (potrzebne np.
53  	 * przy wologowaniu użytkownika).
54  	 * 
55  	 * @param owner -
56  	 *            użytkownik
57  	 */
58  	public void removeUserListeners(UserImpl owner);
59  
60  }