net.aavalla.utils.jobpool
Class JobPool

java.lang.Object
  extended by net.aavalla.utils.jobpool.JobPool
All Implemented Interfaces:
Disposeable

public class JobPool
extends java.lang.Object
implements Disposeable

Author:
Lari Natri

Nested Class Summary
 class JobPool.GuiJobTreeModelHandler
          PRIVATE INNER CLASSES
 
Constructor Summary
JobPool()
           
 
Method Summary
 void addJob(Job j)
           
 void addJobPoolMessageListener(JobPoolMessageListener l)
           
 void addJobPoolMessageListenerSwing(JobPoolMessageListener l)
           
 void clearMaxThreadsForAllExclusivityTypes()
           
 void dispose()
           
static int getAvailableProcessors()
           
 boolean getBetterPriorityJobsMustEndFirst()
           
 java.lang.Integer getMaxConcurrencyForCategory(JobCategory cat)
           
 JobPoolForm getNewJobTreeForm(boolean popupMenu)
           
 boolean getRunImmediateImmediately()
           
 int getRunningThreadsCount()
           
 int getUnfinishedRootJobsCount()
           
 void removeJobPoolMessageListener(JobPoolMessageListener l)
           
 void setBetterPriorityJobsMustEndFirst(boolean betterFirst)
           
 void setJobPoolSize(int size)
           
 java.lang.Integer setMaxConcurrencyForCategory(JobCategory cat, java.lang.Integer max)
           
 void setMaxRootJobs(int max)
           
 void setMaxThreads(int max)
           
 void setMaxThreadsForAllExclusivityTypes(java.lang.Integer max)
           
 void setRunImmediateImmediately(boolean immediately)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JobPool

public JobPool()
Method Detail

getAvailableProcessors

public static int getAvailableProcessors()

getNewJobTreeForm

public JobPoolForm getNewJobTreeForm(boolean popupMenu)

addJob

public void addJob(Job j)

setMaxRootJobs

public void setMaxRootJobs(int max)

setJobPoolSize

public final void setJobPoolSize(int size)

setMaxThreads

public void setMaxThreads(int max)

setRunImmediateImmediately

public final void setRunImmediateImmediately(boolean immediately)

setBetterPriorityJobsMustEndFirst

public final void setBetterPriorityJobsMustEndFirst(boolean betterFirst)

getBetterPriorityJobsMustEndFirst

public final boolean getBetterPriorityJobsMustEndFirst()

getRunImmediateImmediately

public final boolean getRunImmediateImmediately()

getMaxConcurrencyForCategory

public final java.lang.Integer getMaxConcurrencyForCategory(JobCategory cat)

setMaxConcurrencyForCategory

public final java.lang.Integer setMaxConcurrencyForCategory(JobCategory cat,
                                                            java.lang.Integer max)
                                                     throws java.lang.IllegalArgumentException
Throws:
java.lang.IllegalArgumentException

setMaxThreadsForAllExclusivityTypes

public final void setMaxThreadsForAllExclusivityTypes(java.lang.Integer max)
                                               throws java.lang.IllegalArgumentException
Throws:
java.lang.IllegalArgumentException

clearMaxThreadsForAllExclusivityTypes

public final void clearMaxThreadsForAllExclusivityTypes()
                                                 throws java.lang.IllegalArgumentException
Throws:
java.lang.IllegalArgumentException

dispose

public final void dispose()
Specified by:
dispose in interface Disposeable

getUnfinishedRootJobsCount

public int getUnfinishedRootJobsCount()

getRunningThreadsCount

public int getRunningThreadsCount()

addJobPoolMessageListenerSwing

public void addJobPoolMessageListenerSwing(JobPoolMessageListener l)

addJobPoolMessageListener

public void addJobPoolMessageListener(JobPoolMessageListener l)

removeJobPoolMessageListener

public void removeJobPoolMessageListener(JobPoolMessageListener l)