115 if (isset($this->propertiesNotToBeMapped[$propertyName])) {
119 if (isset($this->propertiesToBeMapped[$propertyName])) {
123 if (isset($this->subConfigurationForProperty[self::PROPERTY_PATH_PLACEHOLDER])) {
138 return isset($this->propertiesToSkip[$propertyName]);
148 $this->mapUnknownProperties = TRUE;
162 foreach (func_get_args() as $propertyName) {
163 $this->propertiesToBeMapped[$propertyName] = $propertyName;
178 foreach (func_get_args() as $propertyName) {
179 $this->propertiesToSkip[$propertyName] = $propertyName;
194 $this->mapUnknownProperties = TRUE;
196 foreach (func_get_args() as $propertyName) {
197 $this->propertiesNotToBeMapped[$propertyName] = $propertyName;
233 if (isset($this->subConfigurationForProperty[$propertyName])) {
234 return $this->subConfigurationForProperty[$propertyName];
235 } elseif (isset($this->subConfigurationForProperty[self::PROPERTY_PATH_PLACEHOLDER])) {
236 return $this->subConfigurationForProperty[self::PROPERTY_PATH_PLACEHOLDER];
250 if (isset($this->mapping[$sourcePropertyName])) {
251 return $this->mapping[$sourcePropertyName];
253 return $sourcePropertyName;
263 if (!isset($this->configuration[$typeConverterClassName][$key])) {
267 return $this->configuration[$typeConverterClassName][$key];
278 public function setMapping($sourcePropertyName, $targetPropertyName) {
279 $this->mapping[$sourcePropertyName] = $targetPropertyName;
331 $typeConverterClasses = $typeConverterClasses === FALSE ? array() : $typeConverterClasses;
333 return $typeConverterClasses;
346 $splittedPropertyPath = explode(
'.', $propertyPath);
357 if (count($splittedPropertyPath) === 0) {
361 $currentProperty = array_shift($splittedPropertyPath);
362 if (!isset($this->subConfigurationForProperty[$currentProperty])) {
363 $type = get_class($this);
364 if (isset($this->subConfigurationForProperty[self::PROPERTY_PATH_PLACEHOLDER])) {
365 $this->subConfigurationForProperty[$currentProperty] = clone $this->subConfigurationForProperty[self::PROPERTY_PATH_PLACEHOLDER];
367 $this->subConfigurationForProperty[$currentProperty] =
new $type;
370 return $this->subConfigurationForProperty[$currentProperty]->traverseProperties($splittedPropertyPath);
$subConfigurationForProperty
forProperty($propertyPath)
getConfigurationFor($propertyName)
const PROPERTY_PATH_PLACEHOLDER
shouldSkipUnknownProperties()
setMapping($sourcePropertyName, $targetPropertyName)
traverseProperties(array $splittedPropertyPath)
static getClassNameForAlias($alias)
getTargetPropertyName($sourcePropertyName)
setTypeConverterOption($typeConverter, $optionKey, $optionValue)
shouldSkip($propertyName)
getConfigurationValue($typeConverterClassName, $key)
setTypeConverterOptions($typeConverter, array $options)
getTypeConvertersWithParentClasses($typeConverter)
setTypeConverter(\TYPO3\CMS\Extbase\Property\TypeConverterInterface $typeConverter)
allowAllPropertiesExcept()