Interface ICrashProcessTask
public interface ICrashProcessTask
The task to process a crash happened during operations with
IMarkerManagerV2. If there was a crash, some
(or all) objects may be 'dirty', i.e. their markers may not have been committed and are not in the good state now.
Partial or full rebuild is needed in this case. Marker manager will not schedule rebuild by
itself in this case. It is the duty of other services to check the crash info and schedule rebuild, if needed. They
may do so by calling IMarkerManagerV2.executeCrashProcessTask(org.eclipse.core.resources.IProject, ICrashProcessTask)
with an instance of this interface.-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceInformation about a potential crash. -
Method Summary
Modifier and TypeMethodDescriptionbooleanprocess(ICrashProcessTask.ICrashInfo crashInfo, IBmTransaction transaction, org.eclipse.core.runtime.IProgressMonitor monitor) Process a potential crash.
-
Method Details
-
process
boolean process(ICrashProcessTask.ICrashInfo crashInfo, IBmTransaction transaction, org.eclipse.core.runtime.IProgressMonitor monitor) Process a potential crash. If the given crash info isdirty, this method is supposed to schedule revalidation for the dirty objects (or the whole project) and returntrue. If the given crash info is notdirty, nothing needed to be done, and the return value is not significant.- Parameters:
crashInfo- information about the potential crash. If there was no crash, or the crash didn't affect marker manager,ICrashProcessTask.ICrashInfo.isDirty()would returnfalse, and this method should not do anything. Never [@code null}.transaction- read-only BM transcation, nevernull. Object IDs returned byICrashProcessTask.ICrashInfo.getDirtyTopObjectIds()are valid in the scope of this transaction, but may not be valid outside of it.monitor- progress monitor, nevernull.- Returns:
trueshould be returned if the crashed objects (or the whole project) have been successfully scheduled for revalidation. This method should not wait for the revalidation to finish.falseshould be returned, if nothing is done, and further processing is needed.
-