Package jmri
Interface RouteManager
- All Superinterfaces:
Manager<Route>,PropertyChangeProvider,ProvidingManager<Route>,SilenceablePropertyChangeProvider,VetoableChangeProvider
- All Known Implementing Classes:
DefaultRouteManager
Interface for obtaining Routes.
This file is part of JMRI.
This doesn't have a "new" method, since Routes are separately implemented, instead of being system-specific.
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 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 TypeMethodDescriptionvoiddeleteRoute(Route r) Delete Route by removing it from the manager.voiddispose()Free resources when no longer used.Locate an existing instance based on a system name.Locate an existing instance based on a user name.Locate via user name, then system name if needed.Create a new Route if the route does not exist.provideRoute(String systemName, String userName) Provides existing Route by UserName then SystemName if one exists.Methods inherited from interface jmri.Manager
addDataListener, deleteBean, deregister, getBeanTypeHandled, getBeanTypeHandled, getEntryToolTip, getKnownBeanProperties, getMemo, getNamedBean, getNamedBeanClass, getNamedBeanSet, getObjectCount, getSubSystemNamePrefix, 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.ProvidingManager
provideMethods inherited from interface jmri.beans.SilenceablePropertyChangeProvider
setPropertyChangesSilencedMethods inherited from interface jmri.beans.VetoableChangeProvider
addVetoableChangeListener, addVetoableChangeListener, getVetoableChangeListeners, getVetoableChangeListeners, removeVetoableChangeListener, removeVetoableChangeListener
-
Method Details
-
dispose
void dispose()Description copied from interface:ManagerFree resources when no longer used. Specifically, remove all references to and from this object, so it can be garbage-collected. -
provideRoute
@Nonnull Route provideRoute(@Nonnull String systemName, @CheckForNull String userName) throws IllegalArgumentException Provides existing Route by UserName then SystemName if one exists. Create a new Route if the route does not exist.- Parameters:
systemName- the system name for the routeuserName- the user name for the route- Returns:
- New or existing Route.
- Throws:
IllegalArgumentException- if there is trouble creating a new Route
-
newRoute
Create a new Route if the route does not exist. Intended for use with User GUI, to allow the auto generation of systemNames, where the user can optionally supply a username.- Parameters:
userName- user name for the new route- Returns:
- New Route.
- Throws:
IllegalArgumentException- if there is trouble creating a new Route
-
getRoute
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
Description copied from interface:ManagerLocate an existing instance based on a user name.- Specified by:
getByUserNamein interfaceManager<Route>- Parameters:
s- System Name of the required NamedBean- Returns:
- requested NamedBean object or null if none exists
-
getBySystemName
Description copied from interface:ManagerLocate an existing instance based on a system name.- Specified by:
getBySystemNamein interfaceManager<Route>- Parameters:
s- System Name of the required NamedBean- Returns:
- requested NamedBean object or null if none exists
-
deleteRoute
Delete Route by removing it from the manager. The Route must first be deactivated so it stops processing.- Parameters:
r- the route to remove
-