<?php

namespace DropshippingExportFreeVendor\WPDesk\Library\DropshippingExport\PriceCompare\Config;

use DropshippingExportFreeVendor\WPDesk\Library\DropshippingExport\PriceCompare\ProductFields\Homebook\AttributesProductField;
use DropshippingExportFreeVendor\WPDesk\Library\DropshippingExport\PriceCompare\ProductFields\Homebook\BrandProductField;
use DropshippingExportFreeVendor\WPDesk\Library\DropshippingExport\PriceCompare\ProductFields\Homebook\CategoryProductField;
use DropshippingExportFreeVendor\WPDesk\Library\DropshippingExport\PriceCompare\ProductFields\Homebook\DescriptionProductField;
use DropshippingExportFreeVendor\WPDesk\Library\DropshippingExport\PriceCompare\ProductFields\Homebook\IdProductField;
use DropshippingExportFreeVendor\WPDesk\Library\DropshippingExport\PriceCompare\ProductFields\Homebook\ImagesProductField;
use DropshippingExportFreeVendor\WPDesk\Library\DropshippingExport\PriceCompare\ProductFields\Homebook\NameProductField;
use DropshippingExportFreeVendor\WPDesk\Library\DropshippingExport\PriceCompare\ProductFields\Homebook\PriceProductField;
use DropshippingExportFreeVendor\WPDesk\Library\DropshippingExport\PriceCompare\PriceCompareConfig;
use DropshippingExportFreeVendor\WPDesk\Library\DropshippingExport\DataProvider\HomebookExportMapperDataProvider;
use DropshippingExportFreeVendor\WPDesk\Library\DropshippingExport\Form\HomebookExportMapperForm;
use DropshippingExportFreeVendor\WPDesk\Library\DropshippingExport\PriceCompare\ProductFields\Homebook\UrlProductField;
use DropshippingExportFreeVendor\WPDesk\Library\DropshippingExport\Service\Writer\XML\HomebookXmlWriter;
class HomebookConfig implements PriceCompareConfig
{
    public const ID = 'homebook';
    public const EXTENSION = 'xml';
    public function get_supported_extension(): string
    {
        return self::EXTENSION;
    }
    public function get_mapper_template_name(): string
    {
        return 'Export/HomebookExportMapper';
    }
    public function get_mapper_form_class(): string
    {
        return HomebookExportMapperForm::class;
    }
    public function get_mapper_data_provider_class(): string
    {
        return HomebookExportMapperDataProvider::class;
    }
    public function is_custom(): bool
    {
        return \false;
    }
    public function get_id(): string
    {
        return self::ID;
    }
    public function get_name(): string
    {
        return \esc_html__('Homebook', 'dropshipping-export-free');
    }
    public function get_writer_class_name(): string
    {
        return HomebookXmlWriter::class;
    }
    public function get_supported_fields(): array
    {
        return [IdProductField::class, NameProductField::class, DescriptionProductField::class, PriceProductField::class, BrandProductField::class, CategoryProductField::class, ImagesProductField::class, AttributesProductField::class, UrlProductField::class];
    }
}
