SSJ API Documentation
Stochastic Simulation in Java
Loading...
Searching...
No Matches
umontreal.ssj.simevents.eventlist.EventList Interface Reference

An interface for implementations of event lists. More...

Inheritance diagram for umontreal.ssj.simevents.eventlist.EventList:
umontreal.ssj.simevents.eventlist.BinaryTree umontreal.ssj.simevents.eventlist.DoublyLinked umontreal.ssj.simevents.eventlist.Henriksen umontreal.ssj.simevents.eventlist.RedblackTree umontreal.ssj.simevents.eventlist.SplayTree

Public Member Functions

boolean isEmpty ()
 Returns true if and only if the event list is empty (no event is scheduled).
void clear ()
 Empties the event list, i.e., cancels all events.
void add (Event ev)
 Adds a new event in the event list, according to the time of ev.
void addFirst (Event ev)
 Adds a new event at the beginning of the event list.
void addBefore (Event ev, Event other)
 Same as add, but adds the new event ev immediately before the event other in the list.
void addAfter (Event ev, Event other)
 Same as add, but adds the new event ev immediately after the event other in the list.
Event getFirst ()
 Returns the first event in the event list.
Event getFirstOfClass (String cl)
 Returns the first event of the class cl (a subclass of Event) in the event list.
public< E extends Event > E getFirstOfClass (Class< E > cl)
 Returns the first event of the class E (a subclass of Event) in the event list.
ListIterator< EventlistIterator ()
 Returns a list iterator over the elements of the class Event in this list.
boolean remove (Event ev)
 Removes the event ev from the event list (cancels this event).
Event removeFirst ()
 Removes the first event from the event list (to cancel or execute this event).

Detailed Description

An interface for implementations of event lists.

Different implementations are provided in SSJ: doubly-linked list, splay tree, Henricksen’s method, etc. The events in the event list are objects of the class

umontreal.ssj.simevents.Event. The method umontreal.ssj.simevents.Sim.init(EventList) permits one to select the actual implementation used in a simulation [103] .

To allow the user to print the event list, the java.lang.Object.toString method from the Object class should be reimplemented in all EventList implementations. It will return a string in the following format: "<tt>Contents of the event list </tt><em>event list class</em><tt>:</tt>" for the first line and each subsequent line has format "<em>scheduled event time</em><tt>, </tt><em>event priority</em>&nbsp;<tt>:</tt>&nbsp;<em>event string</em>". The event string is obtained by calling the toString method of the event objects. The string should not end with the end-of-line character.

The following example is the event list of the bank example, printed at 10h30. See examples.pdf for more information.

Contents of the event list SplayTree:
   10.51,        1 : BankEv$Arrival@cfb549
   10.54,        1 : BankEv$Departure@8a7efd
      11,        1 : BankEv$3@86d4c1
      14,        1 : BankEv$4@f9f9d8
      15,        1 : BankEv$5@820dda

 <div class="SSJ-bigskip"></div>

Definition at line 65 of file EventList.java.

Member Function Documentation

◆ add()

void umontreal.ssj.simevents.eventlist.EventList.add ( Event ev)

Adds a new event in the event list, according to the time of ev.

If the event list contains events scheduled to happen at the same time as ev, ev must be added after all these events.

Parameters
evevent to be added

Implemented in umontreal.ssj.simevents.eventlist.BinaryTree, umontreal.ssj.simevents.eventlist.DoublyLinked, umontreal.ssj.simevents.eventlist.Henriksen, umontreal.ssj.simevents.eventlist.RedblackTree, and umontreal.ssj.simevents.eventlist.SplayTree.

◆ addAfter()

void umontreal.ssj.simevents.eventlist.EventList.addAfter ( Event ev,
Event other )

Same as add, but adds the new event ev immediately after the event other in the list.

Parameters
evevent to be added
otherreference event after which ev will be added

Implemented in umontreal.ssj.simevents.eventlist.BinaryTree, umontreal.ssj.simevents.eventlist.DoublyLinked, umontreal.ssj.simevents.eventlist.Henriksen, umontreal.ssj.simevents.eventlist.RedblackTree, and umontreal.ssj.simevents.eventlist.SplayTree.

◆ addBefore()

void umontreal.ssj.simevents.eventlist.EventList.addBefore ( Event ev,
Event other )

Same as add, but adds the new event ev immediately before the event other in the list.

Parameters
evevent to be added
otherreference event before which ev will be added

Implemented in umontreal.ssj.simevents.eventlist.BinaryTree, umontreal.ssj.simevents.eventlist.DoublyLinked, umontreal.ssj.simevents.eventlist.Henriksen, umontreal.ssj.simevents.eventlist.RedblackTree, and umontreal.ssj.simevents.eventlist.SplayTree.

◆ addFirst()

void umontreal.ssj.simevents.eventlist.EventList.addFirst ( Event ev)

Adds a new event at the beginning of the event list.

The given event ev will occur at the current simulation time.

Parameters
evevent to be added

Implemented in umontreal.ssj.simevents.eventlist.BinaryTree, umontreal.ssj.simevents.eventlist.DoublyLinked, umontreal.ssj.simevents.eventlist.Henriksen, umontreal.ssj.simevents.eventlist.RedblackTree, and umontreal.ssj.simevents.eventlist.SplayTree.

◆ clear()

◆ getFirst()

Event umontreal.ssj.simevents.eventlist.EventList.getFirst ( )

Returns the first event in the event list.

If the event list is empty, returns null.

Returns
the first event in the event list, or null if the list is empty

Implemented in umontreal.ssj.simevents.eventlist.BinaryTree, umontreal.ssj.simevents.eventlist.DoublyLinked, umontreal.ssj.simevents.eventlist.Henriksen, umontreal.ssj.simevents.eventlist.RedblackTree, and umontreal.ssj.simevents.eventlist.SplayTree.

◆ getFirstOfClass() [1/2]

public< E extends Event > E umontreal.ssj.simevents.eventlist.EventList.getFirstOfClass ( Class< E > cl)

Returns the first event of the class E (a subclass of Event) in the event list.

If no such event is found, returns null.

Returns
the first event of class cl, or null if no such event exists in the list

Implemented in umontreal.ssj.simevents.eventlist.BinaryTree, umontreal.ssj.simevents.eventlist.DoublyLinked, umontreal.ssj.simevents.eventlist.Henriksen, umontreal.ssj.simevents.eventlist.RedblackTree, and umontreal.ssj.simevents.eventlist.SplayTree.

◆ getFirstOfClass() [2/2]

Event umontreal.ssj.simevents.eventlist.EventList.getFirstOfClass ( String cl)

Returns the first event of the class cl (a subclass of Event) in the event list.

If no such event is found, returns null.

Returns
the first event of class cl, or null if no such event exists in the list

Implemented in umontreal.ssj.simevents.eventlist.BinaryTree, umontreal.ssj.simevents.eventlist.DoublyLinked, umontreal.ssj.simevents.eventlist.Henriksen, umontreal.ssj.simevents.eventlist.RedblackTree, and umontreal.ssj.simevents.eventlist.SplayTree.

◆ isEmpty()

boolean umontreal.ssj.simevents.eventlist.EventList.isEmpty ( )

◆ listIterator()

ListIterator< Event > umontreal.ssj.simevents.eventlist.EventList.listIterator ( )

Returns a list iterator over the elements of the class Event in this list.

Returns
a list iterator over the elements of the class Event in this list

Implemented in umontreal.ssj.simevents.eventlist.BinaryTree, umontreal.ssj.simevents.eventlist.DoublyLinked, umontreal.ssj.simevents.eventlist.Henriksen, umontreal.ssj.simevents.eventlist.RedblackTree, and umontreal.ssj.simevents.eventlist.SplayTree.

◆ remove()

boolean umontreal.ssj.simevents.eventlist.EventList.remove ( Event ev)

Removes the event ev from the event list (cancels this event).

Returns true if and only if the event removal has succeeded.

Parameters
evevent to be removed
Returns
true if the event was successfully removed from the list

Implemented in umontreal.ssj.simevents.eventlist.BinaryTree, umontreal.ssj.simevents.eventlist.DoublyLinked, umontreal.ssj.simevents.eventlist.Henriksen, umontreal.ssj.simevents.eventlist.RedblackTree, and umontreal.ssj.simevents.eventlist.SplayTree.

◆ removeFirst()

Event umontreal.ssj.simevents.eventlist.EventList.removeFirst ( )

Removes the first event from the event list (to cancel or execute this event).

Returns the removed event. If the list is empty, then null is returned.

Returns
the first event removed from the list, or null if the list is empty

Implemented in umontreal.ssj.simevents.eventlist.BinaryTree, umontreal.ssj.simevents.eventlist.DoublyLinked, umontreal.ssj.simevents.eventlist.Henriksen, umontreal.ssj.simevents.eventlist.RedblackTree, and umontreal.ssj.simevents.eventlist.SplayTree.


The documentation for this interface was generated from the following file: