public function buildJumpToUrlFor(IItem $item)
    {
        $information = $this->determineJumpToInformation();
        if (empty($information['pageDetails'])) {
            return array();
        }

        $result        = $information;
        $parameterList = [];

        $filterUrl = new FilterUrl($information['pageDetails']);
        if (!empty($information['language'])) {
            $filterUrl->setPageValue('language', $information['language']);
        }

        if (!empty($information['filterSetting'])) {
            /** @var \MetaModels\Filter\Setting\ICollection $filterSetting */
            $filterSetting = $information['filterSetting'];
            $parameterList = $filterSetting->generateFilterUrlFrom($item, $this);

            foreach ($parameterList as $strKey => $strValue) {
                // Sadly the filter values are currently encoded due to legacy reasons.
                // For MetaModels 3, they should be passed around decoded everywhere.
                $filterUrl->setSlug($strKey, rawurldecode($strValue));
            }
        }

        $result['params'] = $parameterList;
        $result['deep']   = !empty($filterUrl->getSlugParameters());

        $result['url'] = $this->filterUrlBuilder->generate($filterUrl);

        return $result;
    }
public function buildJumpToUrlFor(IItem $item)
    {
        $information = $this->determineJumpToInformation();
        if (empty($information['pageDetails'])) {
            return array();
        }

        $result        = $information;
        $parameterList = [];

        $filterUrl = new FilterUrl($information['pageDetails']);
        if (!empty($information['language'])) {
            $filterUrl->setPageValue('language', $information['language']);
        }

        if (!empty($information['filterSetting'])) {
            /** @var \MetaModels\Filter\Setting\ICollection $filterSetting */
            $filterSetting = $information['filterSetting'];
            $parameterList = $filterSetting->generateFilterUrlFrom($item, $this);

            foreach ($parameterList as $strKey => $strValue) {
                // Sadly the filter values are currently encoded due to legacy reasons.
                // For MetaModels 3, they should be passed around decoded everywhere.
                $filterUrl->setSlug($strKey, rawurldecode($strValue));
            }
        }

        $result['params'] = $parameterList;
        $result['deep']   = !empty($filterUrl->getSlugParameters());

        $result['url'] = $this->filterUrlBuilder->generate($filterUrl);

        return $result;
    }
{@inheritdoc}