73 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| namespace nur\mapper\base;
 | |
| 
 | |
| use nur\cli\DynamicCommand;
 | |
| use nur\mapper\csv\Assoc2CsvMapper_command;
 | |
| use nur\mapper\csv\Csv2AssocMapper_command;
 | |
| use nur\mapper\fsv\Assoc2FsvMapper_command;
 | |
| use nur\mapper\fsv\Fsv2AssocMapper_command;
 | |
| use nur\mapper\item\Assoc2SeqMapper_command;
 | |
| use nur\mapper\item\AttributeFilterMapper_command;
 | |
| use nur\mapper\item\GenericMapper_command;
 | |
| use nur\mapper\item\ItemFilterMapper_command;
 | |
| use nur\mapper\item\NumberMapper_command;
 | |
| use nur\mapper\item\SchemaMapper_command;
 | |
| use nur\mapper\item\Seq2AssocMapper_command;
 | |
| use nur\mapper\item\StreamMapper_command;
 | |
| use nur\mapper\item\StringMapper_command;
 | |
| use nur\mapper\item\TextMapper_command;
 | |
| use nur\mapper\line\IconvMapper_command;
 | |
| 
 | |
| /**
 | |
|  * Class mappers_command: classe de support pour construire un ensemble de
 | |
|  * mappers pour une application recevant des commandes utilisateurs
 | |
|  */
 | |
| class mappers_command extends DynamicCommand {
 | |
|   const PRODUCER_CLASSES = [
 | |
|   ];
 | |
|   const CONSUMER_CLASSES = [
 | |
|   ];
 | |
|   const MAPPER_CLASSES = [
 | |
|     # base
 | |
|     FuncMapper_command::class,
 | |
|     # item
 | |
|     StreamMapper_command::class,
 | |
|     StringMapper_command::class,
 | |
|     TextMapper_command::class,
 | |
|     NumberMapper_command::class,
 | |
|     GenericMapper_command::class,
 | |
|     Seq2AssocMapper_command::class,
 | |
|     SchemaMapper_command::class,
 | |
|     ItemFilterMapper_command::class,
 | |
|     AttributeFilterMapper_command::class,
 | |
|     Assoc2SeqMapper_command::class,
 | |
|     # line
 | |
|     IconvMapper_command::class,
 | |
|     # csv
 | |
|     Csv2AssocMapper_command::class,
 | |
|     Assoc2CsvMapper_command::class,
 | |
|     # fsv
 | |
|     Fsv2AssocMapper_command::class,
 | |
|     Assoc2FsvMapper_command::class,
 | |
|   ];
 | |
| 
 | |
|   protected function DYNAMIC_COMMAND_CLASSES(): array {
 | |
|     return array_merge(self::PRODUCER_CLASSES, self::CONSUMER_CLASSES, self::MAPPER_CLASSES);
 | |
|   }
 | |
| 
 | |
|   function COMMANDS(): array {
 | |
|     $commands = [];
 | |
|     foreach ($this->DYNAMIC_COMMAND_CLASSES() as $cc) {
 | |
|       $commands[] = $cc::get_def();
 | |
|     }
 | |
|     return $commands;
 | |
|   }
 | |
| 
 | |
|   static $mappers = [];
 | |
| 
 | |
|   static function add(Mapper $mapper): Mapper {
 | |
|     self::$mappers[] = $mapper;
 | |
|     return $mapper;
 | |
|   }
 | |
| }
 |