⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eventtimertask.java

📁 提供ESB 应用mule源代码 提供ESB 应用mule源代码
💻 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 + -