/ */ interface Workflow_ConditionInterface { /** * Get options attached to the condition. * * @return array condition options. */ public function getOptions(); /** * Set options for this condition. * * @param array $options condition options to set. */ public function setOptions(array $options); /** * Evaluate if this condition is satisfied for given transition and record. * * There is the option of passing an array of pending values to * consider when evaluating conditions. These would typically come * from a request as the user makes changes to the record. * * As the author of a condition class, you are encouraged to check for * these pending values to ensure the conditions are evaluated against * the most recent data (unless you are specifically concerned with * evaulating stored data). * * @param Workflow_Model_Transition $transition transition to evaluate this condition for. * @param P4Cms_Record $record record to evaluate this condition for. * @param array|null $pending optional - updated values to consider. * @return boolean true if this condition is satisfied for * transition and record, false otherwise. */ public function evaluate( Workflow_Model_Transition $transition, P4Cms_Record $record, array $pending = null); }