NoLookahead

case
object NoLookahead extends Lookahead

An empty Lookahead that does nothing.

trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait Lookahead
class Object
trait Matchable
class Any

Type members

Inherited types

type MirroredElemLabels = EmptyTuple
Inherited from
Singleton
type MirroredElemTypes = EmptyTuple
Inherited from
Singleton
type MirroredLabel <: String

The name of the type

The name of the type

Inherited from
Mirror
type MirroredMonoType = Singleton
Inherited from
Singleton
type MirroredType = Singleton
Inherited from
Singleton

Value members

Concrete methods

override
def ++(function: Map[UUID, Long] => Option[Long], generators: List[Task]): Lookahead

Adds an entry to the structure

Adds an entry to the structure

An entry is comprised of a function that describes the prerequisites and resultant starting time of a set of tasks, and a list of Tasks that should start if this function returns Some(value).

The function has type Map[UUID,Long]=>Option[Long]. It should take a map that contains the IDs of completed/scheduled tasks and their respective finishing times, and it should return None if the prerequisites of this entry are not met, and Some(value) if the prerequisites are met, where value should be the starting time of the tasks contained in this entry. This allows us to express a complex relationship whereby the starting time of the tasks in this lookahead entry can be an intricate function of the finishing times of the prerequisites.

Definition Classes
override
def -(id: UUID): Lookahead

Removes a task with the corresponding ID from the structure

Removes a task with the corresponding ID from the structure

Once removed, the task with this ID will no longer be returned.

Definition Classes
override
def getTaskData(scheduled: Iterable[(UUID, Long)]): Seq[(Task, Long)]

Retrieves all tasks that can start given the list of scheduled/completed tasks

Retrieves all tasks that can start given the list of scheduled/completed tasks

Definition Classes

Inherited methods

def +(function: Map[UUID, Long] => Option[Long], generator: Task): Lookahead

Provides a nicer interface for adding elements to the lookeahead structure.

Provides a nicer interface for adding elements to the lookeahead structure.

Allows adding a single generator instead of a list of generators.

Value Params
function

The function describing the conditions of starting the correspoinding task.

generator

The task that will start when the conditions are met.

See also
Inherited from
Lookahead
def +>(sourceID: UUID, generator: Task): Lookahead

Provides a nicer interface for adding elements to the lookeahead structure.

Provides a nicer interface for adding elements to the lookeahead structure.

Allows adding a simple one-to-one relationship, where the generator task starts right after the sourceID task finishes.

Value Params
generator

The generator fo the task that will start when the prior task finishes.

sourceID

The id of the task that will finish.

See also
Inherited from
Lookahead
def +>>(source: Set[UUID], generator: Task): Lookahead
Inherited from
Lookahead
def and(that: Lookahead): Lookahead

Combines two Lookaheads

Combines two Lookaheads

Value Params
that

The other Lookahead to merge with this one.

Returns

The merged Lookahead

Inherited from
Lookahead
def fromProduct(p: Product): MirroredMonoType
Inherited from
Singleton
def productElementNames: Iterator[String]
Inherited from
Product
def productIterator: Iterator[Any]
Inherited from
Product