Class SectionManager
- All Implemented Interfaces:
PropertyChangeListener
,VetoableChangeListener
,EventListener
,PropertyChangeFirer
,PropertyChangeProvider
,SilenceablePropertyChangeProvider
,VetoableChangeFirer
,VetoableChangeProvider
,InstanceManagerAutoDefault
,Manager<Section>
public class SectionManager extends AbstractManager<Section> implements InstanceManagerAutoDefault
This doesn't have a "new" interface, since Sections are independently implemented, instead of being system-specific.
Note that Section system names must begin with system prefix and type character,
usually IY, and be followed by a string, usually, but not always, a number. This
is enforced when a Section is created.
This file is part of JMRI.
JMRI is free software; you can redistribute it and/or modify it under the terms of version 2 of the GNU General Public License as published by the Free Software Foundation. See the "COPYING" file for a copy of this license.
JMRI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-
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_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 SectionManager()
-
Method Summary
Modifier and Type Method Description Section
createNewSection(String userName)
Section
createNewSection(String systemName, String userName)
Create a new Section if the Section does not exist.void
deleteSection(Section y)
Remove an existing Section.String
getBeanTypeHandled(boolean plural)
Get the user-readable name of the type of NamedBean handled by this manager.Class<Section>
getNamedBeanClass()
Get the class of NamedBean supported by this Manager.Section
getSection(String name)
Get an existing Section.int
getXMLOrder()
Determine the order that types should be written when storing panel files.void
initializeBlockingSensors()
Initialize all blocking sensors that exist - set them to 'ACTIVE'.int
removeDirectionSensorsFromSSL(LayoutEditor lePanel)
Remove direction sensors from SSL for all signals.int
setupDirectionSensors(LayoutEditor lePanel)
Check direction sensors in SSL for signals.char
typeLetter()
int
validateAllSections(JmriJFrame frame, LayoutEditor lePanel)
Validate all Sections.Methods inherited from class jmri.managers.AbstractManager
addDataListener, checkNumeric, createSystemName, deleteBean, deregister, dispose, 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
-
Constructor Details
-
SectionManager
public SectionManager()
-
-
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<Section>
- Returns:
- write order for this Manager; larger is later.
-
typeLetter
- Specified by:
typeLetter
in interfaceManager<Section>
- Returns:
- The type letter for a specific implementation
-
getNamedBeanClass
Description copied from interface:Manager
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<Section>
- Returns:
- the class supported by this Manager.
-
createNewSection
Create a new Section if the Section does not exist.- Parameters:
systemName
- the desired system nameuserName
- the desired user name- Returns:
- a new Section or null if a Section with the same systemName or userName already exists, or if there is trouble creating a new Section.
-
createNewSection
-
deleteSection
Remove an existing Section.- Parameters:
y
- the section to remove
-
getSection
Get an existing Section. First look up assuming that name is a User Name. If this fails look up assuming that name is a System Name.- Parameters:
name
- the name to find; user names are searched for a match first, followed by system names- Returns:
- the found section of null if no matching Section found
-
validateAllSections
Validate all Sections.- Parameters:
frame
- ignoredlePanel
- the panel containing sections to validate- Returns:
- number or validation errors; -2 is returned if there are no sections
-
setupDirectionSensors
Check direction sensors in SSL for signals.- Parameters:
lePanel
- the panel containing direction sensors- Returns:
- the number or errors; 0 if no errors; -1 if the panel is null; -2 if there are no sections
-
removeDirectionSensorsFromSSL
Remove direction sensors from SSL for all signals.- Parameters:
lePanel
- the panel containing direction sensors- Returns:
- the number or errors; 0 if no errors; -1 if the panel is null; -2 if there are no sections
-
initializeBlockingSensors
Initialize all blocking sensors that exist - set them to 'ACTIVE'. -
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<Section>
- 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
-