/** * Դ�������ƣ�EObjectMapColumnLabelProvider.java * �������Ȩ���������ӹɷ����޹�˾ ��Ȩ���� * ϵͳ���ƣ�JRES Studio * ģ�����ƣ�com.hundsun.ares.studio.jres.ui * ����˵����JRES Studio�Ľ���չ�ֻ�����ܺͱ༭��ع��� * ����ĵ��� * ���ߣ� */ package com.hundsun.ares.studio.ui.editor.viewers; import org.eclipse.emf.common.util.EMap; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EReference; import org.eclipse.jface.viewers.ColumnLabelProvider; /** * @author gongyf * */ public class EObjectMapColumnLabelProvider extends ColumnLabelProvider { private EReference reference; private Object key; /** * @param reference * @param key */ public EObjectMapColumnLabelProvider(EReference reference, Object key) { super(); this.reference = reference; this.key = key; } /** * ��ȡ��Ҫ������EObject * @param element * @return */ protected EObject getOwner(Object element) { return (EObject) element; } /** * @return the reference */ protected EReference getReference() { return reference; } @Override public String getText(Object element) { EObject owner = getOwner(element); if (!owner.eClass().getEAllReferences().contains(reference)) { return ""; } Object value = ((EMap)owner.eGet(reference)).get(key); if (value == null) { value = ""; } return String.valueOf(value); } }