/** * Դ�������ƣ�ObjectScriptWrapImpl.java * �������Ȩ���������ӹɷ����޹�˾ ��Ȩ���� * ϵͳ���ƣ�JRES Studio * ģ�����ƣ�com.hundsun.ares.studio.biz.core * ����˵����$desc * ����ĵ��� * ���ߣ�sundl */ package com.hundsun.ares.studio.biz.script; import java.util.ArrayList; import java.util.List; import org.apache.commons.lang.StringUtils; import com.hundsun.ares.studio.biz.constants.IBizRefType; 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.core.util.ARESElementUtil; import com.hundsun.ares.studio.jres.script.api.biz.IBizObjectWrap; import com.hundsun.ares.studio.jres.script.api.biz.IObjScriptWrap; import com.hundsun.ares.studio.model.reference.ReferenceInfo; import com.hundsun.ares.studio.reference.ReferenceManager; /** * * @author sundl * */ public class ObjectScriptWrapImpl implements IObjScriptWrap{ private IARESProject project; public ObjectScriptWrapImpl(IARESProject project) { this.project = project; } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.script.api.biz.IObjScriptWrap#getObjects() */ @Override public IBizObjectWrap[] getObjects() { List<IBizObjectWrap> objects = new ArrayList<IBizObjectWrap>(); List<ReferenceInfo> refList = ReferenceManager.getInstance().getReferenceInfos(project, IBizRefType.Object, true); for (ReferenceInfo ref : refList) { objects.add(new BizObjectWrap(ref.getResource())); } return objects.toArray(new IBizObjectWrap[0]); } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.script.api.biz.IObjScriptWrap#getObjectByName(java.lang.String) */ @Override public IBizObjectWrap getObjectByName(String name) { ReferenceInfo ref = ReferenceManager.getInstance().getFirstReferenceInfo(project, IBizRefType.Object, name, true); if (ref != null) return new BizObjectWrap(ref.getResource()); return null; } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.script.api.biz.IObjScriptWrap#getObjectsBySubsys(java.lang.String) */ @Override public IBizObjectWrap[] getObjectsBySubsys(String subsysName) { List<IBizObjectWrap> objects = new ArrayList<IBizObjectWrap>(); List<ReferenceInfo> refList = ReferenceManager.getInstance().getReferenceInfos(project, IBizRefType.Object, true); for (ReferenceInfo ref : refList) { IARESResource res = ref.getResource(); IARESModule module = ARESElementUtil.getTopModule(res); if (module.getElementName().equals(subsysName)) objects.add(new BizObjectWrap(res)); } return objects.toArray(new IBizObjectWrap[0]); } @Override public IBizObjectWrap[] getObjectsByModule(String moduleName) { List<IBizObjectWrap> objects = new ArrayList<IBizObjectWrap>(); List<ReferenceInfo> refList = ReferenceManager.getInstance().getReferenceInfos(project, IBizRefType.Object, true); for (ReferenceInfo ref : refList) { IARESResource res = ref.getResource(); if (StringUtils.equals(res.getModule().getElementName(), moduleName)) objects.add(new BizObjectWrap(res)); } return objects.toArray(new IBizObjectWrap[0]); } }