# Class AbstractTimer

java.lang.Object
com.macrofocus.timer.AbstractTimer

All Implemented Interfaces:
  `Timer, Runnable`

Direct Known Subclasses:
  `CoalescingTimer, ImmediateTimer`

public abstract class AbstractTimer extends Object implements Timer

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from interface Timer

  `Timer.TimerListener`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected final List<Timer.TimerListener>`
  `actionListeners`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AbstractTimer()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addActionListener(Timer.TimerListener listener)`
  `protected void`
  `fireTimerTriggered()`
  `void`
  `removeActionListener(Timer.TimerListener listener)`

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface Runnable

  `run`

  ### Methods inherited from interface Timer

  `isScheduled, restart, stop`

- ## Field Details

  - ### actionListeners

    protected final List<Timer.TimerListener> actionListeners

- ## Constructor Details

  - ### AbstractTimer

    public AbstractTimer()

- ## Method Details

  - ### addActionListener

    public void addActionListener(Timer.TimerListener listener)
    Specified by:
      `addActionListener` in interface `Timer`

  - ### removeActionListener

    public void removeActionListener(Timer.TimerListener listener)
    Specified by:
      `removeActionListener` in interface `Timer`

  - ### fireTimerTriggered

    protected void fireTimerTriggered()