Exemple #1
0
 /**
  * Runs the command.
  *
  * @param \BLW\Type\Command\IInput $Input
  *            Input object to read data from.
  * @param \BLW\Type\Command\IOutput $Output
  *            Output object to write data to.
  * @param integer $flags
  *            Run flags.
  * @return mixed Result of command.
  */
 public function run(IInput $Input, IOutput $Output, $flags = ICommand::RUN_FLAGS)
 {
     // Is mediator set?
     if (($Mediator = $this->getMediator()) instanceof IMediator) {
         // Update Input
         $Input->setMediator($Mediator);
         $Input->setMediatorID($this->getMediatorID());
         // Update Output
         $Output->setMediator($Mediator);
         $Output->setMediatorID($this->getMediatorID());
     }
     // Perform pre run
     $this->doNotify(ICommand::RUN, array('flags' => &$flags));
     // Evaluate flags
     // .....
     // Perform run
     $start = new DateTime();
     $return = $this->doRun($Input, $Output);
     // Perform post run
     $this->doNotify(ICommand::SHUTDOWN, array('Result' => &$return, 'Start' => &$start));
     // Reset Input
     $Input->clearMediator();
     $Input->setMediatorID('*');
     // Reset Output
     $Output->clearMediator();
     $Output->setMediatorID('*');
     // Done
     return $return;
 }