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 Classes
    Modifier and Type
    Interface
    Description
    static interface 
    Information about a potential crash.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    process(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 is dirty, this method is supposed to schedule revalidation for the dirty objects (or the whole project) and return true. If the given crash info is not dirty, 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 return false, and this method should not do anything. Never [@code null}.
      transaction - read-only BM transcation, never null. Object IDs returned by ICrashProcessTask.ICrashInfo.getDirtyTopObjectIds() are valid in the scope of this transaction, but may not be valid outside of it.
      monitor - progress monitor, never null.
      Returns:
      true should 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. false should be returned, if nothing is done, and further processing is needed.