@param mixed $property
@param array $options

@return mixed
494099
private function processProperty($property, array $options)
    {
        if (null === $property) {
            return null;
        }

        if ($property instanceof MetadataInterface) {
            $this->process($property, $options);

            return $property;
        }

        if (is_array($property)) {
            foreach ($property as $key => &$value) {
                $value = $this->processProperty($value, $options);
            }

            return $property;
        }

        return $this->twig->createTemplate((string) $property)->render($options);
    }
1090231
public function dateTimeField(IFormModel $model, $property, array $options = [])
    {
        $element = $this->getField($model, $property);
        $options['id'] = $element['id'];

        return Html::datetimeField($element['name'], $element['value'], $options);
    }
1101550
public function passwordFieldRow(IFormModel $model, $property, array $options = [])
    {
        $element = $this->getField($model, $property);
        $options['id'] = $element['id'];

        return Html::openTag('div', $this->getBlock('block', $options)).
        Html::label($model->getLabel($property), $element['id'], $this->getBlock('label', $options)).
        $this->passwordField($model, $property, $options).
        Html::closeTag('div');
    }
173518
public function numberFieldRow(IFormModel $model, $property, array $options = [])
    {
        $element = $this->getField($model, $property);
        $options['id'] = $element['id'];

        return Html::openTag('div', $this->getBlock('block', $options)).
        Html::label($model->getLabel($property), $element['id'], $this->getBlock('label', $options)).
        $this->numberField($model, $property, $options).
        Html::closeTag('div');
    }
1033737
public function &get($property)
    {
        if (!strlen((string)$property)) {
            throw new InvalidArgumentException('Cannot get an empty property');
        }

        $value = null;
        $method = static::_accessor($property, 'get');

        if (isset($this->_properties[$property])) {
            $value =& $this->_properties[$property];
        }

        if ($method) {
            $result = $this->{$method}($value);

            return $result;
        }

        return $value;
    }
82733
public function &__get($property)
    {
        $get[ $property ] = false;

        if (services()->has($property)) {
            $get[ $property ] = services()->get($property);
        } elseif (array_key_exists($property, $this->validSubModels)) {
            $get[ $property ] = $this->loadSubModel($property);
        } elseif (o2system()->__isset($property)) {
            $get[ $property ] = o2system()->__get($property);
        }

        return $get[ $property ];
    }
87982
public function save($image, $options)
    {
        $image = $this->saveToString($image, $options);
        return $this->saveFromString($image, $options);
    }
85047
public static function init($object, array $options)
    {
        foreach ($options as $property => $value) {
            if (is_numeric($property)) {
                continue;
            }

            $setter = 'set' . ucfirst($property);

            // has setter
            if (method_exists($object, $setter)) {
                $object->$setter($value);
            } else {
                $object->$property = $value;
            }
        }

        return $object;
    }
1367380
public function getset($property, $args) {
		if (count($args)) {
			$this->$property = $args[0];
		}
		return $this->$property;
	}
1018814
protected function resolveProperties(array $properties)
    {
        $class = get_class($this);

        if (!isset(self::$resolversByClass[$class])) {
            self::$resolversByClass[$class] = new OptionsResolver;
            $this->configureProperties(self::$resolversByClass[$class]);
        }

        return self::$resolversByClass[$class]->resolve($properties);
    }
752248
public function delete(array $options = [])
    {
        $data = [
            '_id' => $this->id
        ];

        $response = $this->security->getKuzzle()->query(
            $this->security->buildQueryArgs($this->deleteActionName),
            $data,
            $options
        );

        return $response['result']['_id'];
    }
392171
public static function property($property = null)
	{
		$property = strtolower($property);
		return array_key_exists($property, static::$properties) ? static::$properties[$property] : null;
	}
1331779
public function urlFieldRow(IFormModel $model, $property, array $options = [])
    {
        $element = $this->getField($model, $property);
        $options['id'] = $element['id'];

        return Html::openTag('div', $this->getBlock('block', $options)).
        Html::label($model->getLabel($property), $element['id'], $this->getBlock('label', $options)).
        $this->urlField($model, $property, $options).
        Html::closeTag('div');
    }
409801
protected function configureBooleanProperty($property, OptionsResolver $resolver)
    {
        $resolver
            ->setAllowedTypes($property, ['bool', 'string'])
            ->setAllowedValues($property, [true, false, 'true', 'false'])
            ->setNormalizer($property, function (Options $options, $value) {
                return is_bool($value) ? $value : ($value === 'true' ? true : false);
            });
    }
22509
public function search(string $search, $properties = null, array $options = null)
    {
        $matching = $this->call('search', [$search, $properties, $options]);
        $matching = array_filter($matching);

        if ($matching) {
            uksort($matching, function ($a, $b) {
                return -($a <=> $b);
            });
        }

        return $this->select(array_keys($matching));
    }
278432
public function serialize($object, array $options = [])
    {
        return $this->mapEntityToObject(
          $this->getSerializableProperties($object),
          $object,
          new \StdClass()
        );
    }
449421
private function getWebspaceKey(array $propertyParameter, array $options)
    {
        if (array_key_exists('ignoreWebspaces', $propertyParameter)) {
            $value = $propertyParameter['ignoreWebspaces']->getValue();

            if (true === $value) {
                return null;
            }
        }

        if (array_key_exists('webspaceKey', $options)) {
            return $options['webspaceKey'];
        }

        return null;
    }