package net.sourceforge.pmd.eclipse.runtime.cmd;
import org.apache.log4j.Logger;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IResourceVisitor;
/**
* This class visits all of the resources in the Eclipse
* Workspace, and runs PMD on them if they happen to be
* Java files.
*
* Any violations get tagged onto the file as problems in the tasks list.
* @author Philippe Herlin
*
*/
public class ResourceVisitor extends BaseVisitor implements IResourceVisitor {
private static final Logger log = Logger.getLogger(ResourceVisitor.class);
/**
* @see org.eclipse.core.resources.IResourceVisitor#visit(IResource)
*/
public boolean visit(final IResource resource) {
log.debug("Visiting resource " + resource.getName());
boolean fVisitChildren = true;
if (this.isCanceled()) {
fVisitChildren = false;
} else {
this.reviewResource(resource);
}
return fVisitChildren;
}
}