‪TYPO3CMS  10.4
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\AbstractFileCollectionConverter 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\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

Public Member Functions

 injectObjectManager (ObjectManagerInterface $objectManager)
 
string[] getSupportedSourceTypes ()
 
string getSupportedTargetType ()
 
string getTargetTypeForSource ($source, string $originalTargetType, PropertyMappingConfigurationInterface $configuration=null)
 
int getPriority ()
 
bool canConvertFrom ($source, string $targetType)
 
array getSourceChildPropertiesToBeConverted ($source)
 
string 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)
 

Protected Attributes

string[] $sourceTypes = array( )
 
string $targetType = ''
 
int $priority
 
TYPO3 CMS Extbase Object ObjectManagerInterface $objectManager
 

Detailed Description

Type converter which provides sensible default implementations for most methods. If you extend this class you only need to do the following:

  • ‪set $sourceTypes
  • ‪set $targetType
  • ‪set $priority
  • ‪implement convertFrom()

Definition at line 33 of file AbstractTypeConverter.php.

Member Function Documentation

◆ canConvertFrom()

bool TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter::canConvertFrom (   $source,
string  $targetType 
)

todo: this method should be abstract or removed, contract is defined by TypeConverterInterface.

This implementation always returns TRUE for this method.

Parameters
mixed$source‪the source data
string$targetType‪the type to convert to.
Returns
‪bool TRUE if this TypeConverter can convert from $source to $targetType, FALSE otherwise.

Implements TYPO3\CMS\Extbase\Property\TypeConverterInterface.

Reimplemented in TYPO3\CMS\Extbase\Property\TypeConverter\DateTimeConverter, TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter, TYPO3\CMS\Extbase\Property\TypeConverter\PersistentObjectConverter, TYPO3\CMS\Extbase\Property\TypeConverter\ArrayConverter, and TYPO3\CMS\Extbase\Property\TypeConverter\CoreTypeConverter.

Definition at line 120 of file AbstractTypeConverter.php.

◆ getPriority()

int TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter::getPriority ( )

Return the priority of this TypeConverter. TypeConverters with a high priority are chosen before low priority.

Returns
‪int

Implements TYPO3\CMS\Extbase\Property\TypeConverterInterface.

Definition at line 106 of file AbstractTypeConverter.php.

References TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter\$priority.

◆ getSourceChildPropertiesToBeConverted()

array TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter::getSourceChildPropertiesToBeConverted (   $source)

todo: this method should be abstract or removed, contract is defined by TypeConverterInterface.

Returns an empty list of sub property names

Parameters
mixed$source
Returns
‪array

Implements TYPO3\CMS\Extbase\Property\TypeConverterInterface.

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

Definition at line 133 of file AbstractTypeConverter.php.

◆ getSupportedSourceTypes()

string [] TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter::getSupportedSourceTypes ( )

Returns the list of source types the TypeConverter can handle. Must be PHP simple types, classes or object is not allowed.

Returns
‪string[]

Implements TYPO3\CMS\Extbase\Property\TypeConverterInterface.

Definition at line 72 of file AbstractTypeConverter.php.

References TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter\$sourceTypes.

◆ getSupportedTargetType()

string TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter::getSupportedTargetType ( )

Return the target type this TypeConverter converts to. Can be a simple type or a class name.

Returns
‪string

Implements TYPO3\CMS\Extbase\Property\TypeConverterInterface.

Definition at line 83 of file AbstractTypeConverter.php.

References TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter\$targetType.

◆ getTargetTypeForSource()

string TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter::getTargetTypeForSource (   $source,
string  $originalTargetType,
PropertyMappingConfigurationInterface  $configuration = null 
)

Returns the $originalTargetType unchanged in this implementation.

Parameters
mixed$source‪the source data
string$originalTargetType‪the type we originally want to convert to
\TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface$configuration
Returns
‪string

Implements TYPO3\CMS\Extbase\Property\TypeConverterInterface.

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

Definition at line 96 of file AbstractTypeConverter.php.

◆ getTypeOfChildProperty()

string TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter::getTypeOfChildProperty ( string  $targetType,
string  $propertyName,
PropertyMappingConfigurationInterface  $configuration 
)

todo: this method should be abstract or removed, contract is defined by TypeConverterInterface.

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

Parameters
string$targetType
string$propertyName
Returns
‪string
Parameters
\TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface$configuration

Implements TYPO3\CMS\Extbase\Property\TypeConverterInterface.

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

Definition at line 148 of file AbstractTypeConverter.php.

◆ injectObjectManager()

TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter::injectObjectManager ( ObjectManagerInterface  $objectManager)
Parameters
\TYPO3\CMS\Extbase\Object\ObjectManagerInterface$objectManager

only to be used within Extbase, not part of TYPO3 Core API.

Definition at line 61 of file AbstractTypeConverter.php.

References TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter\$objectManager.

Member Data Documentation

◆ $objectManager

TYPO3 CMS Extbase Object ObjectManagerInterface TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter::$objectManager
protected

◆ $priority

int TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter::$priority
protected

The priority for this converter.

Definition at line 51 of file AbstractTypeConverter.php.

Referenced by TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter\getPriority().

◆ $sourceTypes

string [] TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter::$sourceTypes = array( )
protected

The source types this converter can convert.

Definition at line 39 of file AbstractTypeConverter.php.

Referenced by TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter\getSupportedSourceTypes().

◆ $targetType

string TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter::$targetType = ''
protected