/** * Parses a control word token * * @param Jstewmc\Rtf\Token\Control\Word $token the control word token * @param Jstewmc\Rtf\Element\Group $group the current group * @return void * @since 0.1.0 */ protected function parseControlWord(Token\Control\Word $token, Element\Group $group) { // if a class exists for the control word $filename = ucfirst($token->getWord()); $classname = "Jstewmc\\Rtf\\Element\\Control\\Word\\{$filename}"; if (class_exists($classname)) { // instantiate the control word element and break $word = new $classname(); } else { // otherwise, instantiate a generic control word $word = new Element\Control\Word\Word(); $word->setWord($token->getWord()); } // set the element's parameter $word->setParameter($token->getParameter()); $word->setIsSpaceDelimited($token->getIsSpaceDelimited()); // append the element $word->setParent($group); $group->appendChild($word); return; }