EventListenerSupport是apache lang3包提供用于处理事件监听的解决方案。
pom
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.4</version>
</dependency>
使用
- 创建监听器接口
public interface IListener {
void onListener();
}
- 通过接口创建EventListenerSupport
EventListenerSupport<IListener> eventListener = EventListenerSupport.create(IListener.class);
- 实现监听器
public class TestListener implements IListener {
public void onListener() {
System.out.println("test");
}
}
- 向EventListenerSupport注册监听器
eventListener.addListener(new TestListener());
- 事件发生时,触发监听器.fire方法会返回IListener的代理类.运行IListener的方法,会通过代理允许所有注册监听器的相同方法.
eventListener.fire().onListener();