Package jmri.jmrix.internal
Class InternalTurnoutManager
java.lang.Object
jmri.beans.PropertyChangeSupport
jmri.beans.VetoableChangeSupport
jmri.managers.AbstractManager<Turnout>
jmri.managers.AbstractTurnoutManager
jmri.jmrix.internal.InternalTurnoutManager
- All Implemented Interfaces:
PropertyChangeListener
,VetoableChangeListener
,EventListener
,PropertyChangeFirer
,PropertyChangeProvider
,SilenceablePropertyChangeProvider
,VetoableChangeFirer
,VetoableChangeProvider
,Manager<Turnout>
,ProvidingManager<Turnout>
,TurnoutManager
public class InternalTurnoutManager extends AbstractTurnoutManager
Implement a turnout manager for "Internal" (virtual) turnouts.
-
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.managers.AbstractManager
_beans, _tsys, _tuser, memo, silenceableProperties, silencedProperties
Fields inherited from interface jmri.Manager
ANALOGIOS, AUDIO, BLOCKBOSS, BLOCKS, CONDITIONALS, CTCDATA, deprecatedManagerLogger, ENTRYEXIT, IDTAGS, LAYOUTBLOCKS, LIGHTS, LOGIXNG_ANALOG_ACTIONS, LOGIXNG_ANALOG_EXPRESSIONS, LOGIXNG_CONDITIONALNGS, LOGIXNG_DIGITAL_ACTIONS, LOGIXNG_DIGITAL_BOOLEAN_ACTIONS, LOGIXNG_DIGITAL_EXPRESSIONS, 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 InternalTurnoutManager(InternalSystemConnectionMemo memo)
-
Method Summary
Modifier and Type Method Description boolean
allowMultipleAdditions(String systemName)
Multiple additions enabled for Internal Turnouts.protected Turnout
createNewTurnout(String systemName, String userName)
Create and return an internal (no layout connection) Turnout.String
createSystemName(String curAddress, String prefix)
No validation for Internal Turnouts.String
getEntryToolTip()
Get a manager-specific tool tip for adding an entry to the manager.InternalSystemConnectionMemo
getMemo()
Get the system connection for this manager.String[]
getValidOperationTypes()
Turnout operation support.Methods inherited from class jmri.managers.AbstractTurnoutManager
askControlType, askNumControlBits, getBeanTypeHandled, getClosedText, getDefaultClosedSpeed, getDefaultThrownSpeed, getNamedBeanClass, getOutputInterval, getThrownText, getTurnout, getXMLOrder, isControlTypeSupported, isNumControlBitsSupported, newTurnout, outputIntervalEnds, provideTurnout, setDefaultClosedSpeed, setDefaultThrownSpeed, setOutputInterval, typeLetter
Methods inherited from class jmri.managers.AbstractManager
addDataListener, checkNumeric, deleteBean, deregister, dispose, fireDataListenersAdded, fireDataListenersRemoved, fireVetoableChange, getAutoSystemName, getBySystemName, getBySystemName, getByUserName, getIncrement, getIncrementFromExistingNumber, getInstanceBySystemName, getInstanceByUserName, getKnownBeanProperties, getNamedBean, getNamedBeanList, getNamedBeanSet, getNextValidAddress, getNextValidAddress, getObjectCount, getSystemNameList, 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.Manager
addDataListener, deleteBean, deregister, dispose, getBeanBySystemName, getBeanByUserName, getBeanTypeHandled, getKnownBeanProperties, getNamedBean, getNamedBeanList, getNamedBeanSet, getObjectCount, getSubSystemNamePrefix, getSystemNameList, getSystemNamePrefix, getSystemPrefix, isValidSystemNameFormat, makeSystemName, makeSystemName, makeSystemName, register, removeDataListener, setDataListenerMute, setPropertyChangesMuted, validateBadCharsInSystemNameFormat, validateIntegerSystemNameFormat, validateNmraAccessorySystemNameFormat, validateSystemNameFormat, validateSystemNameFormat, validateSystemNameFormatOnlyNumeric, validateSystemNamePrefix, validateTrimmedMin1NumberSystemNameFormat, validateTrimmedSystemNameFormat, validateUppercaseTrimmedSystemNameFormat, validSystemNameFormat
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.TurnoutManager
getBySystemName, getByUserName, getNextValidAddress, getNextValidAddress, provide
Methods inherited from interface jmri.beans.VetoableChangeProvider
addVetoableChangeListener, addVetoableChangeListener, getVetoableChangeListeners, getVetoableChangeListeners, removeVetoableChangeListener, removeVetoableChangeListener
-
Constructor Details
-
Method Details
-
getMemo
Get the system connection for this manager. -
createNewTurnout
@Nonnull protected Turnout createNewTurnout(@Nonnull String systemName, String userName) throws IllegalArgumentExceptionCreate and return an internal (no layout connection) Turnout. Internal method to invoke the factory, after all the logic for returning an existing Turnout has been invoked.- Specified by:
createNewTurnout
in classAbstractTurnoutManager
- 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
Multiple additions enabled for Internal Turnouts. A temporary method that determines if it is possible to add a range of turnouts in numerical order eg 10 to 30, primarily used to enable/disable the Add range box in the Add new turnout panel.- Specified by:
allowMultipleAdditions
in interfaceTurnoutManager
- Overrides:
allowMultipleAdditions
in classAbstractTurnoutManager
- Parameters:
systemName
- configured system connection name- Returns:
- false as default, unless overridden by implementations as supported
-
createSystemName
@Nonnull public String createSystemName(@Nonnull String curAddress, @Nonnull String prefix) throws JmriExceptionNo validation for Internal Turnouts. Default Turnout ensures a numeric only system name. Create a System Name from hardware address and system letter prefix. AbstractManager performs no validation.- Specified by:
createSystemName
in interfaceTurnoutManager
- Overrides:
createSystemName
in classAbstractTurnoutManager
- Parameters:
curAddress
- hardware address, no system prefix or type letter.prefix
- - just system prefix, not including Type Letter.- Returns:
- full system name with system prefix, type letter and hardware address.
- Throws:
JmriException
- if unable to create a system name.
-
getEntryToolTip
Get a manager-specific tool tip for adding an entry to the manager.- Specified by:
getEntryToolTip
in interfaceManager<Turnout>
- Overrides:
getEntryToolTip
in classAbstractTurnoutManager
- Returns:
- the tool tip or null to disable the tool tip
-
getValidOperationTypes
Turnout operation support. Internal turnouts don't need retries.- Specified by:
getValidOperationTypes
in interfaceTurnoutManager
- Overrides:
getValidOperationTypes
in classAbstractTurnoutManager
- Returns:
- a list of subtypes or an empty list if turnout operations are not supported
-