Chris@0: Chris@0: * Chris@0: * For the full copyright and license information, please view the LICENSE Chris@0: * file that was distributed with this source code. Chris@0: */ Chris@0: Chris@0: namespace Symfony\Component\Console\Style; Chris@0: Chris@0: use Symfony\Component\Console\Formatter\OutputFormatterInterface; Chris@0: use Symfony\Component\Console\Helper\ProgressBar; Chris@17: use Symfony\Component\Console\Output\ConsoleOutputInterface; Chris@0: use Symfony\Component\Console\Output\OutputInterface; Chris@0: Chris@0: /** Chris@0: * Decorates output to add console style guide helpers. Chris@0: * Chris@0: * @author Kevin Bond Chris@0: */ Chris@0: abstract class OutputStyle implements OutputInterface, StyleInterface Chris@0: { Chris@0: private $output; Chris@0: Chris@0: public function __construct(OutputInterface $output) Chris@0: { Chris@0: $this->output = $output; Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function newLine($count = 1) Chris@0: { Chris@0: $this->output->write(str_repeat(PHP_EOL, $count)); Chris@0: } Chris@0: Chris@0: /** Chris@0: * @param int $max Chris@0: * Chris@0: * @return ProgressBar Chris@0: */ Chris@0: public function createProgressBar($max = 0) Chris@0: { Chris@0: return new ProgressBar($this->output, $max); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function write($messages, $newline = false, $type = self::OUTPUT_NORMAL) Chris@0: { Chris@0: $this->output->write($messages, $newline, $type); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function writeln($messages, $type = self::OUTPUT_NORMAL) Chris@0: { Chris@0: $this->output->writeln($messages, $type); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function setVerbosity($level) Chris@0: { Chris@0: $this->output->setVerbosity($level); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function getVerbosity() Chris@0: { Chris@0: return $this->output->getVerbosity(); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function setDecorated($decorated) Chris@0: { Chris@0: $this->output->setDecorated($decorated); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function isDecorated() Chris@0: { Chris@0: return $this->output->isDecorated(); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function setFormatter(OutputFormatterInterface $formatter) Chris@0: { Chris@0: $this->output->setFormatter($formatter); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function getFormatter() Chris@0: { Chris@0: return $this->output->getFormatter(); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function isQuiet() Chris@0: { Chris@0: return $this->output->isQuiet(); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function isVerbose() Chris@0: { Chris@0: return $this->output->isVerbose(); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function isVeryVerbose() Chris@0: { Chris@0: return $this->output->isVeryVerbose(); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function isDebug() Chris@0: { Chris@0: return $this->output->isDebug(); Chris@0: } Chris@14: Chris@14: protected function getErrorOutput() Chris@14: { Chris@14: if (!$this->output instanceof ConsoleOutputInterface) { Chris@14: return $this->output; Chris@14: } Chris@14: Chris@14: return $this->output->getErrorOutput(); Chris@14: } Chris@0: }