Package jmri.jmrix.internal
Class InternalSystemConnectionMemo
java.lang.Object
jmri.beans.UnboundBean
jmri.beans.Bean
jmri.jmrix.DefaultSystemConnectionMemo
jmri.jmrix.internal.InternalSystemConnectionMemo
- All Implemented Interfaces:
BeanInterface
,PropertyChangeFirer
,PropertyChangeProvider
,Disposable
,InstanceManagerAutoDefault
,SystemConnectionMemo
public class InternalSystemConnectionMemo extends DefaultSystemConnectionMemo implements InstanceManagerAutoDefault
Lightweight class to denote that a system is active, and provide general
information.
Things this needed to do:
- One of these must be automatically, transparently available - this is done by inheriting from jmri.InstanceManagerAutoDefault
- It must be possible to have more than one of these, so you can have multiple internal systems defined - each one keeps internal references to its objects
- It must make sure that its objects are available individually through the instance manager.
- But it also has to handle the ProxyManager special cases in the InstanceManager
-
Field Summary
Fields Modifier and Type Field Description (package private) boolean
configured
(package private) boolean
defaultInstanceType
Fields inherited from interface jmri.SystemConnectionMemo
DISABLED, INTERVAL, SYSTEM_PREFIX, USER_NAME
-
Constructor Summary
Constructors Constructor Description InternalSystemConnectionMemo()
InternalSystemConnectionMemo(boolean defaultInstanceType)
InternalSystemConnectionMemo(String prefix, String name)
InternalSystemConnectionMemo(String prefix, String name, boolean defaultInstanceType)
-
Method Summary
Methods inherited from class jmri.jmrix.DefaultSystemConnectionMemo
addToActionList, deregister, getActionFactory, getDefaultOutputInterval, getDisabled, getOutputInterval, getSystemPrefix, getUserName, isDirty, isRestartRequired, register, removeFromActionList, setConsistManager, setDisabled, setOutputInterval, setSystemPrefix, setUserName, store
Methods inherited from class jmri.beans.Bean
addPropertyChangeListener, addPropertyChangeListener, fireIndexedPropertyChange, fireIndexedPropertyChange, fireIndexedPropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getPropertyChangeListeners, getPropertyChangeListeners, isNotifyOnEDT, removePropertyChangeListener, removePropertyChangeListener
Methods inherited from class jmri.beans.UnboundBean
getIndexedProperty, getProperty, getPropertyNames, hasIndexedProperty, hasProperty, setIndexedProperty, setProperty
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface jmri.beans.PropertyChangeProvider
addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
-
Field Details
-
configured
boolean configured -
defaultInstanceType
boolean defaultInstanceType
-
-
Constructor Details
-
Method Details
-
configureManagers
Configure the common managers for Internal connections. This puts the common manager config in one place.Note: The Proxy system can cause some managers to be created early. We don't call configureManagers in that case, as it causes an infinite loop.
-
getSensorManager
-
getLightManager
-
getReporterManager
-
getTurnoutManager
-
getMeterManager
-
getAnalogIOManager
-
getStringIOManager
-
getPowerManager
-
getConsistManager
Description copied from class:DefaultSystemConnectionMemo
Provide access to the ConsistManager for this particular connection.- Overrides:
getConsistManager
in classDefaultSystemConnectionMemo
- Returns:
- the provided ConsistManager or null if the connection does not provide a ConsistManager
-
getThrottleManager
-
getProgrammerManager
-
provides
Description copied from class:DefaultSystemConnectionMemo
Check if this connection provides a specific manager type. This method must return false if a manager for the specific type is not provided, and must return true if a manager for the specific type is provided.- Specified by:
provides
in interfaceSystemConnectionMemo
- Overrides:
provides
in classDefaultSystemConnectionMemo
- Parameters:
type
- The class type for the manager to be provided- Returns:
- true if the specified manager is provided
- See Also:
DefaultSystemConnectionMemo.get(java.lang.Class)
-
get
Description copied from class:DefaultSystemConnectionMemo
Get a manager for a specific type. This method must return a non-null value ifDefaultSystemConnectionMemo.provides(java.lang.Class)
is true for the type, and must return null if provides() is false for the type.- Specified by:
get
in interfaceSystemConnectionMemo
- Overrides:
get
in classDefaultSystemConnectionMemo
- Type Parameters:
T
- Type of manager to get- Parameters:
type
- Type of manager to get- Returns:
- The manager or null if provides() is false for T
- See Also:
DefaultSystemConnectionMemo.provides(java.lang.Class)
-
getActionModelResourceBundle
- Specified by:
getActionModelResourceBundle
in classDefaultSystemConnectionMemo
-
getNamedBeanComparator
Description copied from class:DefaultSystemConnectionMemo
Get the Comparator to be used for two NamedBeans. This is typically anNamedBeanComparator
, but may be any Comparator that works for this connection type.- Specified by:
getNamedBeanComparator
in interfaceSystemConnectionMemo
- Specified by:
getNamedBeanComparator
in classDefaultSystemConnectionMemo
- Type Parameters:
B
- the type of NamedBean- Parameters:
type
- the class of NamedBean- Returns:
- the Comparator
-
dispose
Description copied from interface:Disposable
Called when disposing of a disposable.Note there are no assurances this method will not be called multiple times against a single instance of this Disposable. It is the responsibility of this Disposable to protect itself and the application from ensuring that calling this method multiple times has no unwanted side effects.
- Specified by:
dispose
in interfaceDisposable
- Specified by:
dispose
in interfaceSystemConnectionMemo
- Overrides:
dispose
in classDefaultSystemConnectionMemo
-