<?php namespace JMS\Serializer; /** * Handles traversal along the object graph. * * This class handles traversal along the graph, and calls different methods * on visitors, or custom handlers to process its nodes. * * @author Asmir Mustafic <goetas@gmail.com> */ interface GraphNavigatorInterface { const DIRECTION_SERIALIZATION = 1; const DIRECTION_DESERIALIZATION = 2; /** * Called for each node of the graph that is being traversed. * * @param mixed $data the data depends on the direction, and type of visitor * @param null|array $type array has the format ["name" => string, "params" => array] * @param Context $context * @return mixed the return value depends on the direction, and type of visitor */ public function accept($data, array $type = null, Context $context); }