TYPO3  7.6
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
ObjectConverter Class Reference
Inheritance diagram for ObjectConverter:
AbstractTypeConverter SingletonInterface TypeConverterInterface SingletonInterface PersistentObjectConverter

Public Member Functions

 injectObjectContainer (\TYPO3\CMS\Extbase\Object\Container\Container $objectContainer)
 
 injectReflectionService (\TYPO3\CMS\Extbase\Reflection\ReflectionService $reflectionService)
 
 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)
 
 getTargetTypeForSource ($source, $originalTargetType,\TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface $configuration=null)
 
- Public Member Functions inherited from AbstractTypeConverter
 injectObjectManager (\TYPO3\CMS\Extbase\Object\ObjectManagerInterface $objectManager)
 
 getSupportedSourceTypes ()
 
 getSupportedTargetType ()
 
 getTargetTypeForSource ($source, $originalTargetType,\TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface $configuration=null)
 
 getPriority ()
 
 canConvertFrom ($source, $targetType)
 
 getSourceChildPropertiesToBeConverted ($source)
 
 getTypeOfChildProperty ($targetType, $propertyName,\TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface $configuration)
 
- Public Member Functions inherited from TypeConverterInterface
 getTargetTypeForSource ($source, $originalTargetType, PropertyMappingConfigurationInterface $configuration=null)
 

Public Attributes

const CONFIGURATION_TARGET_TYPE = 3
 
const CONFIGURATION_OVERRIDE_TARGET_TYPE_ALLOWED = 4
 

Protected Member Functions

 buildObject (array &$possibleConstructorArgumentValues, $objectType)
 

Protected Attributes

 $sourceTypes = array('array')
 
 $targetType = 'object'
 
 $priority = 0
 
 $objectContainer
 
 $reflectionService
 
- Protected Attributes inherited from AbstractTypeConverter
 $sourceTypes = array()
 
 $targetType = ''
 
 $priority
 
 $objectManager
 

Detailed Description

This converter transforms arrays to simple objects (POPO) by setting properties.

Definition at line 28 of file ObjectConverter.php.

Member Function Documentation

buildObject ( array &  $possibleConstructorArgumentValues,
  $objectType 
)
protected

Builds a new instance of $objectType with the given $possibleConstructorArgumentValues. If constructor argument values are missing from the given array the method looks for a default value in the constructor signature. Furthermore, the constructor arguments are removed from $possibleConstructorArgumentValues

Parameters
array&$possibleConstructorArgumentValues
string$objectType
Returns
object The created instance
Exceptions
\TYPO3\CMS\Extbase\Property\Exception\InvalidTargetExceptionif a required constructor argument is missing

Definition at line 216 of file ObjectConverter.php.

References elseif.

Referenced by ObjectConverter\convertFrom(), and PersistentObjectConverter\handleArrayData().

canConvertFrom (   $source,
  $targetType 
)

Only convert non-persistent types

Parameters
mixed$source
string$targetType
Returns
bool

Implements TypeConverterInterface.

Definition at line 88 of file ObjectConverter.php.

References ObjectConverter\$targetType.

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

Convert an object from $source to an object.

Parameters
mixed$source
string$targetType
array$convertedChildProperties
\TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface$configuration
Returns
object the target type
Exceptions
\TYPO3\CMS\Extbase\Property\Exception\InvalidTargetException
\TYPO3\CMS\Extbase\Property\Exception\InvalidDataTypeException
\TYPO3\CMS\Extbase\Property\Exception\InvalidPropertyMappingConfigurationException

Implements TypeConverterInterface.

Definition at line 154 of file ObjectConverter.php.

References ObjectConverter\$targetType, and ObjectConverter\buildObject().

getSourceChildPropertiesToBeConverted (   $source)

Convert all properties in the source array

Parameters
mixed$source
Returns
array

Implements TypeConverterInterface.

Definition at line 99 of file ObjectConverter.php.

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

Determines the target type based on the source's (optional) __type key.

Parameters
mixed$source
string$originalTargetType
\TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface$configuration
Returns
string
Exceptions
\TYPO3\CMS\Extbase\Property\Exception\InvalidDataTypeException
\TYPO3\CMS\Extbase\Property\Exception\InvalidPropertyMappingConfigurationException
\InvalidArgumentException

Definition at line 184 of file ObjectConverter.php.

References ObjectConverter\$targetType.

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

The type of a property is determined by the reflection service.

Parameters
string$targetType
string$propertyName
\TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface$configuration
Returns
string
Exceptions
\TYPO3\CMS\Extbase\Property\Exception\InvalidTargetException

Implements TypeConverterInterface.

Definition at line 116 of file ObjectConverter.php.

References ObjectConverter\$targetType.

injectObjectContainer ( \TYPO3\CMS\Extbase\Object\Container\Container  $objectContainer)
Parameters
\TYPO3\CMS\Extbase\Object\Container\Container$objectContainer

Definition at line 68 of file ObjectConverter.php.

References ObjectConverter\$objectContainer.

injectReflectionService ( \TYPO3\CMS\Extbase\Reflection\ReflectionService  $reflectionService)
Parameters
\TYPO3\CMS\Extbase\Reflection\ReflectionService$reflectionService

Definition at line 76 of file ObjectConverter.php.

References ObjectConverter\$reflectionService.

Member Data Documentation

$objectContainer
protected

Definition at line 58 of file ObjectConverter.php.

Referenced by ObjectConverter\injectObjectContainer().

$priority = 0
protected

Definition at line 53 of file ObjectConverter.php.

$reflectionService
protected

Definition at line 63 of file ObjectConverter.php.

Referenced by ObjectConverter\injectReflectionService().

$sourceTypes = array('array')
protected

Definition at line 43 of file ObjectConverter.php.

$targetType = 'object'
protected
const CONFIGURATION_OVERRIDE_TARGET_TYPE_ALLOWED = 4

Definition at line 38 of file ObjectConverter.php.

const CONFIGURATION_TARGET_TYPE = 3

Definition at line 33 of file ObjectConverter.php.