public class JavaScriptJobManagerImpl extends Object implements JavaScriptJobManager
Default implementation of JavaScriptJobManager.
This job manager class is guaranteed not to keep old windows in memory (no window memory leaks).
This job manager is serializable, but any running jobs are transient and are not serialized.
MemoryLeakTest,
Serialized Form| Constructor and Description |
|---|
JavaScriptJobManagerImpl(WebWindow window)
Creates a new instance.
|
| Modifier and Type | Method and Description |
|---|---|
int |
addJob(JavaScriptJob job,
Page page)
Adds the specified job to this job manager, assigning it an ID.
|
JavaScriptJob |
getEarliestJob()
Gets the earliest job for this manager.
|
int |
getJobCount()
Returns the number of active jobs, including jobs that are currently executing and jobs that are
waiting to execute.
|
void |
removeAllJobs()
Removes all jobs from the execution queue.
|
void |
removeJob(int id)
Removes the specified job from the execution queue.
|
boolean |
runSingleJob(JavaScriptJob givenJob)
Runs the provided job if it is the right time for it.
|
void |
shutdown()
Shuts down this job manager and stops all of its jobs.
|
void |
stopJob(int id)
Stops the specified job and removes it from the execution queue, not even allowing the job to finish if it is
currently executing.
|
int |
waitForJobs(long timeoutMillis)
Blocks until all active jobs have finished executing.
|
int |
waitForJobsStartingBefore(long delayMillis)
Blocks until all jobs scheduled to start executing before (now + delayMillis) have finished executing.
|
public JavaScriptJobManagerImpl(WebWindow window)
window - the window associated with the new job managerpublic int getJobCount()
getJobCount in interface JavaScriptJobManagerpublic int addJob(JavaScriptJob job, Page page)
addJob in interface JavaScriptJobManagerjob - the job to add to the job managerpage - the page which is trying to add the jobpublic void removeJob(int id)
removeJob in interface JavaScriptJobManagerid - the ID of the job to be removed from the execution queuepublic void stopJob(int id)
stopJob in interface JavaScriptJobManagerid - the ID of the job to be stoppedpublic void removeAllJobs()
removeAllJobs in interface JavaScriptJobManagerpublic int waitForJobs(long timeoutMillis)
waitForJobs in interface JavaScriptJobManagertimeoutMillis - the maximum amount of time to wait (in milliseconds); may be negative, in which
case this method returns immediatelypublic int waitForJobsStartingBefore(long delayMillis)
waitForJobsStartingBefore in interface JavaScriptJobManagerdelayMillis - the delay which determines the background tasks to wait for (in milliseconds);
may be negative, as it is relative to the current timepublic void shutdown()
shutdown in interface JavaScriptJobManagerpublic JavaScriptJob getEarliestJob()
getEarliestJob in interface JavaScriptJobManagernull if nonepublic boolean runSingleJob(JavaScriptJob givenJob)
runSingleJob in interface JavaScriptJobManagergivenJob - the job to runCopyright © 2002-2012 Gargoyle Software Inc.. All Rights Reserved.