Skip to content

Commit 9867a0e

Browse files
committed
Add EntityEvent.java
1 parent 82389ff commit 9867a0e

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package spring.oldboy.listener;
2+
/*
3+
Создадим сущность, которая будет прослушиваться. События или изменения, которой
4+
будут фиксироваться слушателем. Слушатель же сможет подписаться или отписаться от
5+
прослушивания событий этой сущности.
6+
7+
Еще раз:
8+
- есть некий объект подверженный изменениям, и он транслирует эти изменения
9+
во вне (некий 'транслирующий канал');
10+
- есть другой объект - слушатель - который прослушивает 'эфир'. Но не весь, а
11+
только 'те каналы' на которые 'подписан'. И от которых он может отписаться и
12+
не прослушивать при определенных условиях.
13+
*/
14+
import lombok.Getter;
15+
16+
import java.util.EventObject;
17+
/*
18+
Для того чтобы наш Event подключился к системе слушателей
19+
Spring-а он должен наследовать от EventObject, либо от
20+
класса ApplicationEvent.
21+
*/
22+
public class EntityEvent extends EventObject {
23+
/*
24+
Наш Event обладает полями и методами, удалим явно прописанный метод
25+
*.getAccessTyp() и поставим соответствующую аннотацию над полем, для
26+
которого нужен геттер. Естественно если мы хотим получить геттеры для
27+
всех полей, аннотируем сразу класс.
28+
*/
29+
@Getter
30+
private final AccessType accessType;
31+
32+
public EntityEvent(Object entity, AccessType accessType) {
33+
super(entity);
34+
this.accessType = accessType;
35+
}
36+
}

0 commit comments

Comments
 (0)