org.glassfish.pfl.tf.timer.impl
Class TimerFactoryImpl

java.lang.Object
  extended by org.glassfish.pfl.tf.timer.spi.NamedBase
      extended by org.glassfish.pfl.tf.timer.impl.NamedBaseImpl
          extended by org.glassfish.pfl.tf.timer.impl.ControllableBase
              extended by org.glassfish.pfl.tf.timer.impl.TimerGroupImpl
                  extended by org.glassfish.pfl.tf.timer.impl.TimerFactoryImpl
All Implemented Interfaces:
Controllable, Named, TimerFactory, TimerGroup

public class TimerFactoryImpl
extends TimerGroupImpl
implements TimerFactory


Nested Class Summary
static class TimerFactoryImpl.TracingEventHandler
           
 
Constructor Summary
TimerFactoryImpl(ObjectRegistrationManager orm, String name, String description)
           
 
Method Summary
 Set<Timer> activeSet()
          Returns a read-only view of the set of Controllables that are currently active.
 Set<? extends Controllable> enabledSet()
          Returns a read-only view of the set of enabled Controllables.
 Controllable getControllable(int id)
          Returns the Controllable corresponding to id, for id in the range 0 (inclusive) to numberOfIds() (exclusive).
 TimerEventController makeController(String name)
          Create a TimerController, which can create TimerEvents and send them to registered TimerEventHandlers.
 LogEventHandler makeLogEventHandler(String name)
          Create a new LogEventHandler.
 StatsEventHandler makeMultiThreadedStatsEventHandler(String name)
          Create a new StatsEventHandler.
 StatsEventHandler makeStatsEventHandler(String name)
          Create a new StatsEventHandler.
 Timer makeTimer(String name, String description)
          Create a new Timer.
 TimerGroup makeTimerGroup(String name, String description)
          Create a new TimerGroup.
 TimerEventHandler makeTracingEventHandler(String name)
           
 int numberOfIds()
          Returns the maximum id used by this TimerFactory for creating Controllables.
 void removeController(TimerEventControllerBase controller)
          Remove the controller from this factory.
 void removeTimerEventHandler(TimerEventHandler handler)
          Remove the handler from this TimerFactory.
 void saveTimerEventController(TimerEventControllerBase tec)
           
 boolean timerAlreadyExists(String name)
          Return true iff a timer with the given name already exists.
 Map<String,TimerGroupImpl> timerGroups()
          Returns a read-only map from TimerGroup names to TimerGroups.
 Map<String,TimerImpl> timers()
          Returns a read-only map from Timer names to Timers.
 
Methods inherited from class org.glassfish.pfl.tf.timer.impl.TimerGroupImpl
add, contents, remove
 
Methods inherited from class org.glassfish.pfl.tf.timer.impl.ControllableBase
description, disable, enable, id, isEnabled
 
Methods inherited from class org.glassfish.pfl.tf.timer.impl.NamedBaseImpl
factory
 
Methods inherited from class org.glassfish.pfl.tf.timer.spi.NamedBase
equals, hashCode, name, setFactory, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.glassfish.pfl.tf.timer.spi.TimerGroup
add, remove
 
Methods inherited from interface org.glassfish.pfl.tf.timer.spi.Controllable
contents, description, disable, enable, id, isEnabled
 
Methods inherited from interface org.glassfish.pfl.tf.timer.spi.Named
factory, name
 

Constructor Detail

TimerFactoryImpl

public TimerFactoryImpl(ObjectRegistrationManager orm,
                        String name,
                        String description)
Method Detail

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

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


Copyright © 2013 Oracle. All Rights Reserved.