📄 eventtimertask.java
字号:
/* * $Id: EventTimerTask.java 8077 2007-08-27 20:15:25Z aperepel $ * -------------------------------------------------------------------------------------- * Copyright (c) MuleSource, Inc. All rights reserved. http://www.mulesource.com * * The software in this package is published under the terms of the CPAL v1.0 * license, a copy of which has been included with this distribution in the * LICENSE.txt file. */package org.mule.util.timer;import java.util.ArrayList;import java.util.List;import java.util.TimerTask;/** * <code>EventTimerTask</code> is a task that causes TimeEvent to be fired to * listening objects when a specific number of milliseconds have passed. This * implementation is based on the java.util.TimerTask. */public class EventTimerTask extends TimerTask{ /** * A list of listeners on this task */ private List listeners = null; /** * The name of the task */ private String name = null; /** * Determines if the task has been started */ private boolean started = true; /** * Constructs a EventTimeTask and registers a listener with it * * @param listener the listener to register */ public EventTimerTask(TimeEventListener listener) { super(); addListener(listener); this.name = "EventTimerTask." + hashCode(); } /** * Constructs a EventTimeTask and registers a listener with it * * @param listener the listener to register * @param name the name for the task */ public EventTimerTask(TimeEventListener listener, String name) { super(); addListener(listener); this.name = name; } /** * The action to be performed by this timer task. The fireTime event method is * called. */ public void run() { TimeEvent event = new TimeEvent(this, getName(), scheduledExecutionTime()); fireTimerEvent(event); } /** * Gets the task name (this is also the timer thread name) * * @return the task name */ public String getName() { return name; } public void removeListener(TimeEventListener listener) { if (listeners != null && listeners.contains(listener)) { listeners.remove(listener); } } public void removeAllListeners() { listeners = new ArrayList(); } public void addListener(TimeEventListener listener) { if (listeners == null) { listeners = new ArrayList(); listeners.add(listener); } else if (!listeners.contains(listener)) { listeners.add(listener); } } protected void fireTimerEvent(TimeEvent event) { if (listeners != null && started) { int count = listeners.size(); for (int i = 0; i < count; i++) { ((TimeEventListener) listeners.get(i)).timeExpired(event); } } } public void stop() { started = false; } public void start() { started = true; } public boolean isStarted() { return started; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -