summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/util/IEvent3.java
blob: a78223d7de9fba8574e64c84070476985aac7e74 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package jrummikub.util;

/**
 * Interface for classes that can generate events having a two parameters
 * 
 * @param <T1>
 *            type of the first event parameter
 * @param <T2>
 *            type of the second event parameter
 * @param <T3>
 *            type of third event parameter
 */
public interface IEvent3<T1, T2, T3> {
	/**
	 * Start to publish all events to a given listener
	 * 
	 * @param listener
	 *            target listener
	 * @return a connection to remove the listener
	 */
	public Connection add(IListener3<T1, T2, T3> listener);

	/**
	 * Stop publishing events to a given listener
	 * 
	 * @param listener
	 *            target listener
	 */
	public void remove(IListener3<T1, T2, T3> listener);
}