package jdepend.model.component; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; import jdepend.metadata.JavaClass; import jdepend.metadata.JavaPackage; import jdepend.model.Component; import jdepend.model.ComponentException; import jdepend.model.JavaClassUnit; public final class JarComponent extends Component { private static final long serialVersionUID = 3708104803198587661L; public JarComponent() { super(); } public JarComponent(String name) { super(name); } @Override protected List<Component> doList(Collection<JavaPackage> javaPackages) throws ComponentException { Map<String, JarComponent> components = new HashMap<String, JarComponent>(); JarComponent component; for (JavaPackage javaPackage : javaPackages) { String place = javaPackage.getPlace(); if (!place.equals(JavaClass.Extend_PlaceName)) { component = components.get(place); if (component == null) { component = new JarComponent(place); components.put(place, component); } for (JavaClass javaClass : javaPackage.getClasses()) { component.addJavaClass(new JavaClassUnit(javaClass)); } } } return new ArrayList<Component>(components.values()); } }