Package jmri.jmrix.ecos
Class EcosLocoAddressManager
- java.lang.Object
-
- jmri.beans.PropertyChangeSupport
-
- jmri.beans.VetoableChangeSupport
-
- jmri.managers.AbstractManager<NamedBean>
-
- jmri.jmrix.ecos.EcosLocoAddressManager
-
- All Implemented Interfaces:
java.beans.PropertyChangeListener,java.beans.VetoableChangeListener,java.util.EventListener,PropertyChangeFirer,PropertyChangeProvider,SilenceablePropertyChangeProvider,VetoableChangeFirer,VetoableChangeProvider,AbstractMRListener,EcosListener,Manager<NamedBean>
public class EcosLocoAddressManager extends AbstractManager<NamedBean> implements EcosListener
Class to manage the ECoS Loco entries within JMRI.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface jmri.Manager
Manager.ManagerDataEvent<E extends NamedBean>, Manager.ManagerDataListener<E extends NamedBean>, Manager.NameValidity
-
-
Field Summary
Fields Modifier and Type Field Description (package private) ShutDownTaskecosLocoShutDownTask-
Fields inherited from class jmri.managers.AbstractManager
_beans, _tsys, _tuser, memo, silenceableProperties, silencedProperties
-
Fields inherited from class jmri.beans.VetoableChangeSupport
vetoableChangeSupport
-
Fields inherited from class jmri.beans.PropertyChangeSupport
propertyChangeSupport
-
Fields inherited from interface jmri.Manager
ANALOGIOS, AUDIO, BLOCKBOSS, BLOCKS, CONDITIONALS, CTCDATA, ENTRYEXIT, IDTAGS, LAYOUTBLOCKS, LIGHTS, LOGIXNG_ANALOG_ACTIONS, LOGIXNG_ANALOG_EXPRESSIONS, LOGIXNG_CONDITIONALNGS, LOGIXNG_DIGITAL_ACTIONS, LOGIXNG_DIGITAL_BOOLEAN_ACTIONS, LOGIXNG_DIGITAL_EXPRESSIONS, LOGIXNG_GLOBAL_VARIABLES, LOGIXNG_MODULES, LOGIXNG_STRING_ACTIONS, LOGIXNG_STRING_EXPRESSIONS, LOGIXNG_TABLES, LOGIXNGS, LOGIXS, MEMORIES, METERFRAMES, METERS, OBLOCKS, PANELFILES, PROPERTY_BEANS, PROPERTY_CAN_DELETE, PROPERTY_DISPLAY_LIST_NAME, PROPERTY_DO_DELETE, PROPERTY_DO_NOT_DELETE, PROPERTY_LENGTH, REPORTERS, ROUTES, SECTIONS, SENSORGROUPS, SENSORS, SIGNALGROUPS, SIGNALHEADS, SIGNALMASTLOGICS, SIGNALMASTS, STRINGIOS, TIMEBASE, TRANSITS, TURNOUTS, WARRANTS
-
-
Constructor Summary
Constructors Constructor Description EcosLocoAddressManager(EcosSystemConnectionMemo memo)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidcheckLocoList(java.lang.String[] ecoslines)voidclearLocoToRoster()(package private) voiddecodeLocoDetails(EcosLocoAddress tmploco, java.lang.String line, boolean addToRoster)voiddeleteEcosLoco(EcosLocoAddress s)voidderegister(EcosLocoAddress s)Forget a NamedBean Object created outside the manager.voiddispose()Free resources when no longer used.java.lang.StringgetBeanTypeHandled(boolean plural)Get the user-readable name of the type of NamedBean handled by this manager.EcosLocoAddressgetByDccAddress(int dccAddress)EcosLocoAddressgetByEcosObject(java.lang.String ecosObject)java.lang.String[]getEcosObjectArray()java.util.List<java.lang.String>getEcosObjectList()booleangetLocoToRoster()EcosSystemConnectionMemogetMemo()Get the system connection for this manager.java.lang.Class<NamedBean>getNamedBeanClass()Get the class of NamedBean supported by this Manager.intgetXMLOrder()Determine the order that types should be written when storing panel files.java.lang.StringmakeSystemName(java.lang.String s)EcosLocoAddresses have no system prefix, so return input unchanged.voidmessage(EcosMessage m)voidmonitorLocos(boolean monitor)voidpropertyChange(java.beans.PropertyChangeEvent e)The PropertyChangeListener interface in this class is intended to keep track of roster entries and sync them up with the Ecos.EcosLocoAddressprovideByDccAddress(int dccAddress)EcosLocoAddressprovideByEcosObject(java.lang.String ecosObject)EcosLocoAddressprovideEcosLoco(java.lang.String EcosObject, int DCCAddress)voidrefreshItems()voidregister(EcosLocoAddress s)voidreply(EcosReply m)voidsetLocoToRoster()booleanshutdownDispose()voidterminateThreads()protected booleanthreadsRunning()chartypeLetter()-
Methods inherited from class jmri.managers.AbstractManager
addDataListener, checkNumeric, createSystemName, deleteBean, deregister, fireDataListenersAdded, fireDataListenersRemoved, fireVetoableChange, getAutoSystemName, getBySystemName, getBySystemName, getByUserName, getKnownBeanProperties, getNamedBean, getNamedBeanSet, getObjectCount, getOuterBean, getSystemPrefix, handleUserNameUniqueness, makeSystemName, register, registerSelf, registerUserName, removeDataListener, setDataListenerMute, setPropertyChangesSilenced, updateAutoNumber, validSystemNameFormat, vetoableChange
-
Methods inherited from class jmri.beans.VetoableChangeSupport
addVetoableChangeListener, addVetoableChangeListener, fireVetoableChange, fireVetoableChange, fireVetoableChange, getVetoableChangeListeners, getVetoableChangeListeners, removeVetoableChangeListener, removeVetoableChangeListener
-
Methods inherited from class jmri.beans.PropertyChangeSupport
addPropertyChangeListener, addPropertyChangeListener, fireIndexedPropertyChange, fireIndexedPropertyChange, fireIndexedPropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface jmri.Manager
getBeanTypeHandled, getEntryToolTip, getSubSystemNamePrefix, getSystemNamePrefix, isValidSystemNameFormat, makeSystemName, validateBadCharsInSystemNameFormat, validateIntegerSystemNameFormat, validateNmraAccessorySystemNameFormat, validateSystemNameFormat, validateSystemNameFormat, validateSystemNameFormatOnlyNumeric, validateSystemNamePrefix, validateTrimmedMin1NumberSystemNameFormat, validateTrimmedSystemNameFormat, validateUppercaseTrimmedSystemNameFormat
-
Methods inherited from interface jmri.beans.PropertyChangeProvider
addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
-
Methods inherited from interface jmri.beans.VetoableChangeProvider
addVetoableChangeListener, addVetoableChangeListener, getVetoableChangeListeners, getVetoableChangeListeners, removeVetoableChangeListener, removeVetoableChangeListener
-
-
-
-
Field Detail
-
ecosLocoShutDownTask
ShutDownTask ecosLocoShutDownTask
-
-
Constructor Detail
-
EcosLocoAddressManager
public EcosLocoAddressManager(@Nonnull EcosSystemConnectionMemo memo)
-
-
Method Detail
-
getMemo
@Nonnull public EcosSystemConnectionMemo getMemo()
Get the system connection for this manager.
-
typeLetter
public char typeLetter()
- Specified by:
typeLetterin interfaceManager<NamedBean>- Returns:
- The type letter for a specific implementation
-
getNamedBeanClass
public java.lang.Class<NamedBean> getNamedBeanClass()
Description copied from interface:ManagerGet the class of NamedBean supported by this Manager. This should be the generic class used in the Manager's class declaration.- Specified by:
getNamedBeanClassin interfaceManager<NamedBean>- Returns:
- the class supported by this Manager.
-
getXMLOrder
public int getXMLOrder()
Description copied from interface:ManagerDetermine the order that types should be written when storing panel files. Uses one of the constants defined in this class.Yes, that's an overly-centralized methodology, but it works for now.
- Specified by:
getXMLOrderin interfaceManager<NamedBean>- Returns:
- write order for this Manager; larger is later.
-
makeSystemName
@Nonnull public java.lang.String makeSystemName(@Nonnull java.lang.String s)
EcosLocoAddresses have no system prefix, so return input unchanged.- Specified by:
makeSystemNamein interfaceManager<NamedBean>- Parameters:
s- the input to make a system name- Returns:
- the resultant system name
-
clearLocoToRoster
public void clearLocoToRoster()
-
setLocoToRoster
public void setLocoToRoster()
-
getLocoToRoster
public boolean getLocoToRoster()
-
provideEcosLoco
public EcosLocoAddress provideEcosLoco(java.lang.String EcosObject, int DCCAddress)
-
provideByDccAddress
public EcosLocoAddress provideByDccAddress(int dccAddress)
-
provideByEcosObject
public EcosLocoAddress provideByEcosObject(java.lang.String ecosObject)
-
getByEcosObject
public EcosLocoAddress getByEcosObject(java.lang.String ecosObject)
-
getByDccAddress
public EcosLocoAddress getByDccAddress(int dccAddress)
-
getEcosObjectArray
public java.lang.String[] getEcosObjectArray()
-
getEcosObjectList
public java.util.List<java.lang.String> getEcosObjectList()
-
monitorLocos
public void monitorLocos(boolean monitor)
-
deleteEcosLoco
public void deleteEcosLoco(EcosLocoAddress s)
-
register
public void register(EcosLocoAddress s)
-
deregister
public void deregister(EcosLocoAddress s)
Forget a NamedBean Object created outside the manager.The non-system-specific RouteManager uses this method.
- Parameters:
s- Ecos Loco Address to de-register.
-
dispose
public void dispose()
Description copied from class:AbstractManagerFree resources when no longer used. Specifically, remove all references to and from this object, so it can be garbage-collected.
-
terminateThreads
public void terminateThreads()
-
threadsRunning
protected boolean threadsRunning()
-
shutdownDispose
public boolean shutdownDispose()
-
propertyChange
public void propertyChange(java.beans.PropertyChangeEvent e)
The PropertyChangeListener interface in this class is intended to keep track of roster entries and sync them up with the Ecos.- Specified by:
propertyChangein interfacejava.beans.PropertyChangeListener- Overrides:
propertyChangein classAbstractManager<NamedBean>- Parameters:
e- the event
-
reply
public void reply(EcosReply m)
- Specified by:
replyin interfaceEcosListener
-
decodeLocoDetails
void decodeLocoDetails(EcosLocoAddress tmploco, java.lang.String line, boolean addToRoster)
-
checkLocoList
void checkLocoList(java.lang.String[] ecoslines)
-
message
public void message(EcosMessage m)
- Specified by:
messagein interfaceEcosListener
-
refreshItems
public void refreshItems()
-
getBeanTypeHandled
@Nonnull public java.lang.String getBeanTypeHandled(boolean plural)
Description copied from interface:ManagerGet the user-readable name of the type of NamedBean handled by this manager.For instance, in the code where we are dealing with just a bean and a message that needs to be passed to the user or in a log.
- Specified by:
getBeanTypeHandledin interfaceManager<NamedBean>- Parameters:
plural- true to return plural form of the type; false to return singular form- Returns:
- a string of the bean type that the manager handles, eg Turnout, Sensor etc
-
-