key0-96/
key0-96/doc/key/
key0-96/doc/key/credits/
key0-96/doc/key/developers/
key0-96/doc/key/developers/resources/
key0-96/setup/caves/
key0-96/setup/help/
key0-96/setup/ruins/
key0-96/src/
key0-96/src/commands/
key0-96/src/events/
key0-96/src/hack/
key0-96/src/sql/
key0-96/src/swing/
key0-96/src/talker/forest/
key0-96/src/talker/objects/
key0-96/src/terminals/
/*
**               j###t  ########## ####   ####
**              j###t   ########## ####   ####
**             j###T               "###L J###"
**          ######P'    ##########  #########
**          ######k,    ##########   T######T
**          ####~###L   ####
**          #### q###L  ##########   .#####
**          ####  \###L ##########   #####"
**
**  $Id$
**
**  Class History
**
**  Date        Name         Description
**  ---------|------------|-----------------------------------------------
**  19Aug98     subtle       start of recorded history
**
*/

package key;
import key.primitive.*;

import java.util.StringTokenizer;

/**
  *  Event
  *
  *
 */
public abstract class Event extends Atom
{
	DateTime scheduledFor;
	
	public Event()
	{
	}

	public void schedule( DateTime at )
	{
		scheduledFor = at;
	}

	public boolean isBefore( Event e )
	{
		return( scheduledFor.before( e.scheduledFor ) );
	}

	public final boolean runNow()
	{
		//Key.instance().debug( this, "comparing scheduledTime of " + ((scheduledFor.getTime()/1000)%10000) + " to current time of " + ((System.currentTimeMillis()/1000)%10000) );
		return( scheduledFor.getTime() <= System.currentTimeMillis() );
	}
	
	public abstract void run( Daemon scheduler );
}