/** * Collects all dependencies the NamedElement has. In the case of a Class * the dependencies of its interfaces will be processed too. * * @param element * The NamedElement the dependencies should be collected * @return An <code>EList</code> with all collected dependencies */ @SuppressWarnings("unchecked") public EList<Dependency> getAllDependencies(NamedElement element) { EList<Dependency> dependencies = new UniqueEList<Dependency>(); dependencies.addAll(element.getClientDependencies()); if (element instanceof org.eclipse.uml2.uml.Class) { Class clazz = (Class) element; for (int i = 0; i < clazz.getImplementedInterfaces().size(); i++) { dependencies.addAll(getAllInterfaceAssociations(clazz .getImplementedInterfaces().get(i))); } } EList<Dependency> depsFiltered = new UniqueEList<Dependency>(); for (Iterator<Dependency> iter = dependencies.iterator(); iter .hasNext();) { Dependency e = iter.next(); if (!(e instanceof InterfaceRealization)) { depsFiltered.add(e); } } return depsFiltered; }