AbstractEObjectSemanticProvider.java 文件源码

java
阅读 19 收藏 0 点赞 0 评论 0

项目:Source 作者:
/**
 * {@inheritDoc}
 *
 * @see eu.modelwriter.semantic.ISemanticProvider#getRelatedConcepts(java.lang.Object)
 */
public Map<Object, Set<Object>> getRelatedConcepts(Object concept) {
    final Map<Object, Set<Object>> res = new LinkedHashMap<Object, Set<Object>>();

    if (concept instanceof ENamedElement) {
        for (EStructuralFeature feature : ((ENamedElement)concept).eClass().getEAllStructuralFeatures()) {
            final Set<Object> values = new LinkedHashSet<Object>();
            final Object eValue = ((ENamedElement)concept).eGet(feature);
            if (eValue instanceof Collection<?>) {
                values.addAll((Collection<?>)eValue);
            } else if (eValue != null) {
                values.add(eValue);
            }
            if (!values.isEmpty()) {
                res.put(feature, values);
            }
        }
    }

    return res;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号