_get(self::ID); } /** * {@inheritdoc} */ public function setId($id) { return $this->setData(self::ID, $id); } /** * {@inheritdoc} */ public function getCustomAttribute($attributeCode) { return $this->_data[self::CUSTOM_ATTRIBUTES][$attributeCode] ?? null; } /** * {@inheritdoc} */ public function setCustomAttribute($attributeCode, $attributeValue) { /** @var \Magento\Framework\Api\AttributeInterface[] $attributes */ $attributes = $this->getCustomAttributes(); $attributes[$attributeCode] = $attributeValue; return $this->setCustomAttributes($attributes); } /** * {@inheritdoc} */ public function getCustomAttributes() { return $this->_get(self::CUSTOM_ATTRIBUTES); } /** * {@inheritdoc} */ public function setCustomAttributes(array $attributes) { return $this->setData(self::CUSTOM_ATTRIBUTES, $attributes); } /** * Implementation of \IteratorAggregate::getIterator() * * @return \ArrayIterator * @since 100.1.0 */ public function getIterator() { $attributes = (array)$this->getCustomAttributes(); return new \ArrayIterator($attributes); } }