/*
* Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Distribution License v. 1.0, which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
package org.glassfish.pfl.tf.timer.spi ;
Creates timer events and sends them to all registered event
handlers. Multiple controllers may be created from the
same TimerFactory.
/** Creates timer events and sends them to all registered event
* handlers. Multiple controllers may be created from the
* same TimerFactory.
*/
public class TimerEventController extends TimerEventControllerBase {
public TimerEventController( TimerFactory factory, String name ) {
super( factory, name ) ;
}
Generate a TimerEvent representing the entry to a
particular timer. This event is sent to all registered
TimerEventHandlers. An event is only generated in
case timer.isActivated() is true.
/** Generate a TimerEvent representing the entry to a
* particular timer. This event is sent to all registered
* TimerEventHandlers. An event is only generated in
* case timer.isActivated() is true.
*/
public void enter( Timer timer ) {
handle( timer, TimerEvent.TimerEventType.ENTER ) ;
}
Generate a TimerEvent representing the exit from a
particular timer. This event is sent to all registered
TimerEventHandlers. An event is only generated in
case timer.isActivated() is true.
/** Generate a TimerEvent representing the exit from a
* particular timer. This event is sent to all registered
* TimerEventHandlers. An event is only generated in
* case timer.isActivated() is true.
*/
public void exit( Timer timer ) {
handle( timer, TimerEvent.TimerEventType.EXIT ) ;
}
private void handle( Timer timer, TimerEvent.TimerEventType type ) {
if (timer.isActivated()) {
TimerEvent te = new TimerEvent( timer, type ) ;
propagate( te ) ;
}
}
}