package com.hundsun.ares.studio.core.validate; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Multimap; import com.hundsun.ares.studio.core.ARESModelException; import com.hundsun.ares.studio.core.IARESModel; import com.hundsun.ares.studio.core.IARESModule; import com.hundsun.ares.studio.core.IARESProject; import com.hundsun.ares.studio.core.IARESResource; import com.hundsun.ares.studio.internal.core.ARESModelManager; /** * Ĭ�ϵ�Context�� * ��һ��MultiMap������Դ��Ϣ��fullyQualfiedName--->IAresResource; * һ��key���ܶ�Ӧ���Value. * �����ǻ��棬��ʹ�ù����в�Ӧ����ͼ�޸Ļ������ֵ����Ȼ����ֱ���׳��쳣�����ǿ��ܻ��������Ԥ�����߼����� * @author sundl */ public class DefaultContextProvider extends AbstractAresContext { private IARESModel model; private IARESProject project; private List<IARESModule> modules = new ArrayList<IARESModule>(); private Multimap<String, IARESResource> resources = ArrayListMultimap.create(); public void init(IARESProject project) throws ARESModelException { this.model = ARESModelManager.getManager().getModel(); this.project = project; if (this.project != null) { this.modules.clear(); this.modules.addAll(Arrays.asList(project.getModules())); this.resources.clear(); for (IARESResource res : project.getResources()) { resources.put(res.getFullyQualifiedName(), res); } } } /** * @return the model */ public IARESModel getModel() { return model; } /** * @param model the model to set */ public void setModel(IARESModel model) { this.model = model; } /** * @return the project */ public IARESProject getProject() { return project; } /** * @param project the project to set */ public void setProject(IARESProject project) { this.project = project; } /** * @return the modules */ public List<IARESModule> getModules() { return modules; } /** * @param modules the modules to set */ public void setModules(List<IARESModule> modules) { this.modules = modules; } /** * @return the resources */ public Multimap<String, IARESResource> getResources() { return resources; } }