Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x

AttributeMetadataInterface.php

Namespace

Symfony\Component\Serializer\Mapping

File

vendor/symfony/serializer/Mapping/AttributeMetadataInterface.php

View source
<?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;

use Symfony\Component\PropertyAccess\PropertyPath;

/**
 * Stores metadata needed for serializing and deserializing attributes.
 *
 * Primarily, the metadata stores serialization groups.
 *
 * @internal
 *
 * @author Kévin Dunglas <dunglas@gmail.com>
 */
interface AttributeMetadataInterface {
    
    /**
     * Gets the attribute name.
     */
    public function getName() : string;
    
    /**
     * Adds this attribute to the given group.
     */
    public function addGroup(string $group) : void;
    
    /**
     * Gets groups of this attribute.
     *
     * @return string[]
     */
    public function getGroups() : array;
    
    /**
     * Sets the serialization max depth for this attribute.
     */
    public function setMaxDepth(?int $maxDepth) : void;
    
    /**
     * Gets the serialization max depth for this attribute.
     */
    public function getMaxDepth() : ?int;
    
    /**
     * Sets the serialization name for this attribute.
     */
    public function setSerializedName(?string $serializedName) : void;
    
    /**
     * Gets the serialization name for this attribute.
     */
    public function getSerializedName() : ?string;
    public function setSerializedPath(?PropertyPath $serializedPath) : void;
    public function getSerializedPath() : ?PropertyPath;
    
    /**
     * Sets if this attribute must be ignored or not.
     */
    public function setIgnore(bool $ignore) : void;
    
    /**
     * Gets if this attribute is ignored or not.
     */
    public function isIgnored() : bool;
    
    /**
     * Merges an {@see AttributeMetadataInterface} with in the current one.
     */
    public function merge(self $attributeMetadata) : void;
    
    /**
     * Gets all the normalization contexts per group ("*" being the base context applied to all groups).
     */
    public function getNormalizationContexts() : array;
    
    /**
     * Gets the computed normalization contexts for given groups.
     */
    public function getNormalizationContextForGroups(array $groups) : array;
    
    /**
     * Sets the normalization context for given groups.
     */
    public function setNormalizationContextForGroups(array $context, array $groups = []) : void;
    
    /**
     * Gets all the denormalization contexts per group ("*" being the base context applied to all groups).
     */
    public function getDenormalizationContexts() : array;
    
    /**
     * Gets the computed denormalization contexts for given groups.
     */
    public function getDenormalizationContextForGroups(array $groups) : array;
    
    /**
     * Sets the denormalization context for given groups.
     */
    public function setDenormalizationContextForGroups(array $context, array $groups = []) : void;

}

Interfaces

Title Deprecated Summary
AttributeMetadataInterface Stores metadata needed for serializing and deserializing attributes.
RSS feed
Powered by Drupal