## org.gnu.glib
Class Timer

    java.lang.Object
      org.gnu.glib.Timer

public final class Timer
extends java.lang.Object

Timer: an object that executes a `Fireable` target object's `fire` method at a specified interval.

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

          private final Label clockPane = (Label)glade.getWidget("clockLabel");
          private Timer clock = new Timer(1000, // one second
                                          new Fireable() {
              public boolean fire() {
                 String dateStr =
                     DateFormat.getDateInstance().format(new Date());
                 clockPane.setText(dateStr);
                 return true;  // continue firing
              }
          });
          clock.start();

Note: a Timer generates events on the application's GUI event queue. It therefore is not accurate for short time periods. 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`

Constructor Summary
`Timer(int interval, Fireable target)` Create a new Timer object.

Method Summary
`int` `getInterval()` Returns the interval associated with this Timer.
`boolean` `isRunning()` Returns whether this timer is running.
`void` `setInterval(int interval)` Set the interval associated with this Timer.
`void` `start()` Start this timer object; that is, begin executing its fire method at its specified interval.
`void` `stop()` Stop this timer 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

### Timer

    public Timer(int interval,
                 Fireable target)

  Create a new Timer object.

Parameters:
  `interval` - the time period between `fire` method executions, in thousandths of a second.
  `target` - the object whose fire() method gets called after the specified time period elapses.
Throws:
  `java.lang.IllegalArgumentException` - if less than one.

Method Detail

### getInterval

    public final int getInterval()

  Returns the interval associated with this Timer.

  Returns:
    the time period between `fire` method executions, in thousandths of a second.

### setInterval

    public final void setInterval(int interval)

  Set the interval associated with this Timer.

  Parameters:
    `interval` - the time period between `fire` method executions, in thousandths of a second.
  Throws:
    `java.lang.IllegalArgumentException` - if less than one.

### start

    public final void start()

  Start this timer object; that is, begin executing its fire method at its specified interval.

### isRunning

    public final boolean isRunning()

  Returns whether this timer is running.

  Returns:
    true if this timer is currently running.

### stop

    public final void stop()

  Stop this timer 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`.