| @@ 36-74 (lines=39) @@ | ||
| 33 | * @link https://github.com/techdivision/import |
|
| 34 | * @link http://www.techdivision.com |
|
| 35 | */ |
|
| 36 | class AdditionalAttributeCsvSerializerFactory implements ConfigurationAwareSerializerFactoryInterface |
|
| 37 | { |
|
| 38 | ||
| 39 | /** |
|
| 40 | * The DI container instance. |
|
| 41 | * |
|
| 42 | * @var \Symfony\Component\DependencyInjection\ContainerInterface |
|
| 43 | */ |
|
| 44 | protected $container; |
|
| 45 | ||
| 46 | /** |
|
| 47 | * Initialize the factory with the DI container instance. |
|
| 48 | * |
|
| 49 | * @param \Symfony\Component\DependencyInjection\ContainerInterface $container The DI container instance |
|
| 50 | */ |
|
| 51 | public function __construct(ContainerInterface $container) |
|
| 52 | { |
|
| 53 | $this->container = $container; |
|
| 54 | } |
|
| 55 | ||
| 56 | /** |
|
| 57 | * Creates and returns the serializer instance. |
|
| 58 | * |
|
| 59 | * @param \TechDivision\Import\Configuration\CsvConfigurationInterface $configuration The CSV configuration |
|
| 60 | * |
|
| 61 | * @return \TechDivision\Import\Serializers\ConfigurationAwareSerializerInterface The serializer instance |
|
| 62 | */ |
|
| 63 | public function createSerializer(CsvConfigurationInterface $configuration) |
|
| 64 | { |
|
| 65 | ||
| 66 | // load the serializer instance from the container and pass the configuration |
|
| 67 | /** @var \TechDivision\Import\Serializers\ConfigurationAwareSerializerInterface $serializer */ |
|
| 68 | $serializer = $this->container->get(DependencyInjectionKeys::IMPORT_SERIALIZER_CSV_ADDITIONAL_ATTRIBUTE); |
|
| 69 | $serializer->init($configuration); |
|
| 70 | ||
| 71 | // return the serializer instance |
|
| 72 | return $serializer; |
|
| 73 | } |
|
| 74 | } |
|
| 75 | ||
| @@ 36-74 (lines=39) @@ | ||
| 33 | * @link https://github.com/techdivision/import |
|
| 34 | * @link http://www.techdivision.com |
|
| 35 | */ |
|
| 36 | class ValueCsvSerializerFactory implements ConfigurationAwareSerializerFactoryInterface |
|
| 37 | { |
|
| 38 | ||
| 39 | /** |
|
| 40 | * The DI container instance. |
|
| 41 | * |
|
| 42 | * @var \Symfony\Component\DependencyInjection\ContainerInterface |
|
| 43 | */ |
|
| 44 | protected $container; |
|
| 45 | ||
| 46 | /** |
|
| 47 | * Initialize the factory with the DI container instance. |
|
| 48 | * |
|
| 49 | * @param \Symfony\Component\DependencyInjection\ContainerInterface $container The DI container instance |
|
| 50 | */ |
|
| 51 | public function __construct(ContainerInterface $container) |
|
| 52 | { |
|
| 53 | $this->container = $container; |
|
| 54 | } |
|
| 55 | ||
| 56 | /** |
|
| 57 | * Creates and returns the serializer instance. |
|
| 58 | * |
|
| 59 | * @param \TechDivision\Import\Configuration\CsvConfigurationInterface $configuration The CSV configuration |
|
| 60 | * |
|
| 61 | * @return \TechDivision\Import\Serializers\SerializerInterface The serializer instance |
|
| 62 | */ |
|
| 63 | public function createSerializer(CsvConfigurationInterface $configuration) |
|
| 64 | { |
|
| 65 | ||
| 66 | // load the serializer instance from the container and pass the configuration |
|
| 67 | /** @var \TechDivision\Import\Serializers\ValueCsvSerializerInterface $serializer */ |
|
| 68 | $serializer = $this->container->get(DependencyInjectionKeys::IMPORT_SERIALIZER_CSV_VALUE); |
|
| 69 | $serializer->init($configuration); |
|
| 70 | ||
| 71 | // return the serializer instance |
|
| 72 | return $serializer; |
|
| 73 | } |
|
| 74 | } |
|
| 75 | ||