/**
* Copyright (c) 2005-2011 by Appcelerator, Inc. All Rights Reserved.
* Licensed under the terms of the Eclipse Public License (EPL).
* Please see the license.txt included with this distribution for details.
* Any modifications to this file must keep this entire header intact.
*/
/*
* Created on Jan 31, 2005
*
* @author Fabio Zadrozny
*/
package org.python.pydev.builder;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IResourceDelta;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.text.IDocument;
import org.python.pydev.core.callbacks.ICallback0;
import org.python.pydev.plugin.nature.PythonNature;
/**
* @author Fabio Zadrozny
*/
public class PyDevDeltaCounter extends PydevInternalResourceDeltaVisitor {
private int nVisited = 0;
public PyDevDeltaCounter() {
super(null, 0);
}
@Override
protected void handleAddedPycFiles(IResource resource, PythonNature nature) {
//don't do anything special on pyc files!
}
/**
* Overridden so that we don't load the document on this visitor (there is no need for that).
*/
@Override
protected boolean chooseVisit(IResourceDelta delta, IResource resource, boolean isAddOrChange) {
switch (delta.getKind()) {
case IResourceDelta.ADDED:
visitAddedResource(resource, null, monitor);
isAddOrChange = true;
break;
case IResourceDelta.CHANGED:
visitChangedResource(resource, null, monitor);
isAddOrChange = true;
break;
case IResourceDelta.REMOVED:
visitRemovedResource(resource, null, monitor);
break;
}
return isAddOrChange;
}
/**
* @see org.python.pydev.builder.PyDevBuilderVisitor#visitChangedResource(org.eclipse.core.resources.IResource, org.eclipse.jface.text.IDocument)
*/
@Override
public void visitChangedResource(IResource resource, ICallback0<IDocument> document, IProgressMonitor monitor) {
nVisited += 1;
}
/**
* @see org.python.pydev.builder.PyDevBuilderVisitor#visitRemovedResource(org.eclipse.core.resources.IResource, org.eclipse.jface.text.IDocument)
*/
@Override
public void visitRemovedResource(IResource resource, ICallback0<IDocument> document, IProgressMonitor monitor) {
}
/**
* @param nVisited The nVisited to set.
*/
public void setNVisited(int nVisited) {
this.nVisited = nVisited;
}
/**
* @return Returns the nVisited.
*/
public int getNVisited() {
return nVisited;
}
}