diff options
Diffstat (limited to 'buildscripts/phing/classes/phing/contrib/DocBlox/Parallel/Worker.php')
-rw-r--r-- | buildscripts/phing/classes/phing/contrib/DocBlox/Parallel/Worker.php | 203 |
1 files changed, 0 insertions, 203 deletions
diff --git a/buildscripts/phing/classes/phing/contrib/DocBlox/Parallel/Worker.php b/buildscripts/phing/classes/phing/contrib/DocBlox/Parallel/Worker.php deleted file mode 100644 index 338f4b25..00000000 --- a/buildscripts/phing/classes/phing/contrib/DocBlox/Parallel/Worker.php +++ /dev/null @@ -1,203 +0,0 @@ -<?php -/** - * DocBlox - * - * PHP Version 5 - * - * @category DocBlox - * @package Parallel - * @author Mike van Riel <mike.vanriel@naenius.com> - * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com) - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://docblox-project.org - */ - -/** - * Class that represents the execution of a single task within a parallelized - * frame. - * - * @category DocBlox - * @package Parallel - * @author Mike van Riel <mike.vanriel@naenius.com> - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link http://docblox-project.org - */ -class DocBlox_Parallel_Worker -{ - /** @var callback the task to execute for this worker */ - protected $task = null; - - /** @var mixed[] A list of argument to pass to the task */ - protected $arguments = array(); - - /** @var int The return code to tell the parent process how it went */ - protected $return_code = -1; - - /** @var mixed The result of the given task */ - protected $result = ''; - - /** @var string The error message, if an error occurred */ - protected $error = ''; - - /** - * Creates the worker and sets the task to execute optionally including - * the arguments that need to be passed to the task. - * - * @param callback $task The task to invoke upon execution. - * @param mixed[] $arguments The arguments to provide to the task. - */ - function __construct($task, array $arguments = array()) - { - $this->setTask($task); - $this->arguments = $arguments; - } - - /** - * Returns the list of arguments as provided int he constructor. - * - * @see DocBlox_Parallel_Worker::__construct() - * - * @return mixed[] - */ - public function getArguments() - { - return $this->arguments; - } - - /** - * Returns the task as provided in the constructor. - * - * @see DocBlox_Parallel_Worker::__construct() - * - * @return callback - */ - public function getTask() - { - return $this->task; - } - - /** - * Returns the available return code. - * - * This method may return -1 if no return code is available yet. - * - * @return int - */ - public function getReturnCode() - { - return $this->return_code; - } - - /** - * Sets the return code for this worker. - * - * Recommended is to use the same codes as are used with - * {@link http://www.gnu.org/software/bash/manual/html_node/Exit-Status.html - * exit codes}. - * - * In short: 0 means that the task succeeded and a any other positive value - * indicates an error condition. - * - * @param int $return_code Recommended to be a positive number - * - * @throw InvalidArgumentException if the code is not a number or negative - * - * @return void - */ - public function setReturnCode($return_code) - { - if (!is_numeric($return_code) || ($return_code < 0)) { - throw new InvalidArgumentException( - 'Expected the return code to be a positive number' - ); - } - - $this->return_code = $return_code; - } - - /** - * Returns the error message associated with the return code. - * - * @return string - */ - public function getError() - { - return $this->error; - } - - /** - * Sets the error message. - * - * @param string $error The error message. - * - * @return void - */ - public function setError($error) - { - $this->error = $error; - } - - /** - * Returns the result for this task run. - * - * @return null|mixed - */ - public function getResult() - { - return $this->result; - } - - /** - * Sets the result for this task run. - * - * @param mixed $result The value that is returned by the task; can be anything. - * - * @return void - */ - public function setResult($result) - { - $this->result = $result; - } - - /** - * Invokes the task with the given arguments and processes the output. - * - * @return void. - */ - public function execute() - { - $this->setReturnCode(0); - try { - $this->setResult( - call_user_func_array($this->getTask(), $this->getArguments()) - ); - } catch (Exception $e) { - $this->setError($e->getMessage()); - $this->setReturnCode($e->getCode()); - } - } - - /** - * Sets the task for this worker and validates whether it is callable. - * - * @param callback $task The task to execute when the execute method - * is invoked. - * - * @throws InvalidArgumentException if the given argument is not a callback. - * - * @see DocBlox_Parallel_Worker::__construct() - * @see DocBlox_Parallel_Worker::execute() - * - * @return void - */ - protected function setTask($task) - { - if (!is_callable($task)) { - throw new InvalidArgumentException( - 'Worker task is not a callable object' - ); - } - - $this->task = $task; - } -} |