public abstract class ChangeTracker extends Object
IChangeGroupingRequestor
.
Clients may subclass this class.
IChangeGroupingRequestor
Constructor and Description |
---|
ChangeTracker()
Create a change tracker
|
Modifier and Type | Method and Description |
---|---|
void |
dispose()
Remove any listeners for this tracker.
|
protected void |
ensureGrouped(IProject project,
String name,
IFile[] files)
Group the given modified file into a change set with the given name.
|
protected abstract void |
handleChanges(IProject project,
IResource[] resources)
The given resources of interest have changed in the given project.
|
protected abstract void |
handleProjectChange(IProject project)
Resources of interest in the given project have changed but the
specific changes are not known.
|
protected boolean |
isChangeOfInterest(IResourceDelta delta)
Return whether the given delta represents a change of interest.
|
protected boolean |
isModified(IFile file)
Return whether the given file is modified with respect to the
repository provider associated with the file's project.
|
protected boolean |
isProjectOfInterest(IProject project)
Return whether the given project is of interest to this
tracker.
|
protected boolean |
isProjectTracked(IProject project)
Return whether the given project is being tracked.
|
protected abstract boolean |
isResourceOfInterest(IResource resource)
Return whether the given resource is of interest to the tracker.
|
protected void |
projectTracked(IProject project)
Callback made from
trackProject(IProject) when a project is tracked. |
void |
start()
Start tracking changes.
|
protected void |
stopTrackingProject(IProject project)
Stop tracking changes for the given project.
|
protected boolean |
trackProject(IProject project)
Track the given project if it has a change set collector.
|
public void start()
public void dispose()
protected boolean isChangeOfInterest(IResourceDelta delta)
delta
- the deltaprotected void stopTrackingProject(IProject project)
project
- the projectprotected final boolean isProjectTracked(IProject project)
project
- the projectprotected boolean isProjectOfInterest(IProject project)
true
is returned if the
project is accessible. Subclasses may extend but should
still check for project accessibility either by calling
IResource.isAccessible()
or by invoking the
overridden method.project
- the projectprotected abstract boolean isResourceOfInterest(IResource resource)
resource
- the resourceprotected abstract void handleChanges(IProject project, IResource[] resources)
project
- the projectresources
- the resourcesprotected abstract void handleProjectChange(IProject project)
project
- the projectprotected final boolean trackProject(IProject project)
project
- the projectprotected void projectTracked(IProject project)
trackProject(IProject)
when a project is tracked.
By default, handleProjectChange(IProject)
is called by subclasses may override.project
- the projectprotected void ensureGrouped(IProject project, String name, IFile[] files) throws CoreException
project
- the projectname
- the unique name used to identify the change setfiles
- the change files to be groupedCoreException
protected boolean isModified(IFile file) throws CoreException
file
- the fileCoreException
Copyright (c) 2000, 2015 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.