Package com.iizigo
Class JobRescheduler
java.lang.Object
com.iizigo.JobRescheduler
- All Implemented Interfaces:
- org.eclipse.core.runtime.jobs.IJobChangeListener
public class JobRescheduler extends Object implements org.eclipse.core.runtime.jobs.IJobChangeListener
Class that is used to resquedule all jobs but certain ones. This is used during project loading and workbench start-up.
- Author:
- Christopher Mindus
- Method SummaryModifier and TypeMethodDescription- void- aboutToRun- (org.eclipse.core.runtime.jobs.IJobChangeEvent event) Reschedules all jobs that are not listed as exceptions.- void- addExceptionJob- (org.eclipse.core.runtime.jobs.Job job) Adds a job as exception to what is allowed to run without being rescheduled.- void- awake- (org.eclipse.core.runtime.jobs.IJobChangeEvent event) - void- done- (org.eclipse.core.runtime.jobs.IJobChangeEvent event) Called when a job is done (cancel, failure or success).- static JobReschedulerGets the started instance.- static voidInitializes the rescheduler at startup.- static booleanChecks if the rescheduler is started.- void- running- (org.eclipse.core.runtime.jobs.IJobChangeEvent event) - void- scheduled- (org.eclipse.core.runtime.jobs.IJobChangeEvent event) - void- sleeping- (org.eclipse.core.runtime.jobs.IJobChangeEvent event) - static booleanStatic method to start the job rescheduler.- static boolean- stop()Static method to stop the job rescheduler.
- Method Details- initializepublic static void initialize()Initializes the rescheduler at startup. This method should be called from many threads and as soon as possible. Only one instance can be started anyway.
- startStatic method to start the job rescheduler. 71- Parameters:
- why- Short description why the rescheduler is needed, e.g. "Startup" or "Project loading".
- holdBuildJobsOnly- Flag to hold build jobs only.
- Returns:
- true for success, false if it cannot be started yet, or if one is already running.
 
- isRunningpublic static boolean isRunning()Checks if the rescheduler is started.- Returns:
- true if rescheduler is started, false otherwise.
 
- stoppublic static boolean stop()Static method to stop the job rescheduler.- Returns:
- true for success, false if not started.
 
- getRunnningInstanceGets the started instance.- Returns:
- The started instance of the rescheduler, or null for none.
 
- addExceptionJobpublic void addExceptionJob- (org.eclipse.core.runtime.jobs.Job job) Adds a job as exception to what is allowed to run without being rescheduled.- Parameters:
- job- The job to allow even if the rescheduler is active.
 
- aboutToRunpublic void aboutToRun- (org.eclipse.core.runtime.jobs.IJobChangeEvent event) Reschedules all jobs that are not listed as exceptions.- Specified by:
- aboutToRunin interface- org.eclipse.core.runtime.jobs.IJobChangeListener
- Parameters:
- event- The job change event.
 
- donepublic void done- (org.eclipse.core.runtime.jobs.IJobChangeEvent event) Called when a job is done (cancel, failure or success).- Specified by:
- donein interface- org.eclipse.core.runtime.jobs.IJobChangeListener
 
- awakepublic void awake- (org.eclipse.core.runtime.jobs.IJobChangeEvent event) - Specified by:
- awakein interface- org.eclipse.core.runtime.jobs.IJobChangeListener
 
- runningpublic void running- (org.eclipse.core.runtime.jobs.IJobChangeEvent event) - Specified by:
- runningin interface- org.eclipse.core.runtime.jobs.IJobChangeListener
 
- scheduledpublic void scheduled- (org.eclipse.core.runtime.jobs.IJobChangeEvent event) - Specified by:
- scheduledin interface- org.eclipse.core.runtime.jobs.IJobChangeListener
 
- sleepingpublic void sleeping- (org.eclipse.core.runtime.jobs.IJobChangeEvent event) - Specified by:
- sleepingin interface- org.eclipse.core.runtime.jobs.IJobChangeListener