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

Public Member Functions

 injectPersistenceManager (\TYPO3\CMS\Extbase\Persistence\PersistenceManagerInterface $persistenceManager)
 
 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)
 
- Public Member Functions inherited from ObjectConverter
 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_MODIFICATION_ALLOWED = 1
 
const CONFIGURATION_CREATION_ALLOWED = 2
 
- Public Attributes inherited from ObjectConverter
const CONFIGURATION_TARGET_TYPE = 3
 
const CONFIGURATION_OVERRIDE_TARGET_TYPE_ALLOWED = 4
 

Protected Member Functions

 handleArrayData (array $source, $targetType, array &$convertedChildProperties,\TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface $configuration=null)
 
 fetchObjectFromPersistence ($identity, $targetType)
 
- Protected Member Functions inherited from ObjectConverter
 buildObject (array &$possibleConstructorArgumentValues, $objectType)
 

Protected Attributes

 $sourceTypes = array('integer', 'string', 'array')
 
 $targetType = 'object'
 
 $priority = 1
 
 $persistenceManager
 
- Protected Attributes inherited from ObjectConverter
 $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 or strings to persistent objects. It does the following:

Definition at line 37 of file PersistentObjectConverter.php.

Member Function Documentation

canConvertFrom (   $source,
  $targetType 
)

We can only convert if the $targetType is either tagged with entity or value object.

Parameters
mixed$source
string$targetType
Returns
bool

Implements TypeConverterInterface.

Definition at line 84 of file PersistentObjectConverter.php.

References PersistentObjectConverter\$targetType.

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

Convert an object from $source to an entity or a value object.

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

Implements TypeConverterInterface.

Definition at line 142 of file PersistentObjectConverter.php.

References PersistentObjectConverter\$targetType, elseif, PersistentObjectConverter\fetchObjectFromPersistence(), and PersistentObjectConverter\handleArrayData().

fetchObjectFromPersistence (   $identity,
  $targetType 
)
protected

Fetch an object from persistence layer.

Parameters
mixed$identity
string$targetType
Exceptions
\TYPO3\CMS\Extbase\Property\Exception\TargetNotFoundException
\TYPO3\CMS\Extbase\Property\Exception\InvalidSourceException
Returns
object

Definition at line 214 of file PersistentObjectConverter.php.

References PersistentObjectConverter\$targetType.

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

getSourceChildPropertiesToBeConverted (   $source)

All properties in the source array except __identity are sub-properties.

Parameters
mixed$source
Returns
array

Implements TypeConverterInterface.

Definition at line 95 of file PersistentObjectConverter.php.

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 115 of file PersistentObjectConverter.php.

References PersistentObjectConverter\$targetType.

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

Handle the case if $source is an array.

Parameters
array$source
string$targetType
array&$convertedChildProperties
\TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface$configuration
Returns
object
Exceptions
\TYPO3\CMS\Extbase\Property\Exception\InvalidPropertyMappingConfigurationException

Definition at line 188 of file PersistentObjectConverter.php.

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

Referenced by PersistentObjectConverter\convertFrom().

injectPersistenceManager ( \TYPO3\CMS\Extbase\Persistence\PersistenceManagerInterface  $persistenceManager)
Parameters
\TYPO3\CMS\Extbase\Persistence\PersistenceManagerInterface$persistenceManager

Definition at line 72 of file PersistentObjectConverter.php.

References PersistentObjectConverter\$persistenceManager.

Member Data Documentation

$persistenceManager
protected
$priority = 1
protected

Definition at line 62 of file PersistentObjectConverter.php.

$sourceTypes = array('integer', 'string', 'array')
protected

Definition at line 52 of file PersistentObjectConverter.php.

$targetType = 'object'
protected
const CONFIGURATION_CREATION_ALLOWED = 2

Definition at line 47 of file PersistentObjectConverter.php.

const CONFIGURATION_MODIFICATION_ALLOWED = 1

Definition at line 42 of file PersistentObjectConverter.php.