Skip to content

Commit b2f069e

Browse files
committed
java
1 parent 5ef2c99 commit b2f069e

File tree

555 files changed

+1886
-506
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

555 files changed

+1886
-506
lines changed

.vscode/settings.json

+1
Original file line numberDiff line numberDiff line change
@@ -198,4 +198,5 @@
198198
"Java源代码/Lesson06"
199199
],
200200
"java.configuration.updateBuildConfiguration": "disabled",
201+
"java.compile.nullAnalysis.mode": "automatic",
201202
}
File renamed without changes.
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
1-
package cn.aofeng.demo.eventdriver_improve;
2-
/**
3-
* 事件
4-
*
5-
* @author aofeng <[email protected]>
6-
*/
7-
public class Event {
8-
9-
// 事件附带的数据
10-
private Object data;
11-
12-
// 事件类型
13-
private String eventType;
14-
15-
public Event(String eventType, Object obj){
16-
this.eventType = eventType;
17-
this.data = obj;
18-
}
19-
20-
public Object getData() {
21-
return this.data;
22-
}
23-
24-
public String getEventType() {
25-
return this.eventType;
26-
}
27-
1+
package cn.aofeng.demo.eventdriver_improve;
2+
/**
3+
* 事件
4+
*
5+
* @author aofeng <[email protected]>
6+
*/
7+
public class Event {
8+
9+
// 事件附带的数据
10+
private Object data;
11+
12+
// 事件类型
13+
private String eventType;
14+
15+
public Event(String eventType, Object obj){
16+
this.eventType = eventType;
17+
this.data = obj;
18+
}
19+
20+
public Object getData() {
21+
return this.data;
22+
}
23+
24+
public String getEventType() {
25+
return this.eventType;
26+
}
27+
2828
}
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
package cn.aofeng.demo.eventdriver_improve;
2-
/**
3-
* 事件监听器(监听一个或多个事件并进行具体的处理)
4-
*
5-
* @author aofeng <[email protected]>
6-
*/
7-
public interface EventListener {
8-
9-
/**
10-
* 处理事件
11-
*
12-
* @param event 事件
13-
*/
14-
public void execute(Event event);
15-
1+
package cn.aofeng.demo.eventdriver_improve;
2+
/**
3+
* 事件监听器(监听一个或多个事件并进行具体的处理)
4+
*
5+
* @author aofeng <[email protected]>
6+
*/
7+
public interface EventListener {
8+
9+
/**
10+
* 处理事件
11+
*
12+
* @param event 事件
13+
*/
14+
public void execute(Event event);
15+
1616
}
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,64 @@
1-
package cn.aofeng.demo.eventdriver_improve;
2-
import java.util.ArrayList;
3-
import java.util.HashMap;
4-
import java.util.List;
5-
import java.util.Map;
6-
7-
/**
8-
* 事件管理器。负责
9-
*
10-
* @author aofeng <[email protected]>
11-
*/
12-
public class EventManagement {
13-
14-
private Map<String, List<EventListener>> map = new HashMap<String, List<EventListener>>();
15-
16-
public EventManagement(){
17-
18-
}
19-
20-
/**
21-
* 向指定事件添加一个监听器
22-
*
23-
* @param eventType 事件类型
24-
* @param listener 事件监听器
25-
* @return 添加成功返回true;添加失败返回false
26-
*/
27-
public boolean addListener(String eventType, EventListener listener){
28-
List<EventListener> listeners = map.get(eventType);
29-
if (null == listeners) {
30-
listeners = new ArrayList<EventListener>();
31-
}
32-
boolean result = listeners.add(listener);
33-
map.put(eventType, listeners);
34-
35-
return result;
36-
}
37-
38-
/**
39-
* 移除事件的某一个监听器
40-
*
41-
* @param eventType 事件类型
42-
* @param listener 事件监听器
43-
* @return 移除成功返回true;移除失败返回false
44-
*/
45-
public boolean removeListener(String eventType, EventListener listener){
46-
List<EventListener> listeners = map.get(eventType);
47-
if (null != listeners) {
48-
return listeners.remove(listener);
49-
}
50-
51-
return false;
52-
}
53-
54-
/**
55-
* 获取指定事件的监听器
56-
*
57-
* @param eventType 事件类型
58-
* @return 如果指定的事件没有监听器返回null;否则返回监听器列表
59-
*/
60-
public List<EventListener> getEventListeners(String eventType) {
61-
return map.get(eventType);
62-
}
63-
1+
package cn.aofeng.demo.eventdriver_improve;
2+
import java.util.ArrayList;
3+
import java.util.HashMap;
4+
import java.util.List;
5+
import java.util.Map;
6+
7+
/**
8+
* 事件管理器。负责
9+
*
10+
* @author aofeng <[email protected]>
11+
*/
12+
public class EventManagement {
13+
14+
private Map<String, List<EventListener>> map = new HashMap<String, List<EventListener>>();
15+
16+
public EventManagement(){
17+
18+
}
19+
20+
/**
21+
* 向指定事件添加一个监听器
22+
*
23+
* @param eventType 事件类型
24+
* @param listener 事件监听器
25+
* @return 添加成功返回true;添加失败返回false
26+
*/
27+
public boolean addListener(String eventType, EventListener listener){
28+
List<EventListener> listeners = map.get(eventType);
29+
if (null == listeners) {
30+
listeners = new ArrayList<EventListener>();
31+
}
32+
boolean result = listeners.add(listener);
33+
map.put(eventType, listeners);
34+
35+
return result;
36+
}
37+
38+
/**
39+
* 移除事件的某一个监听器
40+
*
41+
* @param eventType 事件类型
42+
* @param listener 事件监听器
43+
* @return 移除成功返回true;移除失败返回false
44+
*/
45+
public boolean removeListener(String eventType, EventListener listener){
46+
List<EventListener> listeners = map.get(eventType);
47+
if (null != listeners) {
48+
return listeners.remove(listener);
49+
}
50+
51+
return false;
52+
}
53+
54+
/**
55+
* 获取指定事件的监听器
56+
*
57+
* @param eventType 事件类型
58+
* @return 如果指定的事件没有监听器返回null;否则返回监听器列表
59+
*/
60+
public List<EventListener> getEventListeners(String eventType) {
61+
return map.get(eventType);
62+
}
63+
6464
}
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,38 @@
1-
package cn.aofeng.demo.eventdriver_improve;
2-
import java.util.List;
3-
4-
/**
5-
* 事件源(事件发送者)
6-
*
7-
* @author aofeng <[email protected]>
8-
*/
9-
public class EventSource {
10-
11-
// 事件管理器
12-
private EventManagement eventManagement;;
13-
14-
public EventSource(EventManagement eventManagement){
15-
this.eventManagement = eventManagement;
16-
}
17-
18-
/**
19-
* 派发事件
20-
*
21-
* @param data 事件
22-
*/
23-
public void fire(Event event) {
24-
if (null == event) {
25-
return;
26-
}
27-
28-
List<EventListener> listeners = eventManagement.getEventListeners(event.getEventType());
29-
if (null == listeners) {
30-
return;
31-
}
32-
33-
for (EventListener listener : listeners) {
34-
listener.execute(event);
35-
}
36-
}
37-
1+
package cn.aofeng.demo.eventdriver_improve;
2+
import java.util.List;
3+
4+
/**
5+
* 事件源(事件发送者)
6+
*
7+
* @author aofeng <[email protected]>
8+
*/
9+
public class EventSource {
10+
11+
// 事件管理器
12+
private EventManagement eventManagement;;
13+
14+
public EventSource(EventManagement eventManagement){
15+
this.eventManagement = eventManagement;
16+
}
17+
18+
/**
19+
* 派发事件
20+
*
21+
* @param data 事件
22+
*/
23+
public void fire(Event event) {
24+
if (null == event) {
25+
return;
26+
}
27+
28+
List<EventListener> listeners = eventManagement.getEventListeners(event.getEventType());
29+
if (null == listeners) {
30+
return;
31+
}
32+
33+
for (EventListener listener : listeners) {
34+
listener.execute(event);
35+
}
36+
}
37+
3838
}
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1-
package cn.aofeng.demo.eventdriver_normal;
2-
/**
3-
* 事件
4-
* @author aofeng <[email protected]>
5-
*/
6-
public class Event {
7-
8-
private Object data;
9-
10-
public Event(Object obj){
11-
this.data = obj;
12-
}
13-
14-
public Object getData() {
15-
return data;
16-
}
1+
package cn.aofeng.demo.eventdriver_normal;
2+
/**
3+
* 事件
4+
* @author aofeng <[email protected]>
5+
*/
6+
public class Event {
7+
8+
private Object data;
9+
10+
public Event(Object obj){
11+
this.data = obj;
12+
}
13+
14+
public Object getData() {
15+
return data;
16+
}
1717
}
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
package cn.aofeng.demo.eventdriver_normal;
2-
/**
3-
* 事件监听器(监听一个或多个事件并进行具体的处理)
4-
*
5-
* @author aofeng <[email protected]>
6-
*/
7-
public interface EventListener {
8-
9-
/**
10-
* 处理事件
11-
*
12-
* @param event 事件
13-
*/
14-
public void execute(Event event);
15-
1+
package cn.aofeng.demo.eventdriver_normal;
2+
/**
3+
* 事件监听器(监听一个或多个事件并进行具体的处理)
4+
*
5+
* @author aofeng <[email protected]>
6+
*/
7+
public interface EventListener {
8+
9+
/**
10+
* 处理事件
11+
*
12+
* @param event 事件
13+
*/
14+
public void execute(Event event);
15+
1616
}

0 commit comments

Comments
 (0)