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> 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 listener) { afterInjectCallbackList.add(listener); } /** * 移除全局注入后监听 * * @param listener 监听器 */ public synchronized void removeAfterInjectListener(CallbackArg listener) { afterInjectCallbackList.remove(listener); } }