package org.projectusus.ui.dependencygraph.filters;
import java.util.Collection;
import java.util.Set;
import org.projectusus.core.filerelations.model.ClassDescriptor;
import org.projectusus.ui.dependencygraph.nodes.ClassRepresenter;
import org.projectusus.ui.dependencygraph.nodes.GraphNode;
public class ClassDescriptorNodeFilter extends NodeAndEdgeFilter {
private Collection<GraphNode> classes;
@Override
public String getDescription() {
return "Classes belonging to the selected hotspot";
}
@Override
protected boolean select( GraphNode node, Set<GraphNode> others ) {
return selectedByClasses( node );
}
private boolean selectedByClasses( GraphNode node ) {
return classes == null || classes.contains( node );
}
public void setClasses( Set<ClassDescriptor> classDescriptors ) {
classes = ClassRepresenter.transformToRepresenterSet( classDescriptors );
}
}