/** * @param InputDefinition $inputDefinition * @param InputInterface $input */ public function init(InputDefinition $inputDefinition, InputInterface $input) { $options = new ProcessOptionCollection(); foreach ($inputDefinition->getOptions() as $optionName => $inputOption) { $optionValue = $input->getOption($optionName); if ($inputOption->getDefault() != $optionValue) { switch (true) { case in_array($optionName, $this->skipOptions): $option = null; break; case $inputOption->isArray() && $optionName == 'out': $option = new ProcessOptionOut($optionName, $optionValue); break; case $inputOption->isArray(): $option = new ProcessOptionArray($optionName, $optionValue); break; case $inputOption->isValueRequired(): case $inputOption->isValueOptional(): $option = new ProcessOptionScalar($optionName, $optionValue); break; default: $option = new ProcessOption($optionName); } if ($option) { $options->set($option); } } } $this->optionCollection = $options; }
/** * @param ProcessOptionInterface $option */ public function setProcessOption(ProcessOptionInterface $option) { $this->optionCollection->set($option); }