de.jaetzold.util
Class TransitionMatrixStateDecider

java.lang.Object
  |
  +--de.jaetzold.util.TransitionMatrixStateDecider
All Implemented Interfaces:
StateDecider
Direct Known Subclasses:
RCXRawSwitchStateDecider, RCXRotationCountStateDecider

public class TransitionMatrixStateDecider
extends Object
implements StateDecider


Constructor Summary
TransitionMatrixStateDecider()
           
TransitionMatrixStateDecider(int[][] matrix)
           
TransitionMatrixStateDecider(StateDecider[] matrix)
           
 
Method Summary
 StateDecider[] getDeciders()
           
 StateDecider getDeciders(int index)
           
 boolean isCacheable()
          Tells whether this instance will in the future produce the same state for the same value argument, independent of the actualState.
 double nextStateValue(double actualState, double value)
          Return the next state.
 void setDeciders(int index, StateDecider decider)
           
 void setDeciders(StateDecider[] matrix)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TransitionMatrixStateDecider

public TransitionMatrixStateDecider()

TransitionMatrixStateDecider

public TransitionMatrixStateDecider(StateDecider[] matrix)

TransitionMatrixStateDecider

public TransitionMatrixStateDecider(int[][] matrix)
Method Detail

nextStateValue

public double nextStateValue(double actualState,
                             double value)
Description copied from interface: StateDecider
Return the next state. The result may depend on the given actualState and the current value but is allowed to depend on anything else. Be sure to have isCacheable() return a correct result then.
Specified by:
nextStateValue in interface StateDecider
Following copied from interface: de.jaetzold.util.StateDecider
See Also:
StateDecider.isCacheable()

isCacheable

public boolean isCacheable()
Description copied from interface: StateDecider
Tells whether this instance will in the future produce the same state for the same value argument, independent of the actualState. This can be false first and then true at a later time, but it is not legal to return false here after a return of true in the past, because the true answer before was wrong then.
Specified by:
isCacheable in interface StateDecider
Following copied from interface: de.jaetzold.util.StateDecider
Returns:
true if this instance guarantees, that any further call to nextStateValue() with the same value-argument returns the same state

getDeciders

public StateDecider getDeciders(int index)

getDeciders

public StateDecider[] getDeciders()

setDeciders

public void setDeciders(int index,
                        StateDecider decider)
                 throws PropertyVetoException

setDeciders

public void setDeciders(StateDecider[] matrix)
                 throws PropertyVetoException