/** * @param AbstractVisitor $visitor * @param BernardTokenMessage $message * @param string $type * @param Context $context * @return array */ public function serializeMessage(AbstractVisitor $visitor, BernardTokenMessage $message, $type, Context $context) { $token = $message->getToken(); $tokenClass = get_class($token); $type = array('name' => $tokenClass, 'params' => array()); $data = array('args' => $context->accept($token, $type), 'class' => bernard_encode_class_name($tokenClass), 'name' => $message->getName(), 'queue' => $message->getQueue()); $visitor->setRoot($data); return $data; }
/** * @param AbstractVisitor $visitor * @param Token $token * @param string $type * @param Context $context * @return array */ public function serializeToken(AbstractVisitor $visitor, Token $token, $type, Context $context) { $data = []; foreach ($token->getData() as $key => $datum) { $datumType = $this->getType($datum); $type = ['name' => $datumType, 'params' => []]; $argsData = ''; if ($type['name'] === 'array') { $argsData = []; foreach ($datum as $arrayKey => $arrayData) { $arrayType = ['name' => $this->getType($arrayData), 'params' => []]; $argsData[] = ['key' => $arrayKey, 'args' => $context->accept($arrayData, $arrayType), 'type' => $arrayType]; } } else { $argsData = $context->accept($datum, $type); } $args = ['key' => $key, 'args' => $argsData, 'type' => $type]; $data[] = $args; } $data = array('data' => $data, 'location' => $token->getLocation()); $visitor->setRoot($data); return $data; }
public function __construct($namingStrategy) { parent::__construct($namingStrategy); $this->objectMetadataStack = new \SplStack(); }
public function __construct(PropertyNamingStrategyInterface $namingStrategy) { parent::__construct($namingStrategy); $this->writer = new Writer(); }