Class ControllableBase

All Implemented Interfaces:
Controllable, Named
Direct Known Subclasses:
TimerGroupImpl, TimerImpl

public abstract class ControllableBase extends NamedBaseImpl implements Controllable
  • Field Details

    • emptyContent

      private static final Set<ControllableBase> emptyContent
    • id

      private int id
    • description

      private String description
    • isEnabled

      private boolean isEnabled
  • Constructor Details

  • Method Details

    • id

      public int id()
      Description copied from interface: Controllable
      A small id for this controllable. Each controllable created from the same TimerFactory will have a unique ID. All ids will be small integers starting at 0 (so indexing tables by timer ID is supported).
      Specified by:
      id in interface Controllable
    • description

      public String description()
      Description copied from interface: Controllable
      A longer description giving some details of the meaning of this Controllable.
      Specified by:
      description in interface Controllable
    • description

      void description(String description)
    • isEnabled

      public final boolean isEnabled()
      Description copied from interface: Controllable
      Return true if enable() was called, otherwise false if enable() was never called, or disable() was last called.
      Specified by:
      isEnabled in interface Controllable
    • contents

      public Set<ControllableBase> contents()
      Description copied from interface: Controllable
      Return an unmodifiable set of the contents of this Controllable. May always be empty for some subclasses of Controllable.
      Specified by:
      contents in interface Controllable
    • enable

      public void enable()
      Description copied from interface: Controllable
      Enable this controllable. All Timers that are either enabled, or reachable via contents() from an enabled Controllable are activated, and will cause TimerEvents to be generated when passed to the TimerEventController enter and exit methods.
      Specified by:
      enable in interface Controllable
    • disable

      public void disable()
      Description copied from interface: Controllable
      Disable this controllable.
      Specified by:
      disable in interface Controllable
    • transitiveClosure

      void transitiveClosure(Set<ControllableBase> result)