private boolean isValidNamespace(MGeneralizableElement gen, MNamespace ns) { Iterator it = gen.getParents().iterator(); while (it.hasNext()) { MGeneralizableElement gen2 = (MGeneralizableElement) it.next(); if (!ns.getOwnedElements().contains(gen2)) { return false; } } return true; }
/** * Gets the generalization between two generalizable elements. Returns null if there is none. * * @param child * @param parent * @return MGeneralization */ public MGeneralization getGeneralization( MGeneralizableElement child, MGeneralizableElement parent) { if (child == null || parent == null) return null; Iterator it = child.getGeneralizations().iterator(); while (it.hasNext()) { MGeneralization gen = (MGeneralization) it.next(); if (gen.getParent() == parent) { return gen; } } return null; }
/** * Returns all elements that extend some class clazz. * * @param clazz * @return Collection */ public Collection getExtendingElements(MGeneralizableElement clazz) { if (clazz == null) return new ArrayList(); Iterator it = clazz.getSpecializations().iterator(); List list = new ArrayList(); while (it.hasNext()) { MGeneralization gen = (MGeneralization) it.next(); MGeneralizableElement client = gen.getChild(); if (client != null) { list.add(client); } } return list; }
/** * Returns all classes some generalizable element clazz extends. * * @param clazz * @return Collection */ public Collection getExtendedClassifiers(MGeneralizableElement clazz) { if (clazz == null) return new ArrayList(); Iterator it = clazz.getGeneralizations().iterator(); List list = new ArrayList(); while (it.hasNext()) { MGeneralization gen = (MGeneralization) it.next(); MGeneralizableElement parent = gen.getParent(); if (parent != null) { list.add(parent); } } return list; }