1<?php
2
3namespace DeepCopy\Filter\Doctrine;
4
5use DeepCopy\Filter\Filter;
6use DeepCopy\Reflection\ReflectionHelper;
7use Doctrine\Common\Collections\ArrayCollection;
8
9/**
10 * @final
11 */
12class DoctrineEmptyCollectionFilter implements Filter
13{
14    /**
15     * Sets the object property to an empty doctrine collection.
16     *
17     * @param object   $object
18     * @param string   $property
19     * @param callable $objectCopier
20     */
21    public function apply($object, $property, $objectCopier)
22    {
23        $reflectionProperty = ReflectionHelper::getProperty($object, $property);
24        $reflectionProperty->setAccessible(true);
25
26        $reflectionProperty->setValue($object, new ArrayCollection());
27    }
28}