* Creates an instance of a configurable cruncher state and sets it in the
* given cruncher instance.
*
- * @param $stateName Name of the state
+ * @param $stateName Name of the state
* @param $cruncherInstance A CruncherHelper class instance
- * @return $stateInstance A Stateable class instance
+ * @return $stateInstance A Stateable class instance
*/
- public static final function createCruncherStateInstanceByName ($stateName, CruncherHelper $cruncherInstance) {
+ public static final function createCruncherStateInstanceByName ($stateName) {
// Then construct the class' configuraton entry
$className = 'cruncher_' . $stateName . '_state_class';
+ // Get cruncher instance from registry
+ $cruncherInstance = Registry::getRegistry()->getInstance('cruncher');
+
// Get a class from that configuration entry
- $stateInstance = self::createObjectByConfiguredName($className, array($cruncherInstance));
+ $stateInstance = self::createObjectByConfiguredName($className);
+
+ // Debug message
+ self::createDebugInstance(__CLASS__)->debugOutput('CRUNCHER-STATE-FACTORY[' . __METHOD__ . ':' . __LINE__ . ']: Cruncher state has changed from ' . $cruncherInstance->getPrintableState() . ' to ' . $stateInstance->getStateName() . '.');
// Once we have that state, set it in the cruncher instance
$cruncherInstance->setStateInstance($stateInstance);