-
- Type Parameters:
E
- the type of NamedBean supported by this manager
- All Superinterfaces:
Manager<E>
,PropertyChangeProvider
,SilenceablePropertyChangeProvider
,VetoableChangeProvider
- All Known Subinterfaces:
IdTagManager
,LightManager
,MemoryManager
,RailComManager
,ReporterManager
,RouteManager
,SensorManager
,SignalMastManager
,TurnoutManager
- All Known Implementing Classes:
AbstractLightManager
,AbstractMemoryManager
,AbstractProvidingProxyManager
,AbstractReporterManager
,AbstractSensorManager
,AbstractTurnoutManager
,AcelaLightManager
,AcelaSensorManager
,AcelaTurnoutManager
,BiDiBLightManager
,BiDiBReporterManager
,BiDiBSensorManager
,BiDiBTurnoutManager
,BlockManager
,CbusLightManager
,CbusReporterManager
,CbusSensorManager
,CbusTurnoutManager
,ConcentratorReporterManager
,ConcentratorSensorManager
,Dcc4PcReporterManager
,Dcc4PcSensorManager
,DCCppLightManager
,DCCppSensorManager
,DCCppTurnoutManager
,DefaultIdTagManager
,DefaultMemoryManager
,DefaultRailComManager
,DefaultRouteManager
,DefaultSignalMastManager
,EasyDccTurnoutManager
,EcosReporterManager
,EcosSensorManager
,EcosTurnoutManager
,EliteXNetTurnoutManager
,InternalLightManager
,InternalReporterManager
,InternalSensorManager
,InternalTurnoutManager
,IpocsLightManager
,IpocsSensorManager
,IpocsTurnoutManager
,JMRIClientLightManager
,JMRIClientReporterManager
,JMRIClientSensorManager
,JMRIClientTurnoutManager
,LnLightManager
,LnReporterManager
,LnSensorManager
,LnSensorManager
,LnTurnoutManager
,MarklinSensorManager
,MarklinTurnoutManager
,MqttLightManager
,MqttReporterManager
,MqttSensorManager
,MqttTurnoutManager
,MrcTurnoutManager
,Mx1TurnoutManager
,NceLightManager
,NceSensorManager
,NceTurnoutManager
,OBlockManager
,OlcbLightManager
,OlcbReporterManager
,OlcbSensorManager
,OlcbTurnoutManager
,ProxyIdTagManager
,ProxyLightManager
,ProxyReporterManager
,ProxySensorManager
,ProxyTurnoutManager
,RaspberryPiSensorManager
,RaspberryPiTurnoutManager
,RfidReporterManager
,RfidSensorManager
,RpsReporterManager
,RpsSensorManager
,SerialLightManager
,SerialLightManager
,SerialLightManager
,SerialLightManager
,SerialLightManager
,SerialLightManager
,SerialSensorManager
,SerialSensorManager
,SerialSensorManager
,SerialSensorManager
,SerialSensorManager
,SerialSensorManager
,SerialTurnoutManager
,SerialTurnoutManager
,SerialTurnoutManager
,SerialTurnoutManager
,SerialTurnoutManager
,SerialTurnoutManager
,SerialTurnoutManager
,SpecificLightManager
,SpecificLightManager
,SpecificLightManager
,SpecificLightManager
,SpecificLightManager
,SpecificSensorManager
,SpecificSensorManager
,SpecificSensorManager
,SpecificSensorManager
,SprogTurnoutManager
,SRCPSensorManager
,SRCPTurnoutManager
,StandaloneReporterManager
,StandaloneSensorManager
,TamsSensorManager
,TamsTurnoutManager
,TranspondingTagManager
,UsbLightManager
,XBeeLightManager
,XBeeSensorManager
,XBeeTurnoutManager
,XNetLightManager
,XNetSensorManager
,XNetTurnoutManager
,XpaTurnoutManager
,Z21ReporterManager
,Z21SensorManager
,Z21XNetTurnoutManager
,ZTC611XNetTurnoutManager
public interface ProvidingManager<E extends NamedBean> extends Manager<E>
-
-
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, REPORTERS, ROUTES, SECTIONS, SENSORGROUPS, SENSORS, SIGNALGROUPS, SIGNALHEADS, SIGNALMASTLOGICS, SIGNALMASTS, STRINGIOS, TIMEBASE, TRANSITS, TURNOUTS, WARRANTS
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description E
provide(java.lang.String name)
Get an existing instance via user name, then system name; if no matching instance is found, create a new NameBean from the system name.-
Methods inherited from interface jmri.Manager
addDataListener, deleteBean, deregister, dispose, getBeanTypeHandled, getBeanTypeHandled, getBySystemName, getByUserName, 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, 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.beans.VetoableChangeProvider
addVetoableChangeListener, addVetoableChangeListener, getVetoableChangeListeners, getVetoableChangeListeners, removeVetoableChangeListener, removeVetoableChangeListener
-
-
-
-
Method Detail
-
provide
@Nonnull E provide(@Nonnull java.lang.String name) throws java.lang.IllegalArgumentException
Get an existing instance via user name, then system name; if no matching instance is found, create a new NameBean from the system name.If the name is a valid system name, it will be used for the new NamedBean. Otherwise, the
Manager.makeSystemName(java.lang.String)
method will attempt to turn it into a valid system name which the manager will attempt to use. If that fails, an exception is thrown.This is similar to the specific methods found in certain type-specific managers:
TurnoutManager.provideTurnout(java.lang.String)
,SensorManager.provideSensor(java.lang.String)
, et al. Those might be more mnemonic; this one is more generic. Neither is preferred nor deprecated; use your choice.- Parameters:
name
- User name, system name, or address which can be promoted to system name- Returns:
- Never null
- Throws:
java.lang.IllegalArgumentException
- if NamedBean doesn't already exist and the manager cannot create it due to an illegal name or name that can't be parsed.
-
-