Class ListOfStatProbes<E extends StatProbe>
- java.lang.Object
-
- umontreal.iro.lecuyer.stat.list.ListOfStatProbes<E>
-
- All Implemented Interfaces:
- java.lang.Cloneable, java.lang.Iterable<E>, java.util.Collection<E>, java.util.List<E>, java.util.RandomAccess
- Direct Known Subclasses:
- ListOfTallies
public class ListOfStatProbes<E extends StatProbe> extends java.lang.Object implements java.lang.Cloneable, java.util.List<E>, java.util.RandomAccessRepresents a list of statistical probes that can be managed simultaneously. Each element of this list is aStatProbeinstance which can be obtained and manipulated.When constructing a list of statistical probes, one specifies the concrete subclass of the
StatProbeobjects 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 thesetUnmodifiableto 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
Constructors Constructor and Description ListOfStatProbes()Constructs an empty list of statistical probes.ListOfStatProbes(java.lang.String name)Constructs an empty list of statistical probes with name name.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description booleanadd(E o)voidadd(int index, E o)booleanaddAll(java.util.Collection<? extends E> c)booleanaddAll(int index, java.util.Collection<? extends E> c)voidaddArrayOfObservationListener(ArrayOfObservationListener l)Adds the observation listener l to the list of observers of this list of statistical probes.voidaverage(double[] a)For each probe in this list, computes the average by callingaverage, and stores the results into the array a.voidclear()voidclearArrayOfObservationListeners()Removes all observation listeners from the list of observers of this list of statistical probes.ListOfStatProbes<E>clone()Clones this object.booleancontains(java.lang.Object o)booleancontainsAll(java.util.Collection<?> c)booleanequals(java.lang.Object o)Eget(int index)java.lang.StringgetName()Returns the global name of this list of statistical probes.inthashCode()intindexOf(java.lang.Object o)voidinit()Initializes this list of statistical probes by callinginiton each element.booleanisBroadcasting()Determines if this list of statistical probes is broadcasting observations to registered observers.booleanisCollecting()Determines if this list of statistical probes is collecting values.booleanisEmpty()booleanisModifiable()Determines if this list of statistical probes is modifiable, i.e., if probes can be added or removed.java.util.Iterator<E>iterator()intlastIndexOf(java.lang.Object o)java.util.ListIterator<E>listIterator()java.util.ListIterator<E>listIterator(int index)voidnotifyListeners(double[] x)Notifies the observation x to all registered observers if broadcasting is ON.Eremove(int index)booleanremove(java.lang.Object o)booleanremoveAll(java.util.Collection<?> c)voidremoveArrayOfObservationListener(ArrayOfObservationListener l)Removes the observation listener l from the list of observers of this list of statistical probes.java.lang.Stringreport()Formats a report for each probe in the list of statistical probes.booleanretainAll(java.util.Collection<?> c)Eset(int index, E element)voidsetBroadcasting(boolean b)Sets the status of the observation broadcasting mechanism to b.voidsetCollecting(boolean c)Sets the status of the statistical collecting mechanism to c.voidsetName(java.lang.String name)Sets the global name of this list to name.voidsetUnmodifiable()Forbids any future modification to this list of statistical probes.intsize()java.util.List<E>subList(int fromIndex, int toIndex)voidsum(double[] s)For each probe in the list, computes the sum by callingsum, and stores the results into the array s.java.lang.Object[]toArray()<T> T[]toArray(T[] a)
-
-
-
Constructor Detail
-
ListOfStatProbes
public ListOfStatProbes()
Constructs an empty list of statistical probes.
-
ListOfStatProbes
public ListOfStatProbes(java.lang.String name)
Constructs an empty list of statistical probes with name name.- Parameters:
name- the name of the new list.
-
-
Method Detail
-
getName
public java.lang.String getName()
Returns the global name of this list of statistical probes.- Returns:
- the global name of the list.
-
setName
public void setName(java.lang.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 thesetUnmodifiablemethod.
-
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 callinginiton each element.
-
sum
public void sum(double[] s)
For each probe in the list, computes the sum by callingsum, 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:
java.lang.NullPointerException- if s is null.java.lang.IllegalArgumentException- if s.length does not correspond tosize.
-
average
public void average(double[] a)
For each probe in this list, computes the average by callingaverage, 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:
java.lang.NullPointerException- if a is null.java.lang.IllegalArgumentException- if a.length does not correspond tosize.
-
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:
java.lang.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 java.lang.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:
clonein classjava.lang.Object
-
add
public boolean add(E o)
-
add
public void add(int index, E o)
-
addAll
public boolean addAll(java.util.Collection<? extends E> c)
-
addAll
public boolean addAll(int index, java.util.Collection<? extends E> c)
-
clear
public void clear()
-
contains
public boolean contains(java.lang.Object o)
-
containsAll
public boolean containsAll(java.util.Collection<?> c)
-
equals
public boolean equals(java.lang.Object o)
-
hashCode
public int hashCode()
-
indexOf
public int indexOf(java.lang.Object o)
-
isEmpty
public boolean isEmpty()
-
iterator
public java.util.Iterator<E> iterator()
-
lastIndexOf
public int lastIndexOf(java.lang.Object o)
-
listIterator
public java.util.ListIterator<E> listIterator()
-
listIterator
public java.util.ListIterator<E> listIterator(int index)
-
remove
public E remove(int index)
-
remove
public boolean remove(java.lang.Object o)
-
removeAll
public boolean removeAll(java.util.Collection<?> c)
-
retainAll
public boolean retainAll(java.util.Collection<?> c)
-
size
public int size()
-
subList
public java.util.List<E> subList(int fromIndex, int toIndex)
-
toArray
public java.lang.Object[] toArray()
-
-
DMelt 3.0 © DataMelt by jWork.ORG