StdinAwareTrait.php 546 Bytes
Newer Older
Ketan's avatar
Ketan committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
<?php

namespace Consolidation\AnnotatedCommand\Input;

/**
 * StdinAwareTrait provides the implementation for StdinAwareInterface.
 */
trait StdinAwareTrait
{
    protected $stdinHandler;

    /**
     * @inheritdoc
     */
    public function setStdinHandler(StdinHandler $stdin)
    {
        $this->stdinHandler = $stdin;
    }

    /**
     * @inheritdoc
     */
    public function stdin()
    {
        if (!$this->stdinHandler) {
            $this->stdinHandler = new StdinHandler();
        }
        return $this->stdinHandler;
    }
}