protected function isAllowedEAVAttribute(
        DataInterface $object,
        AttributeInterface $attribute,
        /** @noinspection PhpUnusedParameterInspection */
        $format = null,
        array $context = []
    ) {
        $options = $attribute->getOption(static::SERIALIZER_OPTIONS, []);

        // Ignore attributes set as serializer: expose: false
        if (array_key_exists(static::EXPOSE_KEY, $options) && !$options[static::EXPOSE_KEY]) {
            return false;
        }

        // If normalizing by reference, we just check if it's among the allowed attributes
        if ($this->byReferenceHandler->isByReference($context)) {
            return \in_array($attribute->getCode(), $this->referenceAttributes, true);
        }

        // Also check ignored attributes
        if (\in_array($attribute->getCode(), $this->ignoredAttributes, true)) {
            return false;
        }

        return $this->isEAVGroupAllowed($object, $attribute, $context);
    }
protected function isAllowedEAVAttribute(
        DataInterface $object,
        AttributeInterface $attribute,
        /** @noinspection PhpUnusedParameterInspection */
        $format = null,
        array $context = []
    ) {
        $options = $attribute->getOption(static::SERIALIZER_OPTIONS, []);

        // Ignore attributes set as serializer: expose: false
        if (array_key_exists(static::EXPOSE_KEY, $options) && !$options[static::EXPOSE_KEY]) {
            return false;
        }

        // If normalizing by reference, we just check if it's among the allowed attributes
        if ($this->byReferenceHandler->isByReference($context)) {
            return \in_array($attribute->getCode(), $this->referenceAttributes, true);
        }

        // Also check ignored attributes
        if (\in_array($attribute->getCode(), $this->ignoredAttributes, true)) {
            return false;
        }

        return $this->isEAVGroupAllowed($object, $attribute, $context);
    }
protected function isAllowedEAVAttribute ( DataInterface $ object , AttributeInterface $ attribute , /** @noinspection PhpUnusedParameterInspection */ $ format = null , array $ context = [ ] ) { $ options = $ attribute -> getOption ( static :: SERIALIZER_OPTIONS , [ ] ) ; // Ignore attributes set as serializer: expose: false if ( array_key_exists ( static :: EXPOSE_KEY , $ options ) && ! $ options [ static :: EXPOSE_KEY ] ) { return false ; } // If normalizing by reference, we just check if it's among the allowed attributes if ( $ this -> byReferenceHandler -> isByReference ( $ context ) ) { return \ in_array ( $ attribute -> getCode ( ) , $ this -> referenceAttributes , true ) ; } // Also check ignored attributes if ( \ in_array ( $ attribute -> getCode ( ) , $ this -> ignoredAttributes , true ) ) { return false ; } return $ this -> isEAVGroupAllowed ( $ object , $ attribute , $ context ) ; }
Is this EAV attribute allowed?

@param DataInterface      $object
@param AttributeInterface $attribute
@param string|null        $format
@param array              $context

@throws InvalidArgumentException

@return bool
Is this EAV attribute allowed?