Package jmri.jmrix.mqtt
Class MqttLightManager
- java.lang.Object
-
- jmri.beans.PropertyChangeSupport
-
- jmri.beans.VetoableChangeSupport
-
- jmri.managers.AbstractManager<Light>
-
- jmri.managers.AbstractLightManager
-
- jmri.jmrix.mqtt.MqttLightManager
-
- All Implemented Interfaces:
java.beans.PropertyChangeListener
,java.beans.VetoableChangeListener
,java.util.EventListener
,PropertyChangeFirer
,PropertyChangeProvider
,SilenceablePropertyChangeProvider
,VetoableChangeFirer
,VetoableChangeProvider
,LightManager
,Manager<Light>
,NameIncrementingManager
,ProvidingManager<Light>
public class MqttLightManager extends AbstractLightManager
Implement LightManager for MQTT systemsSystem names are "prefixnnn", where prefix is the system prefix and nnn is the light number without padding.
-
-
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 java.lang.String
rcvTopicPrefix
java.lang.String
sendTopicPrefix
-
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, REPORTERS, ROUTES, SECTIONS, SENSORGROUPS, SENSORS, SIGNALGROUPS, SIGNALHEADS, SIGNALMASTLOGICS, SIGNALMASTS, STRINGIOS, TIMEBASE, TRANSITS, TURNOUTS, WARRANTS
-
-
Constructor Summary
Constructors Constructor Description MqttLightManager(MqttSystemConnectionMemo memo)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
allowMultipleAdditions(java.lang.String systemName)
Determines if it is possible to add a range of NamedBeans in numerical order for a particular system implementation.protected Light
createNewLight(java.lang.String systemName, java.lang.String userName)
Internal method to invoke the factory, after all the logic for returning an existing Light has been invoked.java.lang.String
getEntryToolTip()
Get a manager-specific tool tip for adding an entry to the manager.MqttSystemConnectionMemo
getMemo()
Get the system connection for this manager.void
setRcvTopicPrefix(java.lang.String rcvTopicPrefix)
void
setSendTopicPrefix(java.lang.String sendTopicPrefix)
boolean
validSystemNameConfig(java.lang.String systemName)
Test if parameter is a valid system name for current configuration.-
Methods inherited from class jmri.managers.AbstractLightManager
activateAllLights, convertSystemNameToAlternate, getBeanTypeHandled, getLight, getNamedBeanClass, getXMLOrder, newLight, provideLight, supportsVariableLights, typeLetter
-
Methods inherited from class jmri.managers.AbstractManager
addDataListener, checkNumeric, createSystemName, deleteBean, deregister, dispose, fireDataListenersAdded, fireDataListenersRemoved, fireVetoableChange, getAutoSystemName, getBySystemName, getBySystemName, getByUserName, getKnownBeanProperties, getNamedBean, getNamedBeanSet, getObjectCount, getOuterBean, getSystemPrefix, handleUserNameUniqueness, makeSystemName, propertyChange, 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.LightManager
createSystemName, dispose, getBySystemName, getByUserName, provide
-
Methods inherited from interface jmri.Manager
addDataListener, deleteBean, deregister, getBeanTypeHandled, getKnownBeanProperties, getNamedBean, getNamedBeanSet, getObjectCount, getSubSystemNamePrefix, getSystemNamePrefix, getSystemPrefix, isValidSystemNameFormat, makeSystemName, makeSystemName, makeSystemName, register, removeDataListener, setDataListenerMute, validateBadCharsInSystemNameFormat, validateIntegerSystemNameFormat, validateNmraAccessorySystemNameFormat, validateSystemNameFormat, validateSystemNameFormat, validateSystemNameFormatOnlyNumeric, validateSystemNamePrefix, validateTrimmedMin1NumberSystemNameFormat, validateTrimmedSystemNameFormat, validateUppercaseTrimmedSystemNameFormat, validSystemNameFormat
-
Methods inherited from interface jmri.NameIncrementingManager
getNextValidSystemName
-
Methods inherited from interface jmri.beans.PropertyChangeProvider
addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
-
Methods inherited from interface jmri.beans.SilenceablePropertyChangeProvider
setPropertyChangesSilenced
-
Methods inherited from interface jmri.beans.VetoableChangeProvider
addVetoableChangeListener, addVetoableChangeListener, getVetoableChangeListeners, getVetoableChangeListeners, removeVetoableChangeListener, removeVetoableChangeListener
-
-
-
-
Field Detail
-
sendTopicPrefix
@Nonnull public java.lang.String sendTopicPrefix
-
rcvTopicPrefix
@Nonnull public java.lang.String rcvTopicPrefix
-
-
Constructor Detail
-
MqttLightManager
public MqttLightManager(@Nonnull MqttSystemConnectionMemo memo)
-
-
Method Detail
-
setSendTopicPrefix
public void setSendTopicPrefix(@Nonnull java.lang.String sendTopicPrefix)
-
setRcvTopicPrefix
public void setRcvTopicPrefix(@Nonnull java.lang.String rcvTopicPrefix)
-
getMemo
@Nonnull public MqttSystemConnectionMemo getMemo()
Get the system connection for this manager.
-
createNewLight
@Nonnull protected Light createNewLight(@Nonnull java.lang.String systemName, java.lang.String userName) throws java.lang.IllegalArgumentException
Description copied from class:AbstractLightManager
Internal method to invoke the factory, after all the logic for returning an existing Light has been invoked.- Specified by:
createNewLight
in classAbstractLightManager
- Parameters:
systemName
- the system name to use for this lightuserName
- the user name to use for this light- Returns:
- the new light or null if unsuccessful
- Throws:
java.lang.IllegalArgumentException
- something failed in the names
-
validSystemNameConfig
public boolean validSystemNameConfig(java.lang.String systemName)
Description copied from interface:LightManager
Test if parameter is a valid system name for current configuration.- Parameters:
systemName
- the system name- Returns:
- true if valid; false otherwise
-
allowMultipleAdditions
public boolean allowMultipleAdditions(java.lang.String systemName)
Determines if it is possible to add a range of NamedBeans in numerical order for a particular system implementation.Default is not providing this service. Systems should override this method if they do provide the service.
- Parameters:
systemName
- the system name to check against; appears to be ignored in all implementations- Returns:
- true if possible; false otherwise
-
getEntryToolTip
public java.lang.String getEntryToolTip()
Get a manager-specific tool tip for adding an entry to the manager.- Specified by:
getEntryToolTip
in interfaceManager<Light>
- Overrides:
getEntryToolTip
in classAbstractLightManager
- Returns:
- the tool tip or null to disable the tool tip
-
-