*/ abstract class WrappedCommand extends AbstractCommand { /** * Creates the instance of the Propel sub-command to execute. * * @return \Symfony\Component\Console\Command\Command */ abstract protected function createSubCommandInstance(); /** * Returns all the arguments and options needed by the Propel sub-command. * * @return array */ abstract protected function getSubCommandArguments(InputInterface $input); /** * {@inheritdoc} */ protected function configure() { $this ->addOption('platform', null, InputOption::VALUE_OPTIONAL, 'The platform') ; } /** * {@inheritdoc} */ protected function execute(InputInterface $input, OutputInterface $output) { $params = $this->getSubCommandArguments($input); $command = $this->createSubCommandInstance(); $this->setupBuildTimeFiles(); return $this->runCommand($command, $params, $input, $output); } }