| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 | <?php/* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */namespace Symfony\Component\Serializer\Mapping;/** * {@inheritdoc} * * @author Kévin Dunglas <dunglas@gmail.com> */class AttributeMetadata implements AttributeMetadataInterface{    /**     * @var string     *     * @internal This property is public in order to reduce the size of the     *           class' serialized representation. Do not access it. Use     *           {@link getName()} instead.     */    public $name;    /**     * @var array     *     * @internal This property is public in order to reduce the size of the     *           class' serialized representation. Do not access it. Use     *           {@link getGroups()} instead.     */    public $groups = array();    /**     * Constructs a metadata for the given attribute.     *     * @param string $name     */    public function __construct($name)    {        $this->name = $name;    }    /**     * {@inheritdoc}     */    public function getName()    {        return $this->name;    }    /**     * {@inheritdoc}     */    public function addGroup($group)    {        if (!in_array($group, $this->groups)) {            $this->groups[] = $group;        }    }    /**     * {@inheritdoc}     */    public function getGroups()    {        return $this->groups;    }    /**     * {@inheritdoc}     */    public function merge(AttributeMetadataInterface $attributeMetadata)    {        foreach ($attributeMetadata->getGroups() as $group) {            $this->addGroup($group);        }    }    /**     * Returns the names of the properties that should be serialized.     *     * @return string[]     */    public function __sleep()    {        return array('name', 'groups');    }}
 |