<?php
/**
 * @author Aitoc Team
 * @copyright Copyright (c) 2020 Aitoc (https://www.aitoc.com)
 * @package Aitoc_PreOrders
 */

/**
 * Copyright © 2018 Aitoc. All rights reserved.
 * Developed by Alex Yakimovich
 */

namespace Aitoc\PreOrders\Api\Data;

/**
 * Interface ProductAttributesInterface
 */
interface ProductAttributesInterface
{

    /**
     * Constants for keys of data array. Identical to the name of the getter in snake case
     */
    const ENTITY_ID = 'entity_id';
    const ATTRIBUTE_CODE = 'attribute_code';
    const VALUE = 'value';
    const PRODUCT_ID = 'product_id';
    const STORE_ID = 'store_id';

    /**
     * @return int|null
     */
    public function getEntityId();

    /**
     * @param int $id
     *
     * @return $this
     */
    public function setEntityId($id);

    /**
     * @return string|null
     */
    public function getAttributeCode();

    /**
     * @param string $attributeCode
     *
     * @return $this
     */
    public function setAttributeCode($attributeCode);

    /**
     * @return mixed|null
     */
    public function getValue();

    /**
     * @param mixed $value
     *
     * @return $this
     */
    public function setValue($value);

    /**
     * @return int|null
     */
    public function getProductId();

    /**
     * @param int $productId
     *
     * @return $this
     */
    public function setProductId($productId);

    /**
     * @return int|null
     */
    public function getStoreId();

    /**
     * @param int $storeId
     *
     * @return $this
     */
    public function setStoreId($storeId);
}
