package com.hundsun.ares.studio.jres.basicdata.logic.util;
import java.util.ArrayList;
import java.util.List;
import com.hundsun.ares.studio.core.IARESProject;
import com.hundsun.ares.studio.core.IARESResource;
import com.hundsun.ares.studio.model.reference.ReferenceInfo;
import com.hundsun.ares.studio.reference.ReferenceManager;
public class JRESResProviderUtil {
/**
* �����ͻ�ȡ��Դ
* @param project
* @param restype
* @return
*/
public static IARESResource[] getResoruceByType(IARESProject project,String restype){
List<IARESResource> tList = new ArrayList<IARESResource>();
List<ReferenceInfo> infoList = ReferenceManager.getInstance().getReferenceInfos(project, restype, true);
for(ReferenceInfo referenceInfo:infoList){
tList.add(referenceInfo.getResource());
}
return tList.toArray(new IARESResource[0]);
}
/**
* ��ȡԪ����ģ��
* @param <T>
* @param project
* @param name
* @param restype
* @param clazz
* @return
*/
public static <T> T getMetadataModel(IARESProject project,String name,String restype,Class<T> clazz){
ReferenceInfo referenceInfo = ReferenceManager.getInstance().getFirstReferenceInfo(project, restype, name, true);
if(referenceInfo!=null ){
return (T)referenceInfo.getObject();
}
return null;
}
/**
* ��ȡ��Դģ��
* @param <T>
* @param project
* @param name
* @param restype
* @param clazz
* @return
* @throws Exception
*/
public static <T> T getResourceModel(IARESProject project,String name,String restype,Class<T> clazz)throws Exception{
ReferenceInfo referenceInfo = ReferenceManager.getInstance().getFirstReferenceInfo(project, restype, name, true);
if(referenceInfo!=null ){
IARESResource resource = referenceInfo.getResource();
return resource.getInfo(clazz);
}
return null;
}
}