Package edu.rit.pj.job
Class JobGenerator
java.lang.Object
edu.rit.pj.job.JobGenerator
Class JobGenerator is the abstract base class for an object that generates a
group of Jobs.
Jobs are numbered from 0 to N−1, where N is the number of
jobs in the group. A subclass must override the jobCount()
method to
return N. A subclass must override the createJob()
method to
create and return the job corresponding to a given job number. The job
generator need not create all the jobs in the group, and it need not create
them in any particular order.
Class JobGenerator provides the omit()
method to omit generating
certain job numbers. This is used for checkpointing. For further information,
see class Runner.
- Version:
- 08-Oct-2010
- Author:
- Alan Kaminsky
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected abstract Job
createJob
(int theJobNumber) Create the job with the given job number.iterator()
Get an iterator for generating the jobs in the job group.protected abstract int
jobCount()
Returns the number of jobs in the job group, N.void
Omit the job numbers in the given set when generating jobs.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
JobGenerator
public JobGenerator()Construct a new job generator.
-
-
Method Details
-
omit
Omit the job numbers in the given set when generating jobs. To be effective,omit()
must be called before callingiterator()
. A snapshot of the given set is taken; changing the set's contents thereafter will not affect the job numbers to be omitted.- Parameters:
theOmittedJobNumbers
- Set of job numbers to be omitted.- Throws:
NullPointerException
- (unchecked exception) Thrown iftheOmittedJobNumbers
is null.
-
iterator
Get an iterator for generating the jobs in the job group. -
jobCount
protected abstract int jobCount()Returns the number of jobs in the job group, N.- Returns:
- Number of jobs.
-
createJob
Create the job with the given job number. This method must create and return an instance of class Job whose job number istheJobNumber
.- Parameters:
theJobNumber
- Job number (0 .. N−1).- Returns:
- a
Job
object.
-