SSJ
V. 2.6.

umontreal.iro.lecuyer.stat.list
Class ListOfStatProbes<E extends StatProbe>

java.lang.Object
  extended by umontreal.iro.lecuyer.stat.list.ListOfStatProbes<E>
All Implemented Interfaces:
Cloneable, Iterable<E>, Collection<E>, List<E>, RandomAccess
Direct Known Subclasses:
ListOfTallies

public class ListOfStatProbes<E extends StatProbe>
extends Object
implements Cloneable, List<E>, RandomAccess

Represents a list of statistical probes that can be managed simultaneously. Each element of this list is a StatProbe instance which can be obtained and manipulated.

When constructing a list of statistical probes, one specifies the concrete subclass of the StatProbe objects in it. One then creates an empty list of probes, and fills it with statistical probes. If the list is not intended to be modified, one can then use the setUnmodifiable to prevent any change in the contents of the list.

Each list of statistical probes can have a global name describing the contents of its elements, and local names associated with each individual probe. For example, a list of statistical probes for the waiting times can have the global name Waiting times while the individual probes have local names type 1, type 2, etc. These names are used for formatting reports.

Facilities are provided to fill arrays with sums, averages, etc. obtained from the individual statistical probes. Methods are also provided to manipulate the contents of the list. However, one should always call init immediately after adding or removing statistical probes in the list.


Constructor Summary
ListOfStatProbes()
          Constructs an empty list of statistical probes.
ListOfStatProbes(String name)
          Constructs an empty list of statistical probes with name name.
 
Method Summary
 boolean add(E o)
           
 void add(int index, E o)
           
 boolean addAll(Collection<? extends E> c)
           
 boolean addAll(int index, Collection<? extends E> c)
           
 void addArrayOfObservationListener(ArrayOfObservationListener l)
          Adds the observation listener l to the list of observers of this list of statistical probes.
 void average(double[] a)
          For each probe in this list, computes the average by calling average, and stores the results into the array a.
 void clear()
           
 void clearArrayOfObservationListeners()
          Removes all observation listeners from the list of observers of this list of statistical probes.
 ListOfStatProbes<E> clone()
          Clones this object.
 boolean contains(Object o)
           
 boolean containsAll(Collection<?> c)
           
 boolean equals(Object o)
           
 E get(int index)
           
 String getName()
          Returns the global name of this list of statistical probes.
 int hashCode()
           
 int indexOf(Object o)
           
 void init()
          Initializes this list of statistical probes by calling init on each element.
 boolean isBroadcasting()
          Determines if this list of statistical probes is broadcasting observations to registered observers.
 boolean isCollecting()
          Determines if this list of statistical probes is collecting values.
 boolean isEmpty()
           
 boolean isModifiable()
          Determines if this list of statistical probes is modifiable, i.e., if probes can be added or removed.
 Iterator<E> iterator()
           
 int lastIndexOf(Object o)
           
 ListIterator<E> listIterator()
           
 ListIterator<E> listIterator(int index)
           
 void notifyListeners(double[] x)
          Notifies the observation x to all registered observers if broadcasting is ON.
 E remove(int index)
           
 boolean remove(Object o)
           
 boolean removeAll(Collection<?> c)
           
 void removeArrayOfObservationListener(ArrayOfObservationListener l)
          Removes the observation listener l from the list of observers of this list of statistical probes.
 String report()
          Formats a report for each probe in the list of statistical probes.
 boolean retainAll(Collection<?> c)
           
 E set(int index, E element)
           
 void setBroadcasting(boolean b)
          Sets the status of the observation broadcasting mechanism to b.
 void setCollecting(boolean c)
          Sets the status of the statistical collecting mechanism to c.
 void setName(String name)
          Sets the global name of this list to name.
 void setUnmodifiable()
          Forbids any future modification to this list of statistical probes.
 int size()
           
 List<E> subList(int fromIndex, int toIndex)
           
 void sum(double[] s)
          For each probe in the list, computes the sum by calling sum, and stores the results into the array s.
 Object[] toArray()
           
<T> T[]
toArray(T[] a)
           
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ListOfStatProbes

public ListOfStatProbes()
Constructs an empty list of statistical probes.


ListOfStatProbes

public ListOfStatProbes(String name)
Constructs an empty list of statistical probes with name name.

Parameters:
name - the name of the new list.
Method Detail

getName

public String getName()
Returns the global name of this list of statistical probes.

Returns:
the global name of the list.

setName

public void setName(String name)
Sets the global name of this list to name.

Parameters:
name - the new global name of the list.

isModifiable

public boolean isModifiable()
Determines if this list of statistical probes is modifiable, i.e., if probes can be added or removed. Any list of statistical probes is modifiable by default, until one calls the setUnmodifiable method.


setUnmodifiable

public void setUnmodifiable()
Forbids any future modification to this list of statistical probes. After this method is called, any attempt to modify the list results in an exception. Setting a list unmodifiable can be useful if some data structures are defined depending on the probes in the list.


init

public void init()
Initializes this list of statistical probes by calling init on each element.


sum

public void sum(double[] s)
For each probe in the list, computes the sum by calling sum, and stores the results into the array s. This method throws an exception if the size of s mismatches with the size of the list.

Parameters:
s - the array to be filled with sums.
Throws:
NullPointerException - if s is null.
IllegalArgumentException - if s.length does not correspond to size.

average

public void average(double[] a)
For each probe in this list, computes the average by calling average, and stores the results into the array a. This method throws an exception if the size of s mismatches with the size of the list.

Parameters:
a - the array to be filled with averages.
Throws:
NullPointerException - if a is null.
IllegalArgumentException - if a.length does not correspond to size.

isCollecting

public boolean isCollecting()
Determines if this list of statistical probes is collecting values. Each probe of the list could or could not be collecting values. The default is true.

Returns:
the status of statistical collecting.

setCollecting

public void setCollecting(boolean c)
Sets the status of the statistical collecting mechanism to c. A true value turns statistical collecting ON, a false value turns it OFF.

Parameters:
c - the status of statistical collecting.

isBroadcasting

public boolean isBroadcasting()
Determines if this list of statistical probes is broadcasting observations to registered observers. The default is false.

Returns:
the status of broadcasting.

setBroadcasting

public void setBroadcasting(boolean b)
Sets the status of the observation broadcasting mechanism to b. A true value turns broadcasting ON, a false value turns it OFF.

Parameters:
b - the status of broadcasting.

addArrayOfObservationListener

public void addArrayOfObservationListener(ArrayOfObservationListener l)
Adds the observation listener l to the list of observers of this list of statistical probes.

Parameters:
l - the new observation listener.
Throws:
NullPointerException - if l is null.

removeArrayOfObservationListener

public void removeArrayOfObservationListener(ArrayOfObservationListener l)
Removes the observation listener l from the list of observers of this list of statistical probes.

Parameters:
l - the observation listener to be deleted.

clearArrayOfObservationListeners

public void clearArrayOfObservationListeners()
Removes all observation listeners from the list of observers of this list of statistical probes.


notifyListeners

public void notifyListeners(double[] x)
Notifies the observation x to all registered observers if broadcasting is ON. Otherwise, does nothing.


report

public String report()
Formats a report for each probe in the list of statistical probes. The returned string is constructed by using StatProbe.report (getName(), this).

Returns:
the report formatted as a string.

clone

public ListOfStatProbes<E> clone()
Clones this object. This makes a shallow copy of this list, i.e., this does not clone all the probes in the list. The created clone is modifiable, even if the original list is unmodifiable.

Overrides:
clone in class Object

add

public boolean add(E o)
Specified by:
add in interface Collection<E extends StatProbe>
Specified by:
add in interface List<E extends StatProbe>

add

public void add(int index,
                E o)
Specified by:
add in interface List<E extends StatProbe>

addAll

public boolean addAll(Collection<? extends E> c)
Specified by:
addAll in interface Collection<E extends StatProbe>
Specified by:
addAll in interface List<E extends StatProbe>

addAll

public boolean addAll(int index,
                      Collection<? extends E> c)
Specified by:
addAll in interface List<E extends StatProbe>

clear

public void clear()
Specified by:
clear in interface Collection<E extends StatProbe>
Specified by:
clear in interface List<E extends StatProbe>

contains

public boolean contains(Object o)
Specified by:
contains in interface Collection<E extends StatProbe>
Specified by:
contains in interface List<E extends StatProbe>

containsAll

public boolean containsAll(Collection<?> c)
Specified by:
containsAll in interface Collection<E extends StatProbe>
Specified by:
containsAll in interface List<E extends StatProbe>

equals

public boolean equals(Object o)
Specified by:
equals in interface Collection<E extends StatProbe>
Specified by:
equals in interface List<E extends StatProbe>
Overrides:
equals in class Object

get

public E get(int index)
Specified by:
get in interface List<E extends StatProbe>

hashCode

public int hashCode()
Specified by:
hashCode in interface Collection<E extends StatProbe>
Specified by:
hashCode in interface List<E extends StatProbe>
Overrides:
hashCode in class Object

indexOf

public int indexOf(Object o)
Specified by:
indexOf in interface List<E extends StatProbe>

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface Collection<E extends StatProbe>
Specified by:
isEmpty in interface List<E extends StatProbe>

iterator

public Iterator<E> iterator()
Specified by:
iterator in interface Iterable<E extends StatProbe>
Specified by:
iterator in interface Collection<E extends StatProbe>
Specified by:
iterator in interface List<E extends StatProbe>

lastIndexOf

public int lastIndexOf(Object o)
Specified by:
lastIndexOf in interface List<E extends StatProbe>

listIterator

public ListIterator<E> listIterator()
Specified by:
listIterator in interface List<E extends StatProbe>

listIterator

public ListIterator<E> listIterator(int index)
Specified by:
listIterator in interface List<E extends StatProbe>

remove

public E remove(int index)
Specified by:
remove in interface List<E extends StatProbe>

remove

public boolean remove(Object o)
Specified by:
remove in interface Collection<E extends StatProbe>
Specified by:
remove in interface List<E extends StatProbe>

removeAll

public boolean removeAll(Collection<?> c)
Specified by:
removeAll in interface Collection<E extends StatProbe>
Specified by:
removeAll in interface List<E extends StatProbe>

retainAll

public boolean retainAll(Collection<?> c)
Specified by:
retainAll in interface Collection<E extends StatProbe>
Specified by:
retainAll in interface List<E extends StatProbe>

set

public E set(int index,
             E element)
Specified by:
set in interface List<E extends StatProbe>

size

public int size()
Specified by:
size in interface Collection<E extends StatProbe>
Specified by:
size in interface List<E extends StatProbe>

subList

public List<E> subList(int fromIndex,
                       int toIndex)
Specified by:
subList in interface List<E extends StatProbe>

toArray

public Object[] toArray()
Specified by:
toArray in interface Collection<E extends StatProbe>
Specified by:
toArray in interface List<E extends StatProbe>

toArray

public <T> T[] toArray(T[] a)
Specified by:
toArray in interface Collection<E extends StatProbe>
Specified by:
toArray in interface List<E extends StatProbe>

SSJ
V. 2.6.

To submit a bug or ask questions, send an e-mail to Pierre L'Ecuyer.