private ResolverTree(Framework framework, ResolverImpl resolver) { resolvers = new ResolverNodeCollection(); trackCache = new Hashtable(); leafResolverBundles = new Hashtable(); this.resolver = resolver; this.framework = framework; }
/// <summary> /// 根据插件列表创建解析管理器 /// </summary> /// <param name="bundle"></param> /// <returns></returns> public static ResolverTree Parse(Framework framework, ResolverImpl resolver, IList <AbstractBundle> bundles) { Hashtable cache = new Hashtable(); ResolverTree admin = new ResolverTree(framework, resolver); foreach (AbstractBundle bundle in bundles) { if (!cache.Contains(bundle.ToString())) { ResolverNode resolverBundle = admin.CreateResolverBundle(bundle); if (resolverBundle != null) { //resolver.ResolveBundleStartPolicy(resolverBundle, ActivatorPolicy.Lazy); admin.resolvers.Add(resolverBundle); cache.Add(bundle.ToString(), bundle); } } } return(admin); }