Class DefaultAverageMeter
- java.lang.Object
-
- jmri.implementation.AbstractNamedBean
-
- jmri.implementation.AbstractAnalogIO
-
- jmri.implementation.DefaultAverageMeter
-
- All Implemented Interfaces:
java.lang.Comparable<NamedBean>
,AnalogIO
,AverageMeter
,PropertyChangeProvider
,Meter
,NamedBean
public class DefaultAverageMeter extends AbstractAnalogIO implements AverageMeter
Abstract base class for average meter objects.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface jmri.AnalogIO
AnalogIO.AbsoluteOrRelative
-
Nested classes/interfaces inherited from interface jmri.Meter
Meter.Unit
-
Nested classes/interfaces inherited from interface jmri.NamedBean
NamedBean.BadNameException, NamedBean.BadSystemNameException, NamedBean.BadUserNameException, NamedBean.DisplayOptions, NamedBean.DuplicateSystemNameException
-
-
Field Summary
-
Fields inherited from class jmri.implementation.AbstractNamedBean
listenerRefs, mSystemName, register
-
Fields inherited from interface jmri.NamedBean
DISPLAY_NAME_FORMAT, INCONSISTENT, PROPERTY_COMMENT, PROPERTY_ENABLED, PROPERTY_KNOWN_STATE, PROPERTY_STATE, PROPERTY_USERNAME, QUOTED_NAME_FORMAT, UNKNOWN
-
-
Constructor Summary
Constructors Constructor Description DefaultAverageMeter(java.lang.String sys)
DefaultAverageMeter(java.lang.String sys, java.lang.String user)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
cutOutOfBoundsValues()
Cut out of bounds values instead of throwing an exception?void
disable()
Disable this metervoid
dispose()
Deactivate this object, so that it releases as many resources as possible and no longer effects others.void
enable()
Enable this meterAnalogIO.AbsoluteOrRelative
getAbsoluteOrRelative()
Is this AnalogIO absolute or relative?java.lang.String
getBeanType()
For instances in the code where we are dealing with just a bean and a message needs to be passed to the user or in a log.double
getKnownAnalogValue()
Query the known analog value.double
getMax()
Get the maximum value of this AnalogIO.Meter
getMeter()
Get the meter.double
getMin()
Get the minimum value of this AnalogIO.double
getResolution()
Get the resolution of this AnalogIO.int
getState()
Provide generic access to internal state.int
getTime()
Get the time in milliseconds to average on.Meter.Unit
getUnit()
void
requestUpdateFromLayout()
Request an update from the layout.protected void
sendValueToLayout(double value)
Sends the string to the layout.void
setMeter(Meter meter)
Set the meter.void
setState(int s)
Provide generic access to internal state.void
setTime(int time)
Set the time in milliseconds to average on.-
Methods inherited from class jmri.implementation.AbstractAnalogIO
compareSystemNameSuffix, getCommandedAnalogValue, getState, setCommandedAnalogValue, setState, setValue
-
Methods inherited from class jmri.implementation.AbstractNamedBean
addPropertyChangeListener, addPropertyChangeListener, addPropertyChangeListener, addPropertyChangeListener, describeState, equals, firePropertyChange, getComment, getDisplayName, getDisplayName, getListenerRef, getListenerRefs, getNumPropertyChangeListeners, getProperty, getPropertyChangeListeners, getPropertyChangeListeners, getPropertyChangeListenersByReference, getPropertyKeys, getSystemName, getUserName, hashCode, removeProperty, removePropertyChangeListener, removePropertyChangeListener, setComment, setProperty, setUserName, toString, toStringSuffix, updateListenerRef, vetoableChange
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface jmri.AnalogIO
getCommandedAnalogValue, getState, isConsistentValue, setCommandedAnalogValue, setState
-
Methods inherited from interface jmri.NamedBean
addPropertyChangeListener, addPropertyChangeListener, compareSystemNameSuffix, compareTo, describeState, getComment, getDisplayName, getDisplayName, getListenerRef, getListenerRefs, getNumPropertyChangeListeners, getProperty, getPropertyChangeListenersByReference, getPropertyKeys, getRecommendedToolTip, getSystemName, getUsageReport, getUserName, removeProperty, setComment, setProperty, setUserName, toString, updateListenerRef, vetoableChange
-
Methods inherited from interface jmri.beans.PropertyChangeProvider
addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
-
-
-
-
Constructor Detail
-
DefaultAverageMeter
public DefaultAverageMeter(@Nonnull java.lang.String sys)
-
DefaultAverageMeter
public DefaultAverageMeter(@Nonnull java.lang.String sys, java.lang.String user)
-
-
Method Detail
-
sendValueToLayout
protected void sendValueToLayout(double value) throws JmriException
Sends the string to the layout. The string [u]must not[/u] be longer than the value of getMaximumLength() unless that value is zero. Some microcomputers have little memory and it's very important that this method is never called with too long strings.Override this if the meter can send value to the layout.
- Specified by:
sendValueToLayout
in classAbstractAnalogIO
- Parameters:
value
- the desired string value- Throws:
JmriException
- general error when setting the value fails
-
cutOutOfBoundsValues
protected boolean cutOutOfBoundsValues()
Cut out of bounds values instead of throwing an exception? For example, if the AnalogIO is a display, it could be desired to accept too long strings. On the other hand, if the AnalogIO is used to send a command, a too long string is an error.- Specified by:
cutOutOfBoundsValues
in classAbstractAnalogIO
- Returns:
- true if long strings should be cut
-
setState
public void setState(int s) throws JmriException
Provide generic access to internal state.This generally shouldn't be used by Java code; use the class-specific form instead (e.g. setCommandedState in Turnout). This is provided to make scripts access easier to read.
- Specified by:
setState
in interfaceNamedBean
- Parameters:
s
- the state- Throws:
JmriException
- general error when setting the state fails
-
getState
public int getState()
Provide generic access to internal state.This generally shouldn't be used by Java code; use the class-specific form instead (e.g. getCommandedState in Turnout). This is provided to make scripts easier to read.
-
getBeanType
public java.lang.String getBeanType()
For instances in the code where we are dealing with just a bean and a message needs to be passed to the user or in a log.- Specified by:
getBeanType
in interfaceNamedBean
- Overrides:
getBeanType
in classAbstractAnalogIO
- Returns:
- a string of the bean type, eg Turnout, Sensor etc
-
getUnit
public Meter.Unit getUnit()
-
getMin
public double getMin()
Get the minimum value of this AnalogIO.
-
getMax
public double getMax()
Get the maximum value of this AnalogIO.
-
getResolution
public double getResolution()
Get the resolution of this AnalogIO.- Specified by:
getResolution
in interfaceAnalogIO
- Returns:
- analog resolution.
-
getAbsoluteOrRelative
public AnalogIO.AbsoluteOrRelative getAbsoluteOrRelative()
Is this AnalogIO absolute or relative?- Specified by:
getAbsoluteOrRelative
in interfaceAnalogIO
- Returns:
- if absolute or relative.
-
requestUpdateFromLayout
public void requestUpdateFromLayout()
Request an update from the layout.- Specified by:
requestUpdateFromLayout
in interfaceAnalogIO
-
getTime
public int getTime()
Description copied from interface:AverageMeter
Get the time in milliseconds to average on.- Specified by:
getTime
in interfaceAverageMeter
- Returns:
- the time
-
setTime
public void setTime(int time)
Description copied from interface:AverageMeter
Set the time in milliseconds to average on.- Specified by:
setTime
in interfaceAverageMeter
- Parameters:
time
- the time
-
getMeter
public Meter getMeter()
Description copied from interface:AverageMeter
Get the meter.- Specified by:
getMeter
in interfaceAverageMeter
- Returns:
- the meter
-
setMeter
public void setMeter(Meter meter)
Description copied from interface:AverageMeter
Set the meter.- Specified by:
setMeter
in interfaceAverageMeter
- Parameters:
meter
- the meter
-
getKnownAnalogValue
public double getKnownAnalogValue()
Query the known analog value. This is a bound parameter, so you can also register a listener to be informed of changes. A result is always returned; if no other feedback method is available, the commanded value will be used.The result must be a valid number, not a NaN or infinity number.
- Specified by:
getKnownAnalogValue
in interfaceAnalogIO
- Overrides:
getKnownAnalogValue
in classAbstractAnalogIO
- Returns:
- the known analog value
-
dispose
public void dispose()
Deactivate this object, so that it releases as many resources as possible and no longer effects others.For example, if this object has listeners, after a call to this method it should no longer notify those listeners. Any native or system-wide resources it maintains should be released, including threads, files, etc.
It is an error to invoke any other methods on this object once dispose() has been called. Note, however, that there is no guarantee about behavior in that case.
Afterwards, references to this object may still exist elsewhere, preventing its garbage collection. But it's formally dead, and shouldn't be keeping any other objects alive. Therefore, this method should null out any references to other objects that this NamedBean contained.
- Specified by:
dispose
in interfaceAverageMeter
- Specified by:
dispose
in interfaceMeter
- Specified by:
dispose
in interfaceNamedBean
- Overrides:
dispose
in classAbstractNamedBean
-
-