protected function prepareTypeConverterMap()
    {
        $typeConverterMap = [];
        $typeConverterClassNames = static::getTypeConverterImplementationClassNames($this->objectManager);
        foreach ($typeConverterClassNames as $typeConverterClassName) {
            /** @var TypeConverterInterface $typeConverter */
            $typeConverter = $this->objectManager->get($typeConverterClassName);
            foreach ($typeConverter->getSupportedSourceTypes() as $supportedSourceType) {
                $normalizedSourceType = TypeHandling::normalizeType($supportedSourceType);
                $normalizedTargetType = TypeHandling::normalizeType($typeConverter->getSupportedTargetType());
                if (isset($typeConverterMap[$normalizedSourceType][$normalizedTargetType][$typeConverter->getPriority()])) {
                    throw new Exception\DuplicateTypeConverterException('There exist at least two converters which handle the conversion from "' . $supportedSourceType . '" to "' . $normalizedTargetType . '" with priority "' . $typeConverter->getPriority() . '": ' . $typeConverterMap[$supportedSourceType][$normalizedTargetType][$typeConverter->getPriority()] . ' and ' . get_class($typeConverter), 1297951378);
                }
                $typeConverterMap[$normalizedSourceType][$normalizedTargetType][$typeConverter->getPriority()] = $typeConverterClassName;
            }
        }

        return $typeConverterMap;
    }
protected function prepareTypeConverterMap()
    {
        $typeConverterMap = [];
        $typeConverterClassNames = static::getTypeConverterImplementationClassNames($this->objectManager);
        foreach ($typeConverterClassNames as $typeConverterClassName) {
            /** @var TypeConverterInterface $typeConverter */
            $typeConverter = $this->objectManager->get($typeConverterClassName);
            foreach ($typeConverter->getSupportedSourceTypes() as $supportedSourceType) {
                $normalizedSourceType = TypeHandling::normalizeType($supportedSourceType);
                $normalizedTargetType = TypeHandling::normalizeType($typeConverter->getSupportedTargetType());
                if (isset($typeConverterMap[$normalizedSourceType][$normalizedTargetType][$typeConverter->getPriority()])) {
                    throw new Exception\DuplicateTypeConverterException('There exist at least two converters which handle the conversion from "' . $supportedSourceType . '" to "' . $normalizedTargetType . '" with priority "' . $typeConverter->getPriority() . '": ' . $typeConverterMap[$supportedSourceType][$normalizedTargetType][$typeConverter->getPriority()] . ' and ' . get_class($typeConverter), 1297951378);
                }
                $typeConverterMap[$normalizedSourceType][$normalizedTargetType][$typeConverter->getPriority()] = $typeConverterClassName;
            }
        }

        return $typeConverterMap;
    }
protected function prepareTypeConverterMap ( ) { $ typeConverterMap = [ ] ; $ typeConverterClassNames = static :: getTypeConverterImplementationClassNames ( $ this -> objectManager ) ; foreach ( $ typeConverterClassNames as $ typeConverterClassName ) { /** @var TypeConverterInterface $typeConverter */ $ typeConverter = $ this -> objectManager -> get ( $ typeConverterClassName ) ; foreach ( $ typeConverter -> getSupportedSourceTypes ( ) as $ supportedSourceType ) { $ normalizedSourceType = TypeHandling :: normalizeType ( $ supportedSourceType ) ; $ normalizedTargetType = TypeHandling :: normalizeType ( $ typeConverter -> getSupportedTargetType ( ) ) ; if ( isset ( $ typeConverterMap [ $ normalizedSourceType ] [ $ normalizedTargetType ] [ $ typeConverter -> getPriority ( ) ] ) ) { throw new Exception \ DuplicateTypeConverterException ( 'There exist at least two converters which handle the conversion from "' . $ supportedSourceType . '" to "' . $ normalizedTargetType . '" with priority "' . $ typeConverter -> getPriority ( ) . '": ' . $ typeConverterMap [ $ supportedSourceType ] [ $ normalizedTargetType ] [ $ typeConverter -> getPriority ( ) ] . ' and ' . get_class ( $ typeConverter ) , 1297951378 ) ; } $ typeConverterMap [ $ normalizedSourceType ] [ $ normalizedTargetType ] [ $ typeConverter -> getPriority ( ) ] = $ typeConverterClassName ; } } return $ typeConverterMap ; }
Collects all TypeConverter implementations in a multi-dimensional array with source and target types.

@return array
@throws Exception\DuplicateTypeConverterException
@see getTypeConverters
Collects all TypeConverter implementations in a multi - dimensional array with source and target types .