Exemplo n.º 1
0
 /**
  * Converte cada um dos tokens em um elemento.
  * É considerado token a sequência de texto separado por ';'
  *
  * @param string $content
  * @return Element[]
  * */
 public static function tokenize($content)
 {
     $tokens = array();
     foreach (json_decode($content) as $element) {
         $tokens[] = Element::factory($element);
     }
     reset($tokens);
     return $tokens;
 }
Exemplo n.º 2
0
 /**
  * Fábrica de Command.
  *
  * @param Language $language
  * @param Element $element
  * @return Command
  * @throws IllegalArgumentException
  * */
 public static function factory(Language $laguage, Element $element)
 {
     # formata nome da linguagem e do command para uso
     $language = strtolower($laguage->name());
     $command = ucfirst($element->type());
     # monta o namespace do commando alvo levando em consideracao a
     # linguagem inforamda
     $namespace = sprintf('br\\gov\\sial\\core\\mvcb\\view\\skeleton\\%s\\command\\%s', $language, $command);
     $message = sprintf(self::UNAVAILABLE_COMMAND, $language, $command);
     IllegalArgumentException::throwsExceptionIfParamIsNull(self::isAvailable($namespace), $message);
     return new $namespace($laguage, $element);
 }