org.gnu.glib
Class Idle

java.lang.Object
  extended by org.gnu.glib.Idle

public final class Idle
extends java.lang.Object

Idle: an object that executes a Fireable target object's fire method at the next available time. Similar to Swing's invokeLater functionality.

For example, here's how an application clock might be implemented, where the application passes in an Label object as its pane:

 private Idle later = new Idle(100,
         new Fireable() {
             public boolean fire() {
                 String dateStr = DateFormat.getDateInstance()
                         .format(new Date());
                 System.out.println("Invoked later!" + dateStr);
                 return true; // continue firing
             }
         });
 later.start();
 

Note: an Idle generates events on the application's GUI event queue. It also should only be used to directly fire short/fast methods. Longer methods need to be executed in a separate thread.

See Also:
Fireable, Timer

Constructor Summary
Idle(Fireable target)
          Create a new Idle object.
Idle(int priority, Fireable target)
          Create a new Idle object.
 
Method Summary
 int getPriority()
          Returns the execution priority for this Idle.
 boolean isRunning()
          Returns whether this idle is running.
 void setPriority(int priority)
          Set the execution priority for this Idle.
 void start()
          Start this Idle object; that is, begin executing its fire method at the available execution slot in the mainloop.
 void stop()
          Stop this idle object; that is, stop executing its fire method at its specified interval.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Idle

public Idle(int priority,
            Fireable target)
Create a new Idle object.

Parameters:
priority - The execution priority of the object, from 0 (highest priority) to Integer.MAX_VALUE (lowest priority).
target - the object whose fire() method gets called after the specified time period elapses.
Throws:
java.lang.IllegalArgumentException - if less than zero.

Idle

public Idle(Fireable target)
Create a new Idle object.

Parameters:
target - the object whose fire() method gets called after the specified time period elapses.
Throws:
java.lang.IllegalArgumentException - if less than zero.
Method Detail

getPriority

public final int getPriority()
Returns the execution priority for this Idle.

Returns:
the priority of this Idle, from 0 (highest priority) to Integer.MAX_VALUE (lowest priority)

setPriority

public final void setPriority(int priority)
Set the execution priority for this Idle.

Parameters:
priority - The execution priority of the object, from 0 (highest priority) to Integer.MAX_VALUE (lowest priority).
Throws:
java.lang.IllegalArgumentException - if less than zero.

start

public final void start()
Start this Idle object; that is, begin executing its fire method at the available execution slot in the mainloop.


isRunning

public final boolean isRunning()
Returns whether this idle is running.

Returns:
true if this idle is currently running.

stop

public final void stop()
Stop this idle object; that is, stop executing its fire method at its specified interval. This method does not need to be called if the fire method returned false.