Package jmri.managers
Class ProxyMeterManager
- java.lang.Object
-
- jmri.beans.PropertyChangeSupport
-
- jmri.beans.VetoableChangeSupport
-
- jmri.managers.AbstractProxyManager<Meter>
-
- jmri.managers.ProxyMeterManager
-
- All Implemented Interfaces:
java.beans.PropertyChangeListener,java.util.EventListener,PropertyChangeFirer,PropertyChangeProvider,SilenceablePropertyChangeProvider,VetoableChangeFirer,VetoableChangeProvider,HasAverageMeter,Manager<Meter>,Manager.ManagerDataListener<Meter>,MeterManager,ProxyManager<Meter>
public class ProxyMeterManager extends AbstractProxyManager<Meter> implements MeterManager, HasAverageMeter
Implementation of a MeterManager that can serve as a proxy for multiple system-specific implementations.
-
-
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.AbstractProxyManager
defaultManager, listeners, silenceableProperties, silencedProperties
-
Fields inherited from class jmri.beans.VetoableChangeSupport
vetoableChangeSupport
-
Fields inherited from class jmri.beans.PropertyChangeSupport
propertyChangeSupport
-
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
-
-
Constructor Summary
Constructors Constructor Description ProxyMeterManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Manager<Meter>createSystemManager(SystemConnectionMemo memo)Try to create a system manager.If this proxy manager is able to create a system manager, the concrete class must implement this method.voiddispose()Free resources when no longer used.java.lang.StringgetBeanTypeHandled(boolean plural)Get the user-readable name of the type of NamedBean handled by this manager.MetergetBySystemName(java.lang.String systemName)Locate an existing instance based on a system name.MetergetByUserName(java.lang.String userName)Locate an existing instance based on a user name.java.lang.Class<Meter>getNamedBeanClass()Get the class of NamedBean supported by this Manager.intgetXMLOrder()Determine the order that types should be written when storing panel files.protected MeterManagermakeInternalManager()Create specific internal manager as needed for concrete type.AverageMeternewAverageMeter(java.lang.String sysName, java.lang.String userName, Meter m)Get an AverageMeter for the meter m.voidpropertyChange(java.beans.PropertyChangeEvent e)-
Methods inherited from class jmri.managers.AbstractProxyManager
addDataListener, addManager, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, addVetoableChangeListener, contentsChanged, createSystemName, createSystemName, deleteBean, deregister, getDefaultManager, getDisplayOrderManagerList, getEntryToolTip, getInternalManager, getKnownBeanProperties, getManager, getManagerList, getManagerOrDefault, getMemo, getNamedBean, getNamedBeanSet, getNextValidSystemName, getObjectCount, getSystemPrefix, initInternal, intervalAdded, intervalRemoved, makeSystemName, recomputeNamedBeanSet, register, removeDataListener, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, removeVetoableChangeListener, setDataListenerMute, setPropertyChangesSilenced, typeLetter, validateSystemNameFormat, validSystemNameFormat
-
Methods inherited from class jmri.beans.VetoableChangeSupport
fireVetoableChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, getVetoableChangeListeners, getVetoableChangeListeners
-
Methods inherited from class jmri.beans.PropertyChangeSupport
fireIndexedPropertyChange, fireIndexedPropertyChange, fireIndexedPropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getPropertyChangeListeners, getPropertyChangeListeners
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface jmri.Manager
addDataListener, deleteBean, deregister, getBeanTypeHandled, getEntryToolTip, getKnownBeanProperties, getMemo, getNamedBean, getNamedBeanSet, getObjectCount, getSubSystemNamePrefix, getSystemNamePrefix, getSystemPrefix, 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
-
-
-
-
Constructor Detail
-
ProxyMeterManager
public ProxyMeterManager()
-
-
Method Detail
-
getXMLOrder
public int getXMLOrder()
Description copied from interface:ManagerDetermine 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:
getXMLOrderin interfaceManager<Meter>- Returns:
- write order for this Manager; larger is later.
-
makeInternalManager
protected MeterManager makeInternalManager()
Description copied from class:AbstractProxyManagerCreate specific internal manager as needed for concrete type.- Specified by:
makeInternalManagerin classAbstractProxyManager<Meter>- Returns:
- an internal manager
-
getBeanTypeHandled
@Nonnull public java.lang.String getBeanTypeHandled(boolean plural)
Description copied from interface:ManagerGet 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:
getBeanTypeHandledin interfaceManager<Meter>- 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
-
getNamedBeanClass
public java.lang.Class<Meter> getNamedBeanClass()
Get the class of NamedBean supported by this Manager. This should be the generic class used in the Manager's class declaration.- Specified by:
getNamedBeanClassin interfaceManager<Meter>- Returns:
- the class supported by this Manager.
-
getBySystemName
@CheckReturnValue @CheckForNull public Meter getBySystemName(@Nonnull java.lang.String systemName)
Description copied from class:AbstractProxyManagerLocate an existing instance based on a system name.- Specified by:
getBySystemNamein interfaceManager<Meter>- Overrides:
getBySystemNamein classAbstractProxyManager<Meter>- Parameters:
systemName- System Name of the required NamedBean- Returns:
- requested NamedBean object or null if none exists
-
getByUserName
@CheckForNull public Meter getByUserName(@Nonnull java.lang.String userName)
Locate an existing instance based on a user name.- Specified by:
getByUserNamein interfaceManager<Meter>- Overrides:
getByUserNamein classAbstractProxyManager<Meter>- Parameters:
userName- System Name of the required NamedBean- Returns:
- requested NamedBean object or null if none exists
-
createSystemManager
protected Manager<Meter> createSystemManager(@Nonnull SystemConnectionMemo memo)
Try to create a system manager.If this proxy manager is able to create a system manager, the concrete class must implement this method.- Overrides:
createSystemManagerin classAbstractProxyManager<Meter>- Parameters:
memo- the system connection memo for this connection- Returns:
- the new manager or null if it's not possible to create the manager
-
propertyChange
public void propertyChange(java.beans.PropertyChangeEvent e)
Description copied from class:AbstractProxyManager- Specified by:
propertyChangein interfacejava.beans.PropertyChangeListener- Overrides:
propertyChangein classAbstractProxyManager<Meter>
-
dispose
public void dispose()
Free resources when no longer used. Specifically, remove all references to and from this object, so it can be garbage-collected.
-
newAverageMeter
public AverageMeter newAverageMeter(java.lang.String sysName, java.lang.String userName, Meter m)
Description copied from interface:HasAverageMeterGet an AverageMeter for the meter m.- Specified by:
newAverageMeterin interfaceHasAverageMeter- Parameters:
sysName- the system nameuserName- the user namem- the meter to base the average on.- Returns:
- an AverageMeter.
-
-