/**
* <p>Copyright: Copyright (c) 2012</p>
* <p>Company: �������ӹɷ�����˾</p>
*/
package com.hundsun.ares.studio.jres.basicdata.modelanddata;
import java.util.LinkedHashMap;
import java.util.Map;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
import com.hundsun.ares.studio.core.IARESProject;
import com.hundsun.ares.studio.jres.basicdata.constant.IBasicDataEpacakgeConstant;
import com.hundsun.ares.studio.jres.basicdata.core.basicdata.BasicDataField;
import com.hundsun.ares.studio.jres.basicdata.core.basicdata.BasicdataFactory;
import com.hundsun.ares.studio.jres.basicdata.core.basicdata.PackageDefine;
import com.hundsun.ares.studio.jres.basicdata.core.basicdata.StandardFieldColumn;
import com.hundsun.ares.studio.jres.basicdata.core.basicdata.StandardFieldPackageDefine;
import com.hundsun.ares.studio.jres.basicdata.logic.epackage.BaseEPackageFactory;
import com.hundsun.ares.studio.jres.basicdata.logic.epackage.IBaiscDataEpackageFactory;
/**
* @author lvgao
*
*/
public class StandardFieldModelAndDataEpackageFactory extends BaseEPackageFactory
implements IBaiscDataEpackageFactory{
public static StandardFieldModelAndDataEpackageFactory instance = new StandardFieldModelAndDataEpackageFactory();
/* (non-Javadoc)
* @see com.hundsun.ares.studio.jres.basicdata.logic.epackage.IBaiscDataEpackageFactory#createEPackage(com.hundsun.ares.studio.core.IARESProject, com.hundsun.ares.studio.jres.basicdata.core.basicdata.PackageDefine)
*/
@Override
public EPackage createEPackage(IARESProject project, PackageDefine define)
throws Exception {
if(define instanceof StandardFieldPackageDefine){
StandardFieldPackageDefine sdefine = (StandardFieldPackageDefine)define;
EPackage ePackage = theCoreFactory.createEPackage();
ePackage.setName("StandardFieldModelAndDataPackage");
ePackage.setNsPrefix("StandardFieldModelAndData");
ePackage.setNsURI("www.hundsun.com/StandardFieldModelAndData");
EClass rootClass = addResourceRoot(ePackage);
Map<String,BasicDataField> basicDataFields = new LinkedHashMap<String,BasicDataField>();
//��ȡ���б��ֶ�
for(StandardFieldColumn item: sdefine.getFields()){
BasicDataField basicDataField = BasicdataFactory.eINSTANCE.createBasicDataField();
basicDataField.setName(item.getStandardField());
basicDataField.setDataType("");
basicDataField.setColumnType(0);
basicDataField.setChineseName("");
basicDataFields.put(item.getStandardField(),basicDataField);
}
EClass masterClass = addMasterItem(ePackage,
IBasicDataEpacakgeConstant.MasterItem,
basicDataFields);
return ePackage;
}
return null;
}
}