Class TimerFactoryImpl

All Implemented Interfaces:
Controllable, Named, TimerFactory, TimerGroup

public class TimerFactoryImpl extends TimerGroupImpl implements TimerFactory
  • Field Details

  • Constructor Details

  • Method Details

    • mapId

      private void mapId(Controllable con)
    • checkArgs

      private void checkArgs(Set<String> inUse, String name, String description)
    • numberOfIds

      public int numberOfIds()
      Description copied from interface: TimerFactory
      Returns the maximum id used by this TimerFactory for creating Controllables. The value of con.id() for any Controllable created by this TimerFactory always ranges from 0 inclusive to numberOfIds() exclusive.
      Specified by:
      numberOfIds in interface TimerFactory
    • getControllable

      public Controllable getControllable(int id)
      Description copied from interface: TimerFactory
      Returns the Controllable corresponding to id, for id in the range 0 (inclusive) to numberOfIds() (exclusive).
      Specified by:
      getControllable in interface TimerFactory
    • makeTracingEventHandler

      public TimerEventHandler makeTracingEventHandler(String name)
      Specified by:
      makeTracingEventHandler in interface TimerFactory
    • makeLogEventHandler

      public LogEventHandler makeLogEventHandler(String name)
      Description copied from interface: TimerFactory
      Create a new LogEventHandler. All LogEventHandler names must be unique within the same TimerFactory.
      Specified by:
      makeLogEventHandler in interface TimerFactory
    • makeStatsEventHandler

      public StatsEventHandler makeStatsEventHandler(String name)
      Description copied from interface: TimerFactory
      Create a new StatsEventHandler. A StatsEventHandler records running statistics for all enter/exit pairs until it is cleared, at which point it starts over. It will keep data separated for each thread, combining information correctly from multiple threads. All StatsEventHandler names must be unique within the same TimerFactory. This StatsEventHandler must be used from a single thread.
      Specified by:
      makeStatsEventHandler in interface TimerFactory
    • makeMultiThreadedStatsEventHandler

      public StatsEventHandler makeMultiThreadedStatsEventHandler(String name)
      Description copied from interface: TimerFactory
      Create a new StatsEventHandler. A StatsEventHandler records running statistics for all enter/exit pairs until it is cleared, at which point it starts over. It will keep data separated for each thread, combining information correctly from multiple threads. All StatsEventHandler names must be unique within the same TimerFactory. This StatsEventHandler is multi-thread safe.
      Specified by:
      makeMultiThreadedStatsEventHandler in interface TimerFactory
    • removeTimerEventHandler

      public void removeTimerEventHandler(TimerEventHandler handler)
      Description copied from interface: TimerFactory
      Remove the handler from this TimerFactory. The handler should not be used after this call.
      Specified by:
      removeTimerEventHandler in interface TimerFactory
    • makeTimer

      public Timer makeTimer(String name, String description)
      Description copied from interface: TimerFactory
      Create a new Timer. Note that Timers cannot be destroyed, other than by garbage collecting the TimerFactory that created them.
      Specified by:
      makeTimer in interface TimerFactory
    • timers

      public Map<String,TimerImpl> timers()
      Description copied from interface: TimerFactory
      Returns a read-only map from Timer names to Timers.
      Specified by:
      timers in interface TimerFactory
    • makeTimerGroup

      public TimerGroup makeTimerGroup(String name, String description)
      Description copied from interface: TimerFactory
      Create a new TimerGroup. Note that TimerGroups cannot be destroyed, other than by garbage collecting the TimerFactory that created them.
      Specified by:
      makeTimerGroup in interface TimerFactory
    • timerGroups

      public Map<String,TimerGroupImpl> timerGroups()
      Description copied from interface: TimerFactory
      Returns a read-only map from TimerGroup names to TimerGroups.
      Specified by:
      timerGroups in interface TimerFactory
    • saveTimerEventController

      public void saveTimerEventController(TimerEventControllerBase tec)
    • makeController

      public TimerEventController makeController(String name)
      Description copied from interface: TimerFactory
      Create a TimerController, which can create TimerEvents and send them to registered TimerEventHandlers.
      Specified by:
      makeController in interface TimerFactory
    • removeController

      public void removeController(TimerEventControllerBase controller)
      Description copied from interface: TimerFactory
      Remove the controller from this factory. The controller should not be used after this call.
      Specified by:
      removeController in interface TimerFactory
    • enabledSet

      public Set<? extends Controllable> enabledSet()
      Description copied from interface: TimerFactory
      Returns a read-only view of the set of enabled Controllables. These have been explicitly enabled via a call to enable().
      Specified by:
      enabledSet in interface TimerFactory
    • activeSet

      public Set<Timer> activeSet()
      Description copied from interface: TimerFactory
      Returns a read-only view of the set of Controllables that are currently active. An enabled Timer is active. All Controllables contained in an active or enabled TimerGroup are active.
      Specified by:
      activeSet in interface TimerFactory
    • updateActivation

      void updateActivation()
    • timerAlreadyExists

      public boolean timerAlreadyExists(String name)
      Description copied from interface: TimerFactory
      Return true iff a timer with the given name already exists.
      Specified by:
      timerAlreadyExists in interface TimerFactory