Class Z21XNetTurnoutManager
- All Implemented Interfaces:
PropertyChangeListener,VetoableChangeListener,EventListener,PropertyChangeFirer,PropertyChangeProvider,SilenceablePropertyChangeProvider,VetoableChangeFirer,VetoableChangeProvider,AbstractMRListener,XNetListener,Manager<Turnout>,NameIncrementingManager,ProvidingManager<Turnout>,TurnoutManager
System names are "XTnnn", where X is the user-configurable system prefix, nnn is the turnout 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 inherited from class jmri.jmrix.lenz.XNetTurnoutManager
tcFields inherited from class jmri.managers.AbstractManager
_beans, _tsys, _tuser, memo, silenceableProperties, silencedPropertiesFields inherited from class jmri.beans.VetoableChangeSupport
vetoableChangeSupportFields inherited from class jmri.beans.PropertyChangeSupport
propertyChangeSupportFields 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, WARRANTSFields inherited from interface jmri.TurnoutManager
PROPERTY_DEFAULT_CLOSED_SPEED, PROPERTY_DEFAULT_THROWN_SPEED -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanallowMultipleAdditions(String systemName) Determines if it is possible to add a range of NamedBeans in numerical order for a particular system implementation.protected TurnoutcreateNewTurnout(String systemName, String userName) Create a new Turnout based on the system name.protected voidvoidListen for turnouts, creating them as needed.validateSystemNameFormat(String systemName, Locale locale) Validate the format of name, returning it unchanged if valid.Methods inherited from class jmri.jmrix.lenz.XNetTurnoutManager
getClosedText, getEntryToolTip, getMemo, getThrownText, message, notifyTimeout, validSystemNameFormatMethods inherited from class jmri.managers.AbstractTurnoutManager
askControlType, askNumControlBits, createSystemName, dispose, getBeanTypeHandled, getDefaultClosedSpeed, getDefaultThrownSpeed, getNamedBeanClass, getOutputInterval, getTurnout, getValidOperationTypes, getXMLOrder, isControlTypeSupported, isNumControlBitsSupported, newTurnout, outputIntervalEnds, provideTurnout, setDefaultClosedSpeed, setDefaultThrownSpeed, setOutputInterval, typeLetterMethods inherited from class jmri.managers.AbstractManager
addDataListener, checkNumeric, deleteBean, deregister, fireDataListenersAdded, fireDataListenersRemoved, fireVetoableChange, getAutoSystemName, getBySystemName, getBySystemName, getByUserName, getKnownBeanProperties, getNamedBean, getNamedBeanSet, getObjectCount, getOuterBean, getSystemPrefix, handleUserNameUniqueness, makeSystemName, propertyChange, register, registerSelf, registerUserName, removeDataListener, setDataListenerMute, setPropertyChangesSilenced, updateAutoNumber, vetoableChangeMethods inherited from class jmri.beans.VetoableChangeSupport
addVetoableChangeListener, addVetoableChangeListener, fireVetoableChange, fireVetoableChange, fireVetoableChange, getVetoableChangeListeners, getVetoableChangeListeners, removeVetoableChangeListener, removeVetoableChangeListenerMethods inherited from class jmri.beans.PropertyChangeSupport
addPropertyChangeListener, addPropertyChangeListener, fireIndexedPropertyChange, fireIndexedPropertyChange, fireIndexedPropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListenerMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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, validateSystemNameFormatOnlyNumeric, validateSystemNamePrefix, validateTrimmedMin1NumberSystemNameFormat, validateTrimmedSystemNameFormat, validateUppercaseTrimmedSystemNameFormatMethods inherited from interface jmri.NameIncrementingManager
getNextValidSystemNameMethods inherited from interface jmri.beans.PropertyChangeProvider
addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListenerMethods inherited from interface jmri.beans.SilenceablePropertyChangeProvider
setPropertyChangesSilencedMethods inherited from interface jmri.TurnoutManager
getBySystemName, getByUserName, provideMethods inherited from interface jmri.beans.VetoableChangeProvider
addVetoableChangeListener, addVetoableChangeListener, getVetoableChangeListeners, getVetoableChangeListeners, removeVetoableChangeListener, removeVetoableChangeListener
-
Constructor Details
-
Z21XNetTurnoutManager
-
-
Method Details
-
createNewTurnout
@Nonnull protected Turnout createNewTurnout(@Nonnull String systemName, String userName) throws IllegalArgumentException Create a new Turnout based on the system name. Assumes calling method has checked that a Turnout with this system name does not already exist. Internal method to invoke the factory, after all the logic for returning an existing Turnout has been invoked.- Overrides:
createNewTurnoutin classXNetTurnoutManager- Parameters:
systemName- the system name to use for the new TurnoutuserName- the user name to use for the new Turnout- Returns:
- the new Turnout or
- Throws:
IllegalArgumentException- if unsuccessful
-
allowMultipleAdditions
Description copied from interface:NameIncrementingManagerDetermines 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.
- Specified by:
allowMultipleAdditionsin interfaceNameIncrementingManager- Overrides:
allowMultipleAdditionsin classXNetTurnoutManager- Parameters:
systemName- the system name to check against; appears to be ignored in all implementations- Returns:
- true if possible; false otherwise
-
message
Description copied from class:XNetTurnoutManagerListen for turnouts, creating them as needed.- Specified by:
messagein interfaceXNetListener- Overrides:
messagein classXNetTurnoutManager- Parameters:
l- The received XNet message. Note that this same object may be presented to multiple users. It should not be modified here.
-
forwardMessageToTurnout
- Overrides:
forwardMessageToTurnoutin classXNetTurnoutManager
-
validateSystemNameFormat
Validate the format of name, returning it unchanged if valid.Although further restrictions may be added by system-specific implementations, at a minimum, the implementation must consider a name that does not start with the System Name prefix for this manager to be invalid, and must consider a name that is the same as the System Name prefix to be invalid.
Overriding implementations may rely on
Manager.validSystemNameFormat(java.lang.String), however they must provide an actionable message in the thrown exception if that method does not returnManager.NameValidity.VALID. When overriding implementations of this method rely on validSystemNameFormat(), implementations of that method must not throw an exception, log an error, or otherwise disrupt the user.- Specified by:
validateSystemNameFormatin interfaceManager<Turnout>- Overrides:
validateSystemNameFormatin classXNetTurnoutManager- Parameters:
systemName- the system name to validatelocale- the locale for a localized exception; this is needed for the JMRI web server, which supports multiple locales- Returns:
- the unchanged value of the name parameter
-