/**
* �������Ȩ���������ӹɷ�����˾ ��Ȩ����
* ϵͳ���ƣ�JRES Studio
*/
package com.hundsun.ares.studio.ui.editor.viewers;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.core.runtime.Assert;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
/**
* �ṩһ�ּĶ������ֶ��ṩ��
* @author gongyf
*
*/
public class MultiTypeEStructuralFeatureProvider implements
IEStructuralFeatureProvider {
Map<EClass, EStructuralFeature> featureMap;
/**
* ���뱣֤2�����鳤��һ��
*
* @param eClasses
* @param features
*/
public MultiTypeEStructuralFeatureProvider(EClass[] eClasses, EStructuralFeature[] features) {
Assert.isNotNull(eClasses);
Assert.isNotNull(features);
Assert.isTrue(eClasses.length == features.length);
featureMap = new HashMap<EClass, EStructuralFeature>();
for (int i = 0; i < eClasses.length; i++) {
featureMap.put(eClasses[i], features[i]);
}
}
/* (non-Javadoc)
* @see com.hundsun.ares.studio.jres.ui.viewers.IEStructuralFeatureProvider#getFeature(java.lang.Object)
*/
@Override
public EStructuralFeature getFeature(Object element) {
if (element instanceof EObject) {
return featureMap.get(((EObject) element).eClass());
}
return null;
}
}