Ejemplo n.º 1
0
 /**
  * @param IDefinition $definition
  * @param $command
  *
  * @return mixed
  * @throws InvalidCommandHandlerException
  */
 public function invoke(IDefinition $definition, $command)
 {
     $handler = $definition->getHandler();
     if ($this->isValidHandlerClass($handler)) {
         $handler = $this->createHandler($handler);
     }
     if ($this->isValidHandler($handler)) {
         return $this->invokeHandler($handler, $command);
     }
     throw new InvalidCommandHandlerException(s('Handler "%s" must implement method "handle($command)".', is_string($handler) ? $handler : get_type($handler)));
 }
Ejemplo n.º 2
0
 /**
  * @param IDefinition $definition
  */
 protected function addDefinition(IDefinition $definition)
 {
     $this->definitions[$definition->getType()] = $definition;
 }
Ejemplo n.º 3
0
 /**
  * @param IDefinition $definition
  * @param $command
  *
  * @return mixed
  */
 public function invoke(IDefinition $definition, $command)
 {
     return $this->invokeHandler($definition->getHandler(), $command);
 }