package org.bukkit.craftbukkit.scheduler;
import org.bukkit.plugin.Plugin;
class CraftAsyncDebugger
{
private CraftAsyncDebugger next = null;
private final int expiry;
private final Plugin plugin;
private final Class<? extends Runnable> clazz;
CraftAsyncDebugger(final int expiry, final Plugin plugin, final Class<? extends Runnable> clazz)
{
this.expiry = expiry;
this.plugin = plugin;
this.clazz = clazz;
}
final CraftAsyncDebugger getNextHead(final int time)
{
CraftAsyncDebugger next, current = this;
while(time > current.expiry && (next = current.next) != null)
{
current = next;
}
return current;
}
final CraftAsyncDebugger setNext(final CraftAsyncDebugger next)
{
return this.next = next;
}
StringBuilder debugTo(final StringBuilder string)
{
for(CraftAsyncDebugger next = this; next != null; next = next.next)
{
string.append(next.plugin.getDescription().getName()).append(':').append(next.clazz.getName()).append('@').append(next.expiry).append(',');
}
return string;
}
}