/** * <p>Copyright: Copyright (c) 2012</p> * <p>Company: �������ӹɷ����޹�˾</p> */ package com.hundsun.ares.studio.jres.basicdata.core.basicdata.validate.util; import java.util.List; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EStructuralFeature; import com.hundsun.ares.studio.jres.basicdata.constant.IBasicDataEpacakgeConstant; import com.hundsun.ares.studio.jres.basicdata.logic.util.BasicDataEpackageUtil; /** * @author lvgao * */ public class InfoTableLocatorHelper implements IKeyTableLocator{ InfoTableItemLocator locator; EObject resourceInfo; EClass eClass; EStructuralFeature infoItems; public InfoTableLocatorHelper(EObject resourceInfo){ this.resourceInfo = resourceInfo; eClass = (EClass)resourceInfo.eClass().getEPackage().getEClassifier(IBasicDataEpacakgeConstant.InfoItem); infoItems = resourceInfo.eClass().getEStructuralFeature(IBasicDataEpacakgeConstant.Attr_Info_Items); String[] keyWords = BasicDataEpackageUtil.getMasterKeyAnnotation(eClass); locator = new InfoTableItemLocator(keyWords); } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.basicdata.core.basicdata.validate.util.IKeyTableLocator#getLinkObject(org.eclipse.emf.ecore.EObject) */ @Override public EObject getLinkObject(EObject obj) throws Exception { return locator.getLinkObject(obj); } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.basicdata.core.basicdata.validate.util.IKeyTableLocator#getLinkObjectCount(org.eclipse.emf.ecore.EObject) */ @Override public int getLinkObjectCount(EObject obj) throws Exception { return locator.getLinkObjectCount(obj); } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.basicdata.core.basicdata.validate.util.IKeyTableLocator#reset() */ @Override public void reset() { locator.reset(); locator.setInput((List<EObject>)resourceInfo.eGet(infoItems)); } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.basicdata.core.basicdata.validate.util.IKeyTableLocator#isReady() */ @Override public boolean isReady() { return locator.isReady(); } }