<?php
namespace Magento\SalesRule\Api\Data;

/**
 * Extension class for @see \Magento\SalesRule\Api\Data\RuleInterface
 */
class RuleExtension extends \Magento\Framework\Api\AbstractSimpleObject implements RuleExtensionInterface
{
    /**
     * @return \Amasty\BannersLite\Api\Data\BannerInterface[]|null
     */
    public function getPromoBannersLite()
    {
        return $this->_get('promo_banners_lite');
    }

    /**
     * @param \Amasty\BannersLite\Api\Data\BannerInterface[] $promoBannersLite
     * @return $this
     */
    public function setPromoBannersLite($promoBannersLite)
    {
        $this->setData('promo_banners_lite', $promoBannersLite);
        return $this;
    }

    /**
     * @return string|null
     */
    public function getBannerProductSku()
    {
        return $this->_get('banner_product_sku');
    }

    /**
     * @param string $bannerProductSku
     * @return $this
     */
    public function setBannerProductSku($bannerProductSku)
    {
        $this->setData('banner_product_sku', $bannerProductSku);
        return $this;
    }

    /**
     * @return string|null
     */
    public function getBannerProductCategories()
    {
        return $this->_get('banner_product_categories');
    }

    /**
     * @param string $bannerProductCategories
     * @return $this
     */
    public function setBannerProductCategories($bannerProductCategories)
    {
        $this->setData('banner_product_categories', $bannerProductCategories);
        return $this;
    }

    /**
     * @return int|null
     */
    public function getShowBannerFor()
    {
        return $this->_get('show_banner_for');
    }

    /**
     * @param int $showBannerFor
     * @return $this
     */
    public function setShowBannerFor($showBannerFor)
    {
        $this->setData('show_banner_for', $showBannerFor);
        return $this;
    }

    /**
     * @return int|null
     */
    public function getUsesPerEmail()
    {
        return $this->_get('uses_per_email');
    }

    /**
     * @param int $usesPerEmail
     * @return $this
     */
    public function setUsesPerEmail($usesPerEmail)
    {
        $this->setData('uses_per_email', $usesPerEmail);
        return $this;
    }

    /**
     * @return string|null
     */
    public function getBlockDiscountScope()
    {
        return $this->_get('block_discount_scope');
    }

    /**
     * @param string $blockDiscountScope
     * @return $this
     */
    public function setBlockDiscountScope($blockDiscountScope)
    {
        $this->setData('block_discount_scope', $blockDiscountScope);
        return $this;
    }
}
