jmri.jmrix.loconet
Class LnSensorManager

Show UML class diagram
java.lang.Object
  extended by jmri.managers.AbstractManager
      extended by jmri.managers.AbstractSensorManager
          extended by jmri.jmrix.loconet.LnSensorManager
All Implemented Interfaces:
PropertyChangeListener, EventListener, LocoNetListener, Manager, SensorManager
Direct Known Subclasses:
LnSensorManager

public class LnSensorManager
extends AbstractSensorManager
implements LocoNetListener

Manage the LocoNet-specific Sensor implementation. System names are "LSnnn", where nnn is the sensor number without padding.


Field Summary
(package private)  int iName
           
(package private) static org.slf4j.Logger log
           
protected  String prefix
           
protected  LnTrafficController tc
           
 
Fields inherited from class jmri.managers.AbstractSensorManager
sensorDebounceGoingActive, sensorDebounceGoingInActive
 
Fields inherited from class jmri.managers.AbstractManager
_tsys, _tuser
 
Fields inherited from interface jmri.Manager
AUDIO, BLOCKBOSS, BLOCKS, CONDITIONALS, ENTRYEXIT, IDTAGS, LAYOUTBLOCKS, LIGHTS, LOGIXS, MEMORIES, OBLOCKS, PANELFILES, REPORTERS, ROUTES, SECTIONS, SENSORGROUPS, SENSORS, SIGNALGROUPS, SIGNALHEADS, SIGNALMASTLOGICS, SIGNALMASTS, TIMEBASE, TRANSITS, TURNOUTS, WARRANTS
 
Constructor Summary
LnSensorManager(LnTrafficController tc, String prefix)
           
 
Method Summary
 boolean allowMultipleAdditions(String systemName)
          A method that determines if it is possible to add a range of sensors in numerical order eg 10 to 30, primarily used to enable/disable the add range box in the add sensor panel
 Sensor createNewSensor(String systemName, String userName)
          Internal method to invoke the factory, after all the logic for returning an existing method has been invoked.
 String createSystemName(String curAddress, String prefix)
           
 void dispose()
          Free resources when no longer used.
 String getNextValidAddress(String curAddress, String prefix)
          Determine if the address supplied is valid and free, if not then it shall return the next free valid address up to a maximum of 10 address away from the initial address.
 String getSystemPrefix()
          Provides access to the system prefix string.
 void message(LocoNetMessage l)
          Member function that will be invoked by a LocoNetInterface implementation to forward a LocoNet message from the layout.
 void setUpdateBusy()
          Method to set Route busy when commands are being issued to Route turnouts
 void setUpdateNotBusy()
          Method to set Route not busy when all commands have been issued to Route turnouts
 void updateAll()
          Requests status updates from all layout sensors.
 
Methods inherited from class jmri.managers.AbstractSensorManager
getBySystemName, getByUserName, getDefaultSensorDebounceGoingActive, getDefaultSensorDebounceGoingInActive, getInstanceBySystemName, getSensor, getXMLOrder, newSensor, normalizeSystemName, provideSensor, setDefaultSensorDebounceGoingActive, setDefaultSensorDebounceGoingInActive, typeLetter
 
Methods inherited from class jmri.managers.AbstractManager
addPropertyChangeListener, deregister, firePropertyChange, getBeanBySystemName, getBeanByUserName, getInstanceByUserName, getNamedBean, getNamedBeanList, getSystemNameArray, getSystemNameList, makeSystemName, propertyChange, register, registerSelf, removePropertyChangeListener, systemLetter
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface jmri.SensorManager
getSystemNameList
 
Methods inherited from interface jmri.Manager
addPropertyChangeListener, deregister, getBeanBySystemName, getBeanByUserName, getNamedBean, getNamedBeanList, getSystemNameArray, makeSystemName, register, removePropertyChangeListener, systemLetter
 

Field Detail

tc

protected LnTrafficController tc

prefix

protected String prefix

iName

int iName

log

static org.slf4j.Logger log
Constructor Detail

LnSensorManager

public LnSensorManager(LnTrafficController tc,
                       String prefix)
Method Detail

getSystemPrefix

public String getSystemPrefix()
Description copied from interface: Manager
Provides access to the system prefix string. This was previously called the "System letter"

Specified by:
getSystemPrefix in interface Manager

dispose

public void dispose()
Description copied from interface: Manager
Free resources when no longer used. Specifically, remove all references to and from this object, so it can be garbage-collected.

Specified by:
dispose in interface Manager
Specified by:
dispose in interface SensorManager
Overrides:
dispose in class AbstractManager

createNewSensor

public Sensor createNewSensor(String systemName,
                              String userName)
Description copied from class: AbstractSensorManager
Internal method to invoke the factory, after all the logic for returning an existing method has been invoked.

Specified by:
createNewSensor in class AbstractSensorManager
Returns:
new null

message

public void message(LocoNetMessage l)
Description copied from interface: LocoNetListener
Member function that will be invoked by a LocoNetInterface implementation to forward a LocoNet message from the layout.

Specified by:
message in interface LocoNetListener
Parameters:
l - The received LocoNet message. Note that this same object may be presented to multiple users. It should not be modified here.

updateAll

public void updateAll()
Requests status updates from all layout sensors.

Specified by:
updateAll in interface SensorManager
Overrides:
updateAll in class AbstractSensorManager

setUpdateBusy

public void setUpdateBusy()
Method to set Route busy when commands are being issued to Route turnouts


setUpdateNotBusy

public void setUpdateNotBusy()
Method to set Route not busy when all commands have been issued to Route turnouts


allowMultipleAdditions

public boolean allowMultipleAdditions(String systemName)
Description copied from class: AbstractSensorManager
A method that determines if it is possible to add a range of sensors in numerical order eg 10 to 30, primarily used to enable/disable the add range box in the add sensor panel

Specified by:
allowMultipleAdditions in interface SensorManager
Overrides:
allowMultipleAdditions in class AbstractSensorManager

createSystemName

public String createSystemName(String curAddress,
                               String prefix)
                        throws JmriException
Specified by:
createSystemName in interface SensorManager
Overrides:
createSystemName in class AbstractSensorManager
Throws:
JmriException

getNextValidAddress

public String getNextValidAddress(String curAddress,
                                  String prefix)
Description copied from interface: SensorManager
Determine if the address supplied is valid and free, if not then it shall return the next free valid address up to a maximum of 10 address away from the initial address.

Specified by:
getNextValidAddress in interface SensorManager
Overrides:
getNextValidAddress in class AbstractSensorManager
Parameters:
curAddress - - The hardware address of the turnout we which to check.
prefix - - The System Prefix used to make up the systemName


Copyright © 1997-2013 JMRI Community.
JMRI, DecoderPro, PanelPro, SoundPro, DispatcherPro and associated logos are our trademarks.

Additional information on copyright, trademarks and licenses is linked here.
Site hosted by: Get JMRI Model Railroad Interface at SourceForge.net. Fast, secure and Free Open Source software downloads