org.nlogo.nvm
Class JobManager

java.lang.Object
  extended by org.nlogo.nvm.JobManager

public final class JobManager
extends Object


Field Summary
static int PERIODIC_UPDATE_DELAY
           
 
Constructor Summary
JobManager(JobManagerOwner jobManagerOwner, World world, Object lock)
           
 
Method Summary
 void addJob(Job job, boolean waitForCompletion)
           
 void addJob(JobOwner owner, AgentSet agents, Procedure procedure)
           
 void addJobFromJobThread(Job job)
           
 Object addReporterJobAndWait(AgentSet agentset, Procedure procedure)
           
 void addSecondaryJob(JobOwner owner, AgentSet agents, Procedure procedure)
           
 boolean anyPrimaryJobs()
           
 Object callReporterProcedure(JobOwner owner, AgentSet agentset, Procedure procedure)
           
 void die()
           
 void finishJobs(JobOwner owner)
           
 void finishSecondaryJobs(JobOwner owner)
           
 void halt()
           
 void haltSecondary()
           
 void interrupt()
           
 boolean isInterrupted()
           
 void joinForeverButtons(Agent agent)
           
 Job makeConcurrentJob(JobOwner owner, AgentSet agentset, Procedure procedure)
           
 void maybeRunSecondaryJobs()
           
 void stoppingJobs(JobOwner owner)
           
 void timeToRunSecondaryJobs()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PERIODIC_UPDATE_DELAY

public static final int PERIODIC_UPDATE_DELAY
See Also:
Constant Field Values
Constructor Detail

JobManager

public JobManager(JobManagerOwner jobManagerOwner,
                  World world,
                  Object lock)
Method Detail

isInterrupted

public boolean isInterrupted()

interrupt

public void interrupt()

die

public void die()
         throws InterruptedException
Throws:
InterruptedException

timeToRunSecondaryJobs

public void timeToRunSecondaryJobs()

maybeRunSecondaryJobs

public void maybeRunSecondaryJobs()

anyPrimaryJobs

public boolean anyPrimaryJobs()

addJob

public void addJob(Job job,
                   boolean waitForCompletion)

makeConcurrentJob

public Job makeConcurrentJob(JobOwner owner,
                             AgentSet agentset,
                             Procedure procedure)

callReporterProcedure

public Object callReporterProcedure(JobOwner owner,
                                    AgentSet agentset,
                                    Procedure procedure)
                             throws LogoException
Throws:
LogoException

addReporterJobAndWait

public Object addReporterJobAndWait(AgentSet agentset,
                                    Procedure procedure)

addJobFromJobThread

public void addJobFromJobThread(Job job)

addJob

public void addJob(JobOwner owner,
                   AgentSet agents,
                   Procedure procedure)

addSecondaryJob

public void addSecondaryJob(JobOwner owner,
                            AgentSet agents,
                            Procedure procedure)

joinForeverButtons

public void joinForeverButtons(Agent agent)

halt

public void halt()

finishJobs

public void finishJobs(JobOwner owner)

finishSecondaryJobs

public void finishSecondaryJobs(JobOwner owner)

haltSecondary

public void haltSecondary()

stoppingJobs

public void stoppingJobs(JobOwner owner)