blob: df9cbc233de0dfd55d74d60d7a4d0edcae3473ad (
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
31
32
33
|
package model;
/**
* Data observers for GUI data binding.
*/
@FunctionalInterface
public interface Observer<T> {
/**
* The data is just added to a list. Index will be its index.
*/
int DIRECTION_ADD = 0;
/**
* The data is just removed from a list. Index will be its previous index.
*/
int DIRECTION_REMOVE = 1;
/**
* The data is modified, either or not in a list. Index will be either INDEX_NOT_IN_LIST or its index.
*/
int DIRECTION_CHANGE = 2;
/**
* A special index representing that the data is not in a list.
*/
int INDEX_NOT_IN_LIST = -1;
/**
* EFFECTS: Handle data change.
* REQUIRES: data != null, direction be DIRECTION_*, index >= 0 or == INDEX_NOT_IN_LIST.
*/
void accept(T data, int direction, int index);
}
|