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

📄 timereventperiodic.java

📁 java 文件下载器。可自定义
💻 JAVA
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space 
// Source File Name:   TimerEventPeriodic.java

package org.gudy.azureus2.core3.util;


// Referenced classes of package org.gudy.azureus2.core3.util:
//			DebugLight, SystemTime, Timer, TimerEvent, 
//			TimerEventPerformer

public class TimerEventPeriodic
	implements TimerEventPerformer
{

	private Timer timer;
	private long frequency;
	private boolean absolute;
	private TimerEventPerformer performer;
	private String name;
	private TimerEvent current_event;
	private boolean cancelled;

	protected TimerEventPeriodic(Timer _timer, long _frequency, boolean _absolute, TimerEventPerformer _performer)
	{
		timer = _timer;
		frequency = _frequency;
		absolute = _absolute;
		performer = _performer;
		long now = SystemTime.getCurrentTime();
		current_event = timer.addEvent(name, now, now + frequency, absolute, this);
	}

	public void setName(String _name)
	{
		name = _name;
		synchronized (this)
		{
			if (current_event != null)
				current_event.setName(name);
		}
	}

	public String getName()
	{
		return name;
	}

	protected TimerEventPerformer getPerformer()
	{
		return performer;
	}

	public long getFrequency()
	{
		return frequency;
	}

	public boolean isCancelled()
	{
		return cancelled;
	}

	public void perform(TimerEvent event)
	{
		if (!cancelled)
		{
			try
			{
				performer.perform(event);
			}
			catch (Throwable e)
			{
				DebugLight.printStackTrace(e);
			}
			synchronized (this)
			{
				if (!cancelled)
				{
					long now = SystemTime.getCurrentTime();
					current_event = timer.addEvent(name, now, now + frequency, absolute, this);
				}
			}
		}
	}

	public synchronized void cancel()
	{
		if (current_event != null)
		{
			current_event.cancel();
			cancelled = true;
		}
	}

	protected String getString()
	{
		TimerEvent ce = current_event;
		String ev_data;
		if (ce == null)
			ev_data = "?";
		else
			ev_data = (new StringBuilder()).append("when=").append(ce.getWhen()).append(",run=").append(ce.hasRun()).append(", can=").append(ce.isCancelled()).toString();
		return (new StringBuilder()).append(ev_data).append(",freq=").append(getFrequency()).append(",target=").append(getPerformer()).append(name != null ? (new StringBuilder()).append(",name=").append(name).toString() : "").toString();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -