TYPO3 CMS  TYPO3_6-2
TYPO3\CMS\Extbase\Property\TypeConverterInterface Interface Reference
Inheritance diagram for TYPO3\CMS\Extbase\Property\TypeConverterInterface:
Tx_Extbase_Property_TypeConverterInterface TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter Tx_Extbase_Property_TypeConverter_AbstractTypeConverter 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

Public Member Functions

 getSupportedSourceTypes ()
 
 getSupportedTargetType ()
 
 getTargetTypeForSource ($source, $originalTargetType, PropertyMappingConfigurationInterface $configuration=NULL)
 
 getPriority ()
 
 canConvertFrom ($source, $targetType)
 
 getSourceChildPropertiesToBeConverted ($source)
 
 getTypeOfChildProperty ($targetType, $propertyName, \TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface $configuration)
 
 convertFrom ($source, $targetType, array $convertedChildProperties=array(), \TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface $configuration=NULL)
 

Detailed Description

Interface for type converters, which can convert from a simple type to an object or another simple type.

All Type Converters should have NO INTERNAL STATE, such that they can be used as singletons and multiple times in succession (as this improves performance dramatically).

Definition at line 30 of file TypeConverterInterface.php.

Member Function Documentation

◆ canConvertFrom()

TYPO3\CMS\Extbase\Property\TypeConverterInterface::canConvertFrom (   $source,
  $targetType 
)

Here, the TypeConverter can do some additional runtime checks to see whether it can handle the given source data and the given target type.

Parameters
mixed$sourcethe source data
string$targetTypethe type to convert to.
Returns
boolean TRUE if this TypeConverter can convert from $source to $targetType, FALSE otherwise.

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

◆ convertFrom()

TYPO3\CMS\Extbase\Property\TypeConverterInterface::convertFrom (   $source,
  $targetType,
array  $convertedChildProperties = array(),
\TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface  $configuration = NULL 
)

Actually convert from $source to $targetType, taking into account the fully built $convertedChildProperties and $configuration.

The return value can be one of three types:

  • an arbitrary object, or a simple type (which has been created while mapping). This is the normal case.
  • NULL, indicating that this object should not be mapped (i.e. a "File Upload" Converter could return NULL if no file has been uploaded, and a silent failure should occur.
  • An instance of – This will be a user-visible error message later on. Furthermore, it should throw an Exception if an unexpected failure (like a security error) occurred or a configuration issue happened.
Parameters
mixed$source
string$targetType
array$convertedChildProperties
\TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface$configuration
Returns
mixed| the target type, or an error object if a user-error occurred
Exceptions

Implemented in TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter, TYPO3\CMS\Extbase\Property\TypeConverter\PersistentObjectConverter, TYPO3\CMS\Extbase\Property\TypeConverter\DateTimeConverter, TYPO3\CMS\Extbase\Property\TypeConverter\ArrayConverter, TYPO3\CMS\Extbase\Property\TypeConverter\CoreTypeConverter, TYPO3\CMS\Extbase\Property\TypeConverter\ObjectStorageConverter, TYPO3\CMS\Extbase\Property\TypeConverter\FloatConverter, TYPO3\CMS\Extbase\Property\TypeConverter\StringConverter, TYPO3\CMS\Extbase\Property\TypeConverter\BooleanConverter, and TYPO3\CMS\Extbase\Property\TypeConverter\IntegerConverter.

◆ getPriority()

TYPO3\CMS\Extbase\Property\TypeConverterInterface::getPriority ( )

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

Returns
integer

Implemented in TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter.

◆ getSourceChildPropertiesToBeConverted()

TYPO3\CMS\Extbase\Property\TypeConverterInterface::getSourceChildPropertiesToBeConverted (   $source)

Return a list of sub-properties inside the source object. The "key" is the sub-property name, and the "value" is the value of the sub-property.

Parameters
mixed$source
Returns
array<mixed>

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

◆ getSupportedSourceTypes()

TYPO3\CMS\Extbase\Property\TypeConverterInterface::getSupportedSourceTypes ( )

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

Returns
array<string>

Implemented in TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter.

◆ getSupportedTargetType()

TYPO3\CMS\Extbase\Property\TypeConverterInterface::getSupportedTargetType ( )

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

Returns
string

Implemented in TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter.

◆ getTargetTypeForSource()

TYPO3\CMS\Extbase\Property\TypeConverterInterface::getTargetTypeForSource (   $source,
  $originalTargetType,
PropertyMappingConfigurationInterface  $configuration = NULL 
)

Returns the type for a given source, depending on e.g. the __type setting or other properties.

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

◆ getTypeOfChildProperty()

TYPO3\CMS\Extbase\Property\TypeConverterInterface::getTypeOfChildProperty (   $targetType,
  $propertyName,
\TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface  $configuration 
)

Return the type of a given sub-property inside the $targetType

Parameters
string$targetType
string$propertyName
\TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface$configuration
Returns
string the type of $propertyName in $targetType

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