<?php
namespace Firebear\ImportExport\Helper\Data;

/**
 * Interceptor class for @see \Firebear\ImportExport\Helper\Data
 */
class Interceptor extends \Firebear\ImportExport\Helper\Data implements \Magento\Framework\Interception\InterceptorInterface
{
    use \Magento\Framework\Interception\Interceptor;

    public function __construct(\Magento\Framework\App\Helper\Context $context, \Firebear\ImportExport\Model\Source\Factory $sourceFactory, \Firebear\ImportExport\Model\Source\Config $configSource, \Firebear\ImportExport\Logger\Logger $logger, \Firebear\ImportExport\Api\HistoryRepositoryInterface $historyRepository, \Firebear\ImportExport\Api\Export\HistoryRepositoryInterface $historyExRepository, \Firebear\ImportExport\Model\Import\HistoryFactory $historyFactory, \Firebear\ImportExport\Api\Export\History\CreateInterface $exportHistoryCreate, \Firebear\ImportExport\Model\Job\Processor $processor, \Firebear\ImportExport\Model\ExportJob\Processor $exProcessor, \Magento\Framework\Stdlib\DateTime\TimezoneInterface $timezone, \Magento\Framework\Filesystem $filesystem, \Firebear\ImportExport\Model\ResourceModel\Import\DataFactory $dataFactory, \Firebear\ImportExport\Model\Source\Platform\Config $configPlatforms, \Firebear\ImportExport\Model\Source\Factory $factory, \Magento\Framework\Serialize\SerializerInterface $serializer, \Firebear\ImportExport\Model\Email\Sender $sender)
    {
        $this->___init();
        parent::__construct($context, $sourceFactory, $configSource, $logger, $historyRepository, $historyExRepository, $historyFactory, $exportHistoryCreate, $processor, $exProcessor, $timezone, $filesystem, $dataFactory, $configPlatforms, $factory, $serializer, $sender);
    }

    /**
     * {@inheritdoc}
     */
    public function getSerializer()
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getSerializer');
        return $pluginInfo ? $this->___callPlugins('getSerializer', func_get_args(), $pluginInfo) : parent::getSerializer();
    }

    /**
     * {@inheritdoc}
     */
    public function getConfigFields()
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getConfigFields');
        return $pluginInfo ? $this->___callPlugins('getConfigFields', func_get_args(), $pluginInfo) : parent::getConfigFields();
    }

    /**
     * {@inheritdoc}
     */
    public function convertTypesTables($type)
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'convertTypesTables');
        return $pluginInfo ? $this->___callPlugins('convertTypesTables', func_get_args(), $pluginInfo) : parent::convertTypesTables($type);
    }

    /**
     * {@inheritdoc}
     */
    public function getDebugMode()
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getDebugMode');
        return $pluginInfo ? $this->___callPlugins('getDebugMode', func_get_args(), $pluginInfo) : parent::getDebugMode();
    }

    /**
     * {@inheritdoc}
     */
    public function beforeRun($id)
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'beforeRun');
        return $pluginInfo ? $this->___callPlugins('beforeRun', func_get_args(), $pluginInfo) : parent::beforeRun($id);
    }

    /**
     * {@inheritdoc}
     */
    public function runImport($id, $file)
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'runImport');
        return $pluginInfo ? $this->___callPlugins('runImport', func_get_args(), $pluginInfo) : parent::runImport($id, $file);
    }

    /**
     * {@inheritdoc}
     */
    public function runExport($id, $file)
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'runExport');
        return $pluginInfo ? $this->___callPlugins('runExport', func_get_args(), $pluginInfo) : parent::runExport($id, $file);
    }

    /**
     * {@inheritdoc}
     */
    public function createHistory($id, $file, $type)
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'createHistory');
        return $pluginInfo ? $this->___callPlugins('createHistory', func_get_args(), $pluginInfo) : parent::createHistory($id, $file, $type);
    }

    /**
     * {@inheritdoc}
     */
    public function loadHistory($id)
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'loadHistory');
        return $pluginInfo ? $this->___callPlugins('loadHistory', func_get_args(), $pluginInfo) : parent::loadHistory($id);
    }

    /**
     * {@inheritdoc}
     */
    public function loadHistoryByFileName($fileName)
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'loadHistoryByFileName');
        return $pluginInfo ? $this->___callPlugins('loadHistoryByFileName', func_get_args(), $pluginInfo) : parent::loadHistoryByFileName($fileName);
    }

    /**
     * {@inheritdoc}
     */
    public function createExportHistory($id, $file, $type)
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'createExportHistory');
        return $pluginInfo ? $this->___callPlugins('createExportHistory', func_get_args(), $pluginInfo) : parent::createExportHistory($id, $file, $type);
    }

    /**
     * {@inheritdoc}
     */
    public function scopeRun($file, $number)
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'scopeRun');
        return $pluginInfo ? $this->___callPlugins('scopeRun', func_get_args(), $pluginInfo) : parent::scopeRun($file, $number);
    }

    /**
     * {@inheritdoc}
     */
    public function saveFinishHistory($history)
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'saveFinishHistory');
        return $pluginInfo ? $this->___callPlugins('saveFinishHistory', func_get_args(), $pluginInfo) : parent::saveFinishHistory($history);
    }

    /**
     * {@inheritdoc}
     */
    public function saveFinishExHistory($history)
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'saveFinishExHistory');
        return $pluginInfo ? $this->___callPlugins('saveFinishExHistory', func_get_args(), $pluginInfo) : parent::saveFinishExHistory($history);
    }

    /**
     * {@inheritdoc}
     */
    public function saveFullImportHistoryToDb($history)
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'saveFullImportHistoryToDb');
        return $pluginInfo ? $this->___callPlugins('saveFullImportHistoryToDb', func_get_args(), $pluginInfo) : parent::saveFullImportHistoryToDb($history);
    }

    /**
     * {@inheritdoc}
     */
    public function getLogger()
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getLogger');
        return $pluginInfo ? $this->___callPlugins('getLogger', func_get_args(), $pluginInfo) : parent::getLogger();
    }

    /**
     * {@inheritdoc}
     */
    public function getResultProcessor()
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getResultProcessor');
        return $pluginInfo ? $this->___callPlugins('getResultProcessor', func_get_args(), $pluginInfo) : parent::getResultProcessor();
    }

    /**
     * {@inheritdoc}
     */
    public function setResultProcessor($result)
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'setResultProcessor');
        return $pluginInfo ? $this->___callPlugins('setResultProcessor', func_get_args(), $pluginInfo) : parent::setResultProcessor($result);
    }

    /**
     * {@inheritdoc}
     */
    public function setTypeSource($file)
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'setTypeSource');
        return $pluginInfo ? $this->___callPlugins('setTypeSource', func_get_args(), $pluginInfo) : parent::setTypeSource($file);
    }

    /**
     * {@inheritdoc}
     */
    public function correctData($data)
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'correctData');
        return $pluginInfo ? $this->___callPlugins('correctData', func_get_args(), $pluginInfo) : parent::correctData($data);
    }

    /**
     * {@inheritdoc}
     */
    public function processValidate($data)
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'processValidate');
        return $pluginInfo ? $this->___callPlugins('processValidate', func_get_args(), $pluginInfo) : parent::processValidate($data);
    }

    /**
     * {@inheritdoc}
     */
    public function revertLocale()
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'revertLocale');
        return $pluginInfo ? $this->___callPlugins('revertLocale', func_get_args(), $pluginInfo) : parent::revertLocale();
    }

    /**
     * {@inheritdoc}
     */
    public function processImport($file, $job, $offset, $error, $show = 1)
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'processImport');
        return $pluginInfo ? $this->___callPlugins('processImport', func_get_args(), $pluginInfo) : parent::processImport($file, $job, $offset, $error, $show);
    }

    /**
     * {@inheritdoc}
     */
    public function processReindex($file, $job)
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'processReindex');
        return $pluginInfo ? $this->___callPlugins('processReindex', func_get_args(), $pluginInfo) : parent::processReindex($file, $job);
    }

    /**
     * {@inheritdoc}
     */
    public function countData($file, $job)
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'countData');
        return $pluginInfo ? $this->___callPlugins('countData', func_get_args(), $pluginInfo) : parent::countData($file, $job);
    }

    /**
     * {@inheritdoc}
     */
    public function getProcessor()
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getProcessor');
        return $pluginInfo ? $this->___callPlugins('getProcessor', func_get_args(), $pluginInfo) : parent::getProcessor();
    }

    /**
     * {@inheritdoc}
     */
    public function getPlatformModel(string $model, string $entityCode = 'catalog_product')
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getPlatformModel');
        return $pluginInfo ? $this->___callPlugins('getPlatformModel', func_get_args(), $pluginInfo) : parent::getPlatformModel($model, $entityCode);
    }

    /**
     * {@inheritdoc}
     */
    public function isEnableDbLogStorage(): bool
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'isEnableDbLogStorage');
        return $pluginInfo ? $this->___callPlugins('isEnableDbLogStorage', func_get_args(), $pluginInfo) : parent::isEnableDbLogStorage();
    }

    /**
     * {@inheritdoc}
     */
    public function trimArrayValues($data)
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'trimArrayValues');
        return $pluginInfo ? $this->___callPlugins('trimArrayValues', func_get_args(), $pluginInfo) : parent::trimArrayValues($data);
    }

    /**
     * {@inheritdoc}
     */
    public function isModuleOutputEnabled($moduleName = null)
    {
        $pluginInfo = $this->pluginList->getNext($this->subjectType, 'isModuleOutputEnabled');
        return $pluginInfo ? $this->___callPlugins('isModuleOutputEnabled', func_get_args(), $pluginInfo) : parent::isModuleOutputEnabled($moduleName);
    }
}
