ListOfStatProbes
umontreal.iro.lecuyer.stat.list

Class ListOfStatProbes<E extends StatProbe>

  • All Implemented Interfaces:
    Cloneable, Iterable<E>, Collection<E>, List<E>, RandomAccess
    Direct Known Subclasses:
    ListOfTallies


    public class ListOfStatProbes<E extends StatProbe>extends Objectimplements 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 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 void add(int index,       E o)
        Specified by:
        add in interface List<E extends StatProbe>
      • set

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

SCaVis 1.8 © jWork.org