CER allows you to specify a value which would otherwise be calculated.
However, when using the RecalculationsProhibited strategy, CER will raise a runtime error if you try to specify the value of an attribute (on a particular rule object) more than once; once the value has been specified, it cannot be changed (as to do so might mean that previously-performed calculations would now be "wrong").
public void valueSpecifiedTwice() {
final FlexibleRetirementYear flexibleRetirementYear =
FlexibleRetirementYear_Factory.getFactory().newInstance(
session);
flexibleRetirementYear.retirementCause().specifyValue(
"Reached statutory retirement age.");
/**
* Will not work - the same attribute value cannot be specified
* a second time.
*
* CER will report the message: A value cannot be specified,
* as the current state of this calculator is 'SPECIFIED'.
*
* Do not attempt to specify the same value twice!
*/
flexibleRetirementYear.retirementCause().specifyValue(
"Lottery winner");
}