eZ\Publish\Core\REST\Server\Input\Parser\Criterion\UserMetadata::parse PHP Method

parse() public method

Parses input structure to a Criterion object.
public parse ( array $data, ParsingDispatcher $parsingDispatcher ) : eZ\Publish\API\Repository\Values\Content\Query\Criterion\UserMetadata
$data array
$parsingDispatcher eZ\Publish\Core\REST\Common\Input\ParsingDispatcher
return eZ\Publish\API\Repository\Values\Content\Query\Criterion\UserMetadata
    public function parse(array $data, ParsingDispatcher $parsingDispatcher)
    {
        if (!isset($data['UserMetadataCriterion'])) {
            throw new Exceptions\Parser('Invalid <UserMetadataCriterion> format');
        }
        if (!isset($data['UserMetadataCriterion']['Target'])) {
            throw new Exceptions\Parser('Invalid <Target> format');
        }
        $target = $data['UserMetadataCriterion']['Target'];
        if (!isset($data['UserMetadataCriterion']['Value'])) {
            throw new Exceptions\Parser('Invalid <Value> format');
        }
        if (!in_array(gettype($data['UserMetadataCriterion']['Value']), ['integer', 'string', 'array'])) {
            throw new Exceptions\Parser('Invalid <Value> format');
        }
        $value = is_array($data['UserMetadataCriterion']['Value']) ? $data['UserMetadataCriterion']['Value'] : explode(',', $data['UserMetadataCriterion']['Value']);
        return new UserMetadataCriterion($target, null, $value);
    }
UserMetadata