Как я могу получить, «какой тип ссылок будет ссылаться на конкретный объект класса» в EMF (Eclipse Modeling Framework)? Иногда объект будет ссылаться на 3 или 4 ссылочные типы. Я хочу получить количество ссылок для данного конкретного объекта. или Как получить Sub-классы для родительского объекта в EMFТип ссылки в EMF
0
A
ответ
0
Там нет прямого пути, чтобы получить список подклассов для конкретного EClass
. Вам нужно будет сделать работу самостоятельно. В основном проходят все классы всех зарегистрированных пакетов и проверяют дерево наследования:
/**
* Returns a list of all <em>known</em> sub-classes for the specified class.
*
* @param cls the super-class
* @return list of all sub-classes - possibly <code>null</code>
*/
public static Collection<EClass> getSubClasses(EClass cls) {
if (SUB_CLASSES.containsKey(cls)) return SUB_CLASSES.get(cls);
Collection<EClass> l = null;
final Registry registry = EPackage.Registry.INSTANCE;
for (final Object v : registry.values()) {
if (!(v instanceof EPackage)) {
continue;
}
final EPackage ep = (EPackage) v;
for (final EClassifier c : ep.getEClassifiers()) {
if (!(c instanceof EClass)) {
continue;
}
final EClass cl = (EClass) c;
if (cl.getESuperTypes().contains(cls)) {
if (l == null) {
l = new ArrayList<EClass>();
}
l.add(cl);
}
}
}
SUB_CLASSES.put(cls, l);
return l;
}
static final Map<EClass, Collection<EClass>> SUB_CLASSES = new HashMap<EClass, Collection<EClass>>();
Смежные вопросы
- 1. Перекрестные ссылки EMF и CDO
- 2. как обрабатывать сложный тип в emf M2M
- 3. Как добавить EMF-модель в другую EMF-модель как пакет?
- 4. Сравнение модели EMF с EMF Сравнение
- 5. Тип значения и тип ссылки
- 6. Тип ссылки внутри Тип значения в .NET
- 7. EMF NotSerializableException
- 8. EMF Затмения
- 9. Добавление в emf-модель
- 10. Использование eStorage в EMF
- 11. Преобразование emf в bmp
- 12. Функция переименования для ресурсов EMF
- 13. Как создать EAttribute, тип данных которого не является классом EMF?
- 14. Циклический тип ссылки в f #
- 15. Тип машиностроения Описание Ссылки
- 16. Pcap тип ссылки Infiniband
- 17. Как получить тип ссылки?
- 18. Тип ссылки OrderByDescending
- 19. Тип ссылки - объект?
- 20. Каков тип ссылки const?
- 21. C# Тип ссылки свойства?
- 22. ссылки, дифференцируя тип содержимого
- 23. Ракетка: определить тип ссылки
- 24. Как нарисовать xs: любой в EMF Ecore?
- 25. EMF (Eclipse Modeling Framework) в C#
- 26. EMF - Ограничение выбора в редакторе
- 27. Преобразование SVG/PDF в EMF
- 28. Агрегация VS Состав в EMF
- 29. EMF: Как настроить отношение многих ко многим с инструментом EMF
- 30. Общий список EMF