‪TYPO3CMS  ‪main
TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter Class Reference
Inheritance diagram for TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter:
TYPO3\CMS\Extbase\Property\TypeConverterInterface TYPO3\CMS\Core\SingletonInterface TYPO3\CMS\Extbase\Property\TypeConverter\AbstractFileFolderConverter TYPO3\CMS\Extbase\Property\TypeConverter\ArrayConverter TYPO3\CMS\Extbase\Property\TypeConverter\BooleanConverter TYPO3\CMS\Extbase\Property\TypeConverter\CoreTypeConverter TYPO3\CMS\Extbase\Property\TypeConverter\DateTimeConverter TYPO3\CMS\Extbase\Property\TypeConverter\EnumConverter TYPO3\CMS\Extbase\Property\TypeConverter\FloatConverter TYPO3\CMS\Extbase\Property\TypeConverter\IntegerConverter TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter TYPO3\CMS\Extbase\Property\TypeConverter\ObjectStorageConverter TYPO3\CMS\Extbase\Property\TypeConverter\StringConverter TYPO3\CMS\Form\Mvc\Property\TypeConverter\FormDefinitionArrayConverter TYPO3\CMS\Form\Mvc\Property\TypeConverter\UploadedFileReferenceConverter TYPO3Tests\TypeConverterTest\Property\TypeConverter\AnimalTypeConverter TYPO3Tests\TypeConverterTest\Property\TypeConverter\CatTypeConverter TYPO3Tests\TypeConverterTest\Property\TypeConverter\CountableTypeConverter TYPO3Tests\TypeConverterTest\Property\TypeConverter\ExtendedCountableTypeConverter

Public Member Functions

 getTargetTypeForSource ($source, string $originalTargetType, PropertyMappingConfigurationInterface $configuration=null)
 
 getSourceChildPropertiesToBeConverted ($source)
 
 getTypeOfChildProperty (string $targetType, string $propertyName, PropertyMappingConfigurationInterface $configuration)
 
- ‪Public Member Functions inherited from ‪TYPO3\CMS\Extbase\Property\TypeConverterInterface
mixed TYPO3 CMS Extbase Error Error convertFrom ($source, string $targetType, array $convertedChildProperties=[], PropertyMappingConfigurationInterface $configuration=null)
 

Detailed Description

Type converter which provides sensible default implementations for most methods. If you extend this class you only need to implement convertFrom()

Definition at line 28 of file AbstractTypeConverter.php.

Member Function Documentation

◆ getSourceChildPropertiesToBeConverted()

TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter::getSourceChildPropertiesToBeConverted (   $source)
Todo:
‪this method is only used for converter sources that have children (i.e. objects). Introduce another ChildPropertyAwareTypeConverterInterface and drop this method from the main interface

Returns an empty list of sub property names

Parameters
mixed$source

Implements TYPO3\CMS\Extbase\Property\TypeConverterInterface.

Reimplemented in TYPO3\CMS\Extbase\Property\TypeConverter\PersistentObjectConverter, TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter, and TYPO3\CMS\Extbase\Property\TypeConverter\ObjectStorageConverter.

Definition at line 53 of file AbstractTypeConverter.php.

◆ getTargetTypeForSource()

TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter::getTargetTypeForSource (   $source,
string  $originalTargetType,
PropertyMappingConfigurationInterface  $configuration = null 
)
Todo:
‪The concept of this method is flawed because it enables the override of the target type depending on the structure of the source. So, technically we no longer convert type A to B but source of type A with structure X to type B defined by X. This makes a type converter non-deterministic.

Returns the $originalTargetType unchanged in this implementation.

Parameters
mixed$source‪the source data
string$originalTargetType‪the type we originally want to convert to

Implements TYPO3\CMS\Extbase\Property\TypeConverterInterface.

Reimplemented in TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter.

Definition at line 40 of file AbstractTypeConverter.php.

◆ getTypeOfChildProperty()

TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter::getTypeOfChildProperty ( string  $targetType,
string  $propertyName,
PropertyMappingConfigurationInterface  $configuration 
)
Todo:
‪this method is only used for converter sources that have children (i.e. objects). Introduce another ChildPropertyAwareTypeConverterInterface and drop this method from the main interface

This method is never called, as getSourceChildPropertiesToBeConverted() returns an empty array.

Parameters
string$targetType
string$propertyName

Implements TYPO3\CMS\Extbase\Property\TypeConverterInterface.

Reimplemented in TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter.

Definition at line 67 of file AbstractTypeConverter.php.