Package jmri.managers

Class AbstractPowerManager<M extends SystemConnectionMemo>

java.lang.Object
jmri.beans.PropertyChangeSupport
jmri.managers.AbstractPowerManager<M>
Type Parameters:
M - the type of SystemConnectionMemo supported by this PowerManager
All Implemented Interfaces:
PropertyChangeFirer, PropertyChangeProvider, PowerManager
Direct Known Subclasses:
CbusPowerManager, DCCppPowerManager, DefaultPowerManager, EasyDccPowerManager, EcosPowerManager, JMRIClientPowerManager, LnPowerManager, MarklinPowerManager, MqttPowerManager, MrcPowerManager, Mx1PowerManager, NcePowerManager, OlcbPowerManager, SprogPowerManager, SRCPPowerManager, TamsPowerManager, XNetPowerManager, XpaPowerManager

public abstract class AbstractPowerManager<M extends SystemConnectionMemo> extends PropertyChangeSupport implements PowerManager
Base PowerManager implementation for controlling layout power.

These are registered when they are added to the InstanceManager

  • Field Details

    • memo

      protected final M extends SystemConnectionMemo memo
    • power

      protected int power
      Note that all changes must fire a property change with the old and new values
  • Constructor Details

  • Method Details

    • getPower

      public int getPower()
      Get the current power state.
      Specified by:
      getPower in interface PowerManager
      Returns:
      int value of state.
    • setPower

      public void setPower(int state) throws JmriException
      Set the Power.
      Specified by:
      setPower in interface PowerManager
      Parameters:
      state - the new power status.
      Throws:
      JmriException - if unable to send request.
    • getUserName

      public final String getUserName()
      Get the PowerManager UserName.
      Specified by:
      getUserName in interface PowerManager
      Returns:
      a nonNull userName.
    • timeSinceLastPowerOn

      public long timeSinceLastPowerOn()
      Returns the amount of time since the layout was last powered up, in milliseconds. If the layout has not been powered up as far as JMRI knows it returns a very long time indeed.
      Returns:
      long int
    • firePowerPropertyChange

      protected final void firePowerPropertyChange(int old, int current)
      Fires a PropertyChangeEvent for the power state using property name "power".
      Parameters:
      old - the old power state
      current - the new power state