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 Summary
Modifier and TypeMethodDescriptionvoidaboutToRun(org.eclipse.core.runtime.jobs.IJobChangeEvent event) Reschedules all jobs that are not listed as exceptions.voidaddExceptionJob(org.eclipse.core.runtime.jobs.Job job) Adds a job as exception to what is allowed to run without being rescheduled.voidawake(org.eclipse.core.runtime.jobs.IJobChangeEvent event) voiddone(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.voidrunning(org.eclipse.core.runtime.jobs.IJobChangeEvent event) voidscheduled(org.eclipse.core.runtime.jobs.IJobChangeEvent event) voidsleeping(org.eclipse.core.runtime.jobs.IJobChangeEvent event) static booleanStatic method to start the job rescheduler.static booleanstop()Static method to stop the job rescheduler.
Method Details
initialize
public 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.start
Static 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.
isRunning
public static boolean isRunning()Checks if the rescheduler is started.- Returns:
- true if rescheduler is started, false otherwise.
stop
public static boolean stop()Static method to stop the job rescheduler.- Returns:
- true for success, false if not started.
getRunnningInstance
Gets the started instance.- Returns:
- The started instance of the rescheduler, or null for none.
addExceptionJob
public 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.
aboutToRun
public void aboutToRun(org.eclipse.core.runtime.jobs.IJobChangeEvent event) Reschedules all jobs that are not listed as exceptions.- Specified by:
aboutToRunin interfaceorg.eclipse.core.runtime.jobs.IJobChangeListener- Parameters:
event- The job change event.
done
public void done(org.eclipse.core.runtime.jobs.IJobChangeEvent event) Called when a job is done (cancel, failure or success).- Specified by:
donein interfaceorg.eclipse.core.runtime.jobs.IJobChangeListener
awake
public void awake(org.eclipse.core.runtime.jobs.IJobChangeEvent event) - Specified by:
awakein interfaceorg.eclipse.core.runtime.jobs.IJobChangeListener
running
public void running(org.eclipse.core.runtime.jobs.IJobChangeEvent event) - Specified by:
runningin interfaceorg.eclipse.core.runtime.jobs.IJobChangeListener
scheduled
public void scheduled(org.eclipse.core.runtime.jobs.IJobChangeEvent event) - Specified by:
scheduledin interfaceorg.eclipse.core.runtime.jobs.IJobChangeListener
sleeping
public void sleeping(org.eclipse.core.runtime.jobs.IJobChangeEvent event) - Specified by:
sleepingin interfaceorg.eclipse.core.runtime.jobs.IJobChangeListener