Files
timi-inject/src/main/java/com/imyeyu/inject/InjectApp.java
2025-07-23 23:07:09 +08:00

52 lines
975 B
Java

package com.imyeyu.inject;
import java.util.ArrayList;
import java.util.List;
/**
* @author 夜雨
* @since 2024-10-10 15:20
*/
public final class InjectApp {
Object obj;
Class<?> clazz;
TimiInject injector;
/** 全局注入后监听,包括静态注入 */
final List<CallbackArg<TimiInject>> afterInjectCallbackList = new ArrayList<>();
public InjectApp(Object obj) {
this.obj = obj;
this.clazz = obj.getClass();
}
public InjectApp(Class<?> clazz) {
this.clazz = clazz;
}
public TimiInject injector() {
return injector;
}
/**
* 添加全局注入后监听
*
* @param listener 监听器
*/
public synchronized void addAfterInjectListener(CallbackArg<TimiInject> listener) {
afterInjectCallbackList.add(listener);
}
/**
* 移除全局注入后监听
*
* @param listener 监听器
*/
public synchronized void removeAfterInjectListener(CallbackArg<TimiInject> listener) {
afterInjectCallbackList.remove(listener);
}
}