AbstractTypeConverter implements TypeConverterInterface, SingletonInterface
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()
Table of Contents
Interfaces
- TypeConverterInterface
- Interface for type converters, which can convert from a simple type to an object or another simple type.
- SingletonInterface
- "empty" interface for singletons (marker interface pattern)
Properties
- $objectManager : ObjectManagerInterface
- $priority : int
- The priority for this converter.
- $sourceTypes : array<string|int, string>
- The source types this converter can convert.
- $targetType : string
- The target type this converter can convert to.
Methods
- canConvertFrom() : bool
- todo: this method should be abstract or removed, contract is defined by TypeConverterInterface.
- getPriority() : int
- Return the priority of this TypeConverter. TypeConverters with a high priority are chosen before low priority.
- getSourceChildPropertiesToBeConverted() : array<string|int, mixed>
- todo: this method should be abstract or removed, contract is defined by TypeConverterInterface.
- getSupportedSourceTypes() : array<string|int, string>
- Returns the list of source types the TypeConverter can handle.
- getSupportedTargetType() : string
- Return the target type this TypeConverter converts to.
- getTargetTypeForSource() : string
- Returns the $originalTargetType unchanged in this implementation.
- getTypeOfChildProperty() : string
- todo: this method should be abstract or removed, contract is defined by TypeConverterInterface.
- injectObjectManager() : void
Properties
$objectManager
since v11, will be removed in v12
protected
ObjectManagerInterface
$objectManager
$priority
The priority for this converter.
protected
int
$priority
$sourceTypes
The source types this converter can convert.
protected
array<string|int, string>
$sourceTypes
= []
$targetType
The target type this converter can convert to.
protected
string
$targetType
= ''
Methods
canConvertFrom()
todo: this method should be abstract or removed, contract is defined by TypeConverterInterface.
public
canConvertFrom(mixed $source, string $targetType) : bool
This implementation always returns TRUE for this method.
Parameters
- $source : mixed
-
the source data
- $targetType : string
-
the type to convert to.
Return values
bool —TRUE if this TypeConverter can convert from $source to $targetType, FALSE otherwise.
getPriority()
Return the priority of this TypeConverter. TypeConverters with a high priority are chosen before low priority.
public
getPriority() : int
Return values
intgetSourceChildPropertiesToBeConverted()
todo: this method should be abstract or removed, contract is defined by TypeConverterInterface.
public
getSourceChildPropertiesToBeConverted(mixed $source) : array<string|int, mixed>
Returns an empty list of sub property names
Parameters
- $source : mixed
Return values
array<string|int, mixed>getSupportedSourceTypes()
Returns the list of source types the TypeConverter can handle.
public
getSupportedSourceTypes() : array<string|int, string>
Must be PHP simple types, classes or object is not allowed.
Return values
array<string|int, string>getSupportedTargetType()
Return the target type this TypeConverter converts to.
public
getSupportedTargetType() : string
Can be a simple type or a class name.
Return values
stringgetTargetTypeForSource()
Returns the $originalTargetType unchanged in this implementation.
public
getTargetTypeForSource(mixed $source, string $originalTargetType[, PropertyMappingConfigurationInterface $configuration = null ]) : string
Parameters
- $source : mixed
-
the source data
- $originalTargetType : string
-
the type we originally want to convert to
- $configuration : PropertyMappingConfigurationInterface = null
Return values
stringgetTypeOfChildProperty()
todo: this method should be abstract or removed, contract is defined by TypeConverterInterface.
public
getTypeOfChildProperty(string $targetType, string $propertyName, PropertyMappingConfigurationInterface $configuration) : string
This method is never called, as getSourceChildPropertiesToBeConverted() returns an empty array.
Parameters
- $targetType : string
- $propertyName : string
- $configuration : PropertyMappingConfigurationInterface
Return values
stringinjectObjectManager()
public
injectObjectManager(ObjectManagerInterface $objectManager) : void
since v11, will be removed in v12
Parameters
- $objectManager : ObjectManagerInterface
only to be used within Extbase, not part of TYPO3 Core API.