eZ\Publish\Core\REST\Server\Output\ValueObjectVisitor\RestObjectState::visit PHP Method

visit() public method

Visit struct returned by controllers.
public visit ( Visitor $visitor, Generator $generator, RestObjectState $data )
$visitor eZ\Publish\Core\REST\Common\Output\Visitor
$generator eZ\Publish\Core\REST\Common\Output\Generator
$data eZ\Publish\Core\REST\Common\Values\RestObjectState
    public function visit(Visitor $visitor, Generator $generator, $data)
    {
        $generator->startObjectElement('ObjectState');
        $visitor->setHeader('Content-Type', $generator->getMediaType('ObjectState'));
        $visitor->setHeader('Accept-Patch', $generator->getMediaType('ObjectStateUpdate'));
        $generator->startAttribute('href', $this->router->generate('ezpublish_rest_loadObjectState', array('objectStateGroupId' => $data->groupId, 'objectStateId' => $data->objectState->id)));
        $generator->endAttribute('href');
        $generator->startValueElement('id', $data->objectState->id);
        $generator->endValueElement('id');
        $generator->startValueElement('identifier', $data->objectState->identifier);
        $generator->endValueElement('identifier');
        $generator->startValueElement('priority', $data->objectState->priority);
        $generator->endValueElement('priority');
        $generator->startObjectElement('ObjectStateGroup');
        $generator->startAttribute('href', $this->router->generate('ezpublish_rest_loadObjectStateGroup', array('objectStateGroupId' => $data->groupId)));
        $generator->endAttribute('href');
        $generator->endObjectElement('ObjectStateGroup');
        $generator->startValueElement('defaultLanguageCode', $data->objectState->defaultLanguageCode);
        $generator->endValueElement('defaultLanguageCode');
        $generator->startValueElement('languageCodes', implode(',', $data->objectState->languageCodes));
        $generator->endValueElement('languageCodes');
        $this->visitNamesList($generator, $data->objectState->getNames());
        $this->visitDescriptionsList($generator, $data->objectState->getDescriptions());
        $generator->endObjectElement('ObjectState');
    }

Usage Example

 /**
  * Visit struct returned by controllers
  *
  * @param \eZ\Publish\Core\REST\Common\Output\Visitor $visitor
  * @param \eZ\Publish\Core\REST\Common\Output\Generator $generator
  * @param \eZ\Publish\Core\REST\Server\Values\CreatedObjectState $data
  */
 public function visit(Visitor $visitor, Generator $generator, $data)
 {
     parent::visit($visitor, $generator, $data->objectState);
     $visitor->setHeader('Location', $this->router->generate('ezpublish_rest_loadObjectState', array('objectStateGroupId' => $data->objectState->groupId, 'objectStateId' => $data->objectState->objectState->id)));
     $visitor->setStatus(201);
 }
RestObjectState