52 lines
975 B
Java
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);
|
|
}
|
|
}
|