[FEATURE] Improve ClassSchema properties api 82/59382/9
authorAlexander Schnitzler <git@alexanderschnitzler.de>
Wed, 9 Jan 2019 11:35:16 +0000 (12:35 +0100)
committerBenni Mack <benni@typo3.org>
Sat, 12 Jan 2019 20:30:54 +0000 (21:30 +0100)
commit61c9f4809cfa4b34aca3c9aeb01f7565f05e6c07
treecbfd882cbeba5d55e8610f9551292887a5164633
parent9a07686ed8dc5833e8d99db62bc16afec189bd27
[FEATURE] Improve ClassSchema properties api

This patch introduces a new Property class to have an
easier and more stable api to get information about class
properties from ClassSchema objects

The reflection data fetched and stored by/in the ClassSchema
objects is no longer publicly available as an array. Instead,
Property objects are returned for the following calls:

- getProperty
- getProperties

Releases: master
Resolves: #87377
Change-Id: Ica09e7f2df42638497cbde1aea35d62c42332d3f
Reviewed-on: https://review.typo3.org/59382
Tested-by: TYPO3com <noreply@typo3.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
14 files changed:
typo3/sysext/core/Documentation/Changelog/master/Feature-86964-AllowGettingClassPropertyDefaultValue.rst
typo3/sysext/extbase/Classes/Object/Container/Container.php
typo3/sysext/extbase/Classes/Persistence/Generic/Backend.php
typo3/sysext/extbase/Classes/Persistence/Generic/Mapper/DataMapFactory.php
typo3/sysext/extbase/Classes/Persistence/Generic/Mapper/DataMapper.php
typo3/sysext/extbase/Classes/Property/TypeConverter/PersistentObjectConverter.php
typo3/sysext/extbase/Classes/Reflection/ClassSchema.php
typo3/sysext/extbase/Classes/Reflection/ClassSchema/Exception/NoSuchPropertyException.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Reflection/ClassSchema/Property.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Validation/ValidatorResolver.php
typo3/sysext/extbase/Tests/Unit/Persistence/Generic/Mapper/DataMapFactoryTest.php
typo3/sysext/extbase/Tests/Unit/Property/TypeConverter/PersistentObjectConverterTest.php
typo3/sysext/extbase/Tests/Unit/Reflection/ClassSchema/PropertyTest.php [new file with mode: 0644]
typo3/sysext/extbase/Tests/Unit/Reflection/ClassSchemaTest.php