public class PercentageInStateStat
extends java.lang.Object
implements java.beans.PropertyChangeListener
Modifier and Type | Field and Description |
---|---|
protected java.lang.Object |
currentState |
private java.lang.Object |
initialState |
protected double |
lastTime |
private java.text.NumberFormat |
numberFormat |
private java.lang.String |
propertyName |
protected int |
stateNameLength |
protected java.util.Map<java.lang.Object,java.lang.Double> |
stateStats |
Constructor and Description |
---|
PercentageInStateStat(java.lang.String propertyName)
Does not set the initial state.
|
PercentageInStateStat(java.lang.String propertyName,
java.lang.Object initialState)
Instantiate a PercentageInState with given name and initial state
|
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
getCurrentState() |
java.lang.Object |
getInitialState() |
double |
getLastTime() |
java.text.NumberFormat |
getNumberFormat() |
java.lang.Object[] |
getObservedStates() |
double |
getPercentageFor(java.lang.Object state) |
java.lang.String |
getPropertyName() |
int |
getStateNameLength() |
java.util.Map<java.lang.Object,java.lang.Double> |
getStateStats() |
void |
newObservation(java.lang.Object newState)
Update statistics on old state; set newState and lastTime
|
void |
propertyChange(java.beans.PropertyChangeEvent propertyChangeEvent)
If this is my state name, call newObservation() with newValue
|
void |
reset()
Should be called after Schedule.reset().
|
void |
setInitialState(java.lang.Object initialState) |
void |
setNumberFormat(java.text.NumberFormat numberFormat) |
void |
setPropertyName(java.lang.String propertyName) |
java.lang.String |
stateString() |
private java.text.NumberFormat numberFormat
private java.lang.Object initialState
private java.lang.String propertyName
protected java.util.Map<java.lang.Object,java.lang.Double> stateStats
protected java.lang.Object currentState
protected double lastTime
protected int stateNameLength
public PercentageInStateStat(java.lang.String propertyName, java.lang.Object initialState)
propertyName
- Name of the property to be listened forinitialState
- Initial state, set in reset()public PercentageInStateStat(java.lang.String propertyName)
propertyName
- Name of the property to be listened forpublic final void reset()
public void propertyChange(java.beans.PropertyChangeEvent propertyChangeEvent)
propertyChange
in interface java.beans.PropertyChangeListener
propertyChangeEvent
- Heard PropertyChangeEventpublic void newObservation(java.lang.Object newState)
newState
- New Statepublic java.lang.Object getInitialState()
public final void setInitialState(java.lang.Object initialState)
public java.lang.String stateString()
public java.util.Map<java.lang.Object,java.lang.Double> getStateStats()
public java.lang.Object getCurrentState()
public java.lang.String getPropertyName()
public final void setPropertyName(java.lang.String propertyName)
public double getLastTime()
public java.lang.Object[] getObservedStates()
public double getPercentageFor(java.lang.Object state)
public int getStateNameLength()
public java.text.NumberFormat getNumberFormat()
public final void setNumberFormat(java.text.NumberFormat numberFormat)