/** * <copyright> * </copyright> * * $Id$ */ package com.hundsun.ares.studio.jres.basicdata.core.basicdata.impl; import java.util.List; import org.eclipse.emf.common.util.BasicEList; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EAttribute; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.impl.EObjectImpl; import com.hundsun.ares.studio.core.model.Reference; import com.hundsun.ares.studio.core.model.impl.TextAttributeReferenceImpl; import com.hundsun.ares.studio.jres.basicdata.constant.IBasicDataEpacakgeConstant; import com.hundsun.ares.studio.jres.basicdata.core.basicdata.BasicDataBaseModel; import com.hundsun.ares.studio.jres.basicdata.core.basicdata.BasicdataPackage; import com.hundsun.ares.studio.jres.basicdata.core.basicdata.StandardFieldColumn; import com.hundsun.ares.studio.jres.basicdata.core.basicdata.StandardFieldModelAndData; import com.hundsun.ares.studio.jres.basicdata.core.basicdata.StandardFieldPackageDefine; import com.hundsun.ares.studio.jres.basicdata.logic.util.BaiscDataReferenceImpl; import com.hundsun.ares.studio.jres.basicdata.logic.util.BasicDataEpackageUtil; import com.hundsun.ares.studio.jres.metadata.constant.IMetadataRefType; /** * <!-- begin-user-doc --> * An implementation of the model object '<em><b>Standard Field Model And Data</b></em>'. * <!-- end-user-doc --> * <p> * The following features are implemented: * <ul> * <li>{@link com.hundsun.ares.studio.jres.basicdata.core.basicdata.impl.StandardFieldModelAndDataImpl#getModel <em>Model</em>}</li> * <li>{@link com.hundsun.ares.studio.jres.basicdata.core.basicdata.impl.StandardFieldModelAndDataImpl#getData <em>Data</em>}</li> * </ul> * </p> * * @generated */ public class StandardFieldModelAndDataImpl extends EObjectImpl implements StandardFieldModelAndData { /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public StandardFieldModelAndDataImpl() { super(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override protected EClass eStaticClass() { return BasicdataPackage.Literals.STANDARD_FIELD_MODEL_AND_DATA; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override protected int eStaticFeatureCount() { return 0; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public StandardFieldPackageDefine getModel() { return (StandardFieldPackageDefine)eGet(BasicdataPackage.Literals.STANDARD_FIELD_MODEL_AND_DATA__MODEL, true); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setModel(StandardFieldPackageDefine newModel) { eSet(BasicdataPackage.Literals.STANDARD_FIELD_MODEL_AND_DATA__MODEL, newModel); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public BasicDataBaseModel getData() { return (BasicDataBaseModel)eGet(BasicdataPackage.Literals.STANDARD_FIELD_MODEL_AND_DATA__DATA, true); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setData(BasicDataBaseModel newData) { eSet(BasicdataPackage.Literals.STANDARD_FIELD_MODEL_AND_DATA__DATA, newData); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated NOT */ public EList<Reference> getReferences() { EList<Reference> infoList=new BasicEList<Reference>(); //ģ�Ͳ��� for(StandardFieldColumn item:getModel().getFields()){ TextAttributeReferenceImpl refer = new TextAttributeReferenceImpl(IMetadataRefType.StdField, item, BasicdataPackage.Literals.STANDARD_FIELD_COLUMN__STANDARD_FIELD); infoList.add(refer); } //���ݲ��� EPackage ePackage = this.getData().eClass().getEPackage(); if(BasicDataEpackageUtil.contains(ePackage, IBasicDataEpacakgeConstant.MasterItem)){ EClass master = (EClass)ePackage.getEClassifier(IBasicDataEpacakgeConstant.MasterItem); EAttribute[] attrArray = BasicDataEpackageUtil.filterAttr(master); addReferenceInfo(ePackage, infoList, attrArray); } return infoList; } private void addReferenceInfo(EPackage ePackage,List<Reference> infoList,EAttribute[] attrArray){ for(EAttribute attr:attrArray){ BaiscDataReferenceImpl info = new BaiscDataReferenceImpl(attr); infoList.add(info); } } } //StandardFieldModelAndDataImpl