Package jmri.jmrit.logixng
Interface ModuleManager
- All Superinterfaces:
Manager<Module>,PropertyChangeProvider,SilenceablePropertyChangeProvider,VetoableChangeProvider
- All Known Implementing Classes:
DefaultModuleManager
Manager for LogixNG modules
-
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 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, WARRANTS -
Method Summary
Modifier and TypeMethodDescriptioncreateModule(String systemName, String userName, FemaleSocketManager.SocketType socketType) Create a new Module if the Module does not exist.createModule(String userName, FemaleSocketManager.SocketType socketType) For use with User GUI, to allow the auto generation of systemNames, where the user can optionally supply a username.voidDelete Module by removing it from the manager.Create a new system name for a Module.getBySystemName(String name) Locate an existing instance based on a system name.getByUserName(String name) Locate an existing instance based on a user name.Locate via user name, then system name if needed.default StringGet the sub system prefix of this manager.voidprintTree(Base.PrintTreeSettings settings, PrintWriter writer, String indent, MutableInt lineNumber) Print the tree to a stream.voidprintTree(Base.PrintTreeSettings settings, Locale locale, PrintWriter writer, String indent, MutableInt lineNumber) Print the tree to a stream.booleanresolveAllTrees(List<String> errors) Resolve all the Module trees.voidSetup all Modules.static Manager.NameValidityvalidSystemNameFormat(String subSystemNamePrefix, String systemName) Test if parameter is a properly formatted system name.Methods inherited from interface jmri.Manager
addDataListener, deleteBean, deregister, dispose, getBeanTypeHandled, getBeanTypeHandled, getEntryToolTip, getKnownBeanProperties, getMemo, getNamedBean, getNamedBeanClass, getNamedBeanSet, getObjectCount, getSystemNamePrefix, getSystemPrefix, getXMLOrder, isValidSystemNameFormat, makeSystemName, makeSystemName, makeSystemName, register, removeDataListener, setDataListenerMute, typeLetter, validateBadCharsInSystemNameFormat, validateIntegerSystemNameFormat, validateNmraAccessorySystemNameFormat, validateSystemNameFormat, validateSystemNameFormat, validateSystemNameFormatOnlyNumeric, validateSystemNamePrefix, validateTrimmedMin1NumberSystemNameFormat, validateTrimmedSystemNameFormat, validateUppercaseTrimmedSystemNameFormat, validSystemNameFormatMethods inherited from interface jmri.beans.PropertyChangeProvider
addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListenerMethods inherited from interface jmri.beans.SilenceablePropertyChangeProvider
setPropertyChangesSilencedMethods inherited from interface jmri.beans.VetoableChangeProvider
addVetoableChangeListener, addVetoableChangeListener, getVetoableChangeListeners, getVetoableChangeListeners, removeVetoableChangeListener, removeVetoableChangeListener
-
Method Details
-
createModule
Module createModule(String systemName, String userName, FemaleSocketManager.SocketType socketType) throws IllegalArgumentException Create a new Module if the Module does not exist.- Parameters:
systemName- the system nameuserName- the user namesocketType- the socket type- Returns:
- a new Module or null if unable to create
- Throws:
IllegalArgumentException- when needed
-
createModule
Module createModule(String userName, FemaleSocketManager.SocketType socketType) throws IllegalArgumentException For use with User GUI, to allow the auto generation of systemNames, where the user can optionally supply a username.- Parameters:
userName- the user namesocketType- the socket type- Returns:
- a new Module or null if unable to create
- Throws:
IllegalArgumentException- when needed
-
getModule
Locate via user name, then system name if needed. Does not create a new one if nothing found- Parameters:
name- User name or system name to match- Returns:
- null if no match found
-
getByUserName
Locate an existing instance based on a user name.- Specified by:
getByUserNamein interfaceManager<Module>- Parameters:
name- System Name of the required NamedBean- Returns:
- requested NamedBean object or null if none exists
-
getBySystemName
Locate an existing instance based on a system name.- Specified by:
getBySystemNamein interfaceManager<Module>- Parameters:
name- System Name of the required NamedBean- Returns:
- requested NamedBean object or null if none exists
-
getAutoSystemName
Create a new system name for a Module.- Returns:
- a new system name
-
resolveAllTrees
Resolve all the Module trees.This method ensures that everything in the Module tree has a pointer to its parent.
- Parameters:
errors- a list of potential errors- Returns:
- true if success, false otherwise
-
setupAllModules
void setupAllModules()Setup all Modules. This method is called after a configuration file is loaded. -
deleteModule
Delete Module by removing it from the manager. The Module must first be deactivated so it stops processing.- Parameters:
x- the Module to delete
-
printTree
void printTree(Base.PrintTreeSettings settings, PrintWriter writer, String indent, MutableInt lineNumber) Print the tree to a stream.- Parameters:
settings- settings for what to printwriter- the stream to print the tree toindent- the indentation of each levellineNumber- the line number
-
printTree
void printTree(Base.PrintTreeSettings settings, Locale locale, PrintWriter writer, String indent, MutableInt lineNumber) Print the tree to a stream.- Parameters:
settings- settings for what to printlocale- The locale to be usedwriter- the stream to print the tree toindent- the indentation of each levellineNumber- the line number
-
validSystemNameFormat
Test if parameter is a properly formatted system name.This method should only be used by the managers of the Module system.
- Parameters:
subSystemNamePrefix- the sub system prefixsystemName- the system name- Returns:
- enum indicating current validity, which might be just as a prefix
-
getSubSystemNamePrefix
Get the sub system prefix of this manager. The sub system prefix is the system name prefix and possibly some extra characters of the NamedBeans handled by this manager.For most managers, this is the same as
Manager.getSystemNamePrefix(), but for some like the managers in LogixNG, it differs. The sub system prefix for the DigitalActionManager isManager.getSystemNamePrefix()and "DA";- Specified by:
getSubSystemNamePrefixin interfaceManager<Module>- Returns:
- the sub system prefix
-