de.jaetzold.util
Class BinaryOperatorStateDecider

java.lang.Object
  |
  +--de.jaetzold.util.BinaryOperatorStateDecider
All Implemented Interfaces:
StateDecider
Direct Known Subclasses:
StateDifferenceStateDecider

public class BinaryOperatorStateDecider
extends Object
implements StateDecider


Field Summary
protected  BinaryOperator operator
           
 
Constructor Summary
BinaryOperatorStateDecider()
           
BinaryOperatorStateDecider(BinaryOperator operator)
           
BinaryOperatorStateDecider(BinaryOperator operator, boolean cacheable)
           
 
Method Summary
 BinaryOperator getBinaryOperator()
           
 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 lastState, double newState)
          Return the next state.
 void setBinaryOperator(BinaryOperator operator)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

operator

protected BinaryOperator operator
Constructor Detail

BinaryOperatorStateDecider

public BinaryOperatorStateDecider()

BinaryOperatorStateDecider

public BinaryOperatorStateDecider(BinaryOperator operator)

BinaryOperatorStateDecider

public BinaryOperatorStateDecider(BinaryOperator operator,
                                  boolean cacheable)
Method Detail

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

nextStateValue

public double nextStateValue(double lastState,
                             double newState)
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()

getBinaryOperator

public BinaryOperator getBinaryOperator()

setBinaryOperator

public void setBinaryOperator(BinaryOperator operator)
                       throws PropertyVetoException