Package jmri.jmrit.logix
Class WarrantManager
- All Implemented Interfaces:
PropertyChangeListener
,VetoableChangeListener
,EventListener
,PropertyChangeFirer
,PropertyChangeProvider
,SilenceablePropertyChangeProvider
,VetoableChangeFirer
,VetoableChangeProvider
,InstanceManagerAutoDefault
,Manager<Warrant>
public class WarrantManager extends AbstractManager<Warrant> implements InstanceManagerAutoDefault
Basic Implementation of a WarrantManager.
Note this is a concrete class.
-
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) ShutDownTask
_shutDownTask
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 WarrantManager()
-
Method Summary
Modifier and Type Method Description Warrant
createNewWarrant(String systemName, String userName, boolean SCWa, long TTP)
Method to create a new Warrant if it does not exist.void
dispose()
Free resources when no longer used.String
getBeanTypeHandled(boolean plural)
Get the user-readable name of the type of NamedBean handled by this manager.static WarrantManager
getDefault()
Get the default WarrantManager.protected RosterSpeedProfile
getMergeProfile(String id)
protected HashMap<String,RosterSpeedProfile>
getMergeProfiles()
Class<Warrant>
getNamedBeanClass()
Get the class of NamedBean supported by this Manager.protected RosterSpeedProfile
getSessionProfile(String id)
protected HashMap<String,RosterSpeedProfile>
getSessionProfiles()
Warrant
getWarrant(String name)
Method to get an existing Warrant.int
getXMLOrder()
Determine the order that types should be written when storing panel files.protected boolean
okToRemoveBlock(OBlock block)
protected boolean
okToRemoveBlockPath(OBlock block, OPath path)
protected boolean
okToRemovePortal(Portal portal)
protected void
pathNameChange(OBlock block, String oldName, String newName)
protected void
portalNameChange(String oldName, String newName)
Warrant
provideWarrant(String name)
protected void
setSpeedProfiles(String id, RosterSpeedProfile merge, RosterSpeedProfile session)
protected List<NamedBean>
signalsUsing(Portal portal)
char
typeLetter()
protected List<Warrant>
warrantsUsing(OBlock block)
protected List<Warrant>
warrantsUsing(OBlock block, OPath path)
protected List<Warrant>
warrantsUsing(Portal portal)
Methods inherited from class jmri.managers.AbstractManager
addDataListener, checkNumeric, createSystemName, deleteBean, deregister, fireDataListenersAdded, fireDataListenersRemoved, fireVetoableChange, getAutoSystemName, getBySystemName, getBySystemName, getByUserName, getIncrement, getIncrementFromExistingNumber, getInstanceBySystemName, getInstanceByUserName, getKnownBeanProperties, getMemo, 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
getBeanBySystemName, getBeanByUserName, getBeanTypeHandled, getEntryToolTip, getSubSystemNamePrefix, getSystemNamePrefix, isValidSystemNameFormat, makeSystemName, makeSystemName, setPropertyChangesMuted, 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 Details
-
Constructor Details
-
WarrantManager
public WarrantManager()
-
-
Method Details
-
getXMLOrder
Description copied from interface:Manager
Determine 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:
getXMLOrder
in interfaceManager<Warrant>
- Returns:
- write order for this Manager; larger is later.
-
typeLetter
- Specified by:
typeLetter
in interfaceManager<Warrant>
- Returns:
- The type letter for a specific implementation
-
createNewWarrant
Method to create a new Warrant if it does not exist.Returns null if a Warrant with the same systemName or userName already exists, or if there is trouble creating a new Warrant.
- Parameters:
systemName
- the system name.userName
- the user name.SCWa
- true for a new SCWarrant, false for a new Warrant.TTP
- the time to platform.- Returns:
- an existing warrant if found or a new warrant, may be null.
-
getWarrant
Method to get an existing Warrant. First looks up assuming that name is a User Name. If this fails looks up assuming that name is a System Name. If both fail, returns null.- Parameters:
name
- the system name or user name- Returns:
- the warrant if found or null
-
provideWarrant
-
okToRemoveBlock
-
okToRemovePortal
-
okToRemoveBlockPath
-
portalNameChange
-
warrantsUsing
-
warrantsUsing
-
signalsUsing
-
warrantsUsing
-
pathNameChange
-
getDefault
Get the default WarrantManager.- Returns:
- the default WarrantManager, creating it if necessary
-
getBeanTypeHandled
Description copied from interface:Manager
Get 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:
getBeanTypeHandled
in interfaceManager<Warrant>
- 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
-
getNamedBeanClass
Get the class of NamedBean supported by this Manager. This should be the generic class used in the Manager's class declaration.- Specified by:
getNamedBeanClass
in interfaceManager<Warrant>
- Returns:
- the class supported by this Manager.
-
setSpeedProfiles
-
getMergeProfile
-
getSessionProfile
-
getMergeProfiles
-
getSessionProfiles
-
dispose
Description copied from class:AbstractManager
Free resources when no longer used. Specifically, remove all references to and from this object, so it can be garbage-collected.
-