/** * <p>Copyright: Copyright (c) 2013</p> * <p>Company: �������ӹɷ����޹�˾</p> */ package com.hundsun.ares.studio.ui.editor.extend; import org.apache.commons.lang.StringUtils; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EStructuralFeature; import org.eclipse.jface.viewers.LabelProvider; import com.hundsun.ares.studio.core.model.ExtensibleModel; import com.hundsun.ares.studio.core.model.UserExtensibleProperty; /** * ����չģ����ȡֵ(��֧�ִӻ�����ȡ) * @author liaogc * */ public class ExtendsLabelProvider extends LabelProvider implements IEMLabelProviderExtension { private ExtensibleModel model; private String key; private EStructuralFeature feature; private String extendModelKey; public ExtendsLabelProvider(String key ,EStructuralFeature feature, String extendModelKey) { super(); this.key = key; this.feature = feature; this.extendModelKey = extendModelKey; } @Override public String getText(Object element) { if (model != null) { EObject value = model.getData2().get(extendModelKey); if (value != null && value instanceof UserExtensibleProperty) { return StringUtils.defaultIfBlank( ((UserExtensibleProperty) value).getMap().get(key), ""); } return StringUtils.EMPTY; } return StringUtils.EMPTY; } @Override public void setExtensibleModel(ExtensibleModel model) { this.model = model; } }