package org.nutz.ioc; /** * 进行对象装配的上下文环境。 * * @author zozoh(zozohtnt@gmail.com) */ public interface IocContext { /** * 存储一个对象,根据对象的级别,各个实现类可以决定是否真的存储 * * @param scope * 对象范围 * @param name * 对象的名称 * @param obj * 对象本身 * @return true 保存成功。 false 拒绝保存 */ boolean save(String scope, String name, ObjectProxy obj); /** * 从上下文环境中删一个对象。实现类根据 scope 信息来决定是否删除 * * @param scope * 对象范围 * @param name * 对象的名称 * * @return true 删除成功。 false 拒绝删除 */ boolean remove(String scope, String name); /** * 根据对象的名称获取上下文环境中的一个对象 * * @param name * 对象的名称 * @return 对象本身或者 null */ ObjectProxy fetch(String name); /** * 清空缓存,注销资源,执行完后,当前上下文对象恢复到初始状态 */ void clear(); /** * 销毁当前上下文对象,清空资源,执行完后,当前上下文对象将不再可用 */ void depose(); }