2015-08-17 17:00:26 -07:00
< ? php
/*
* This file is part of the Symfony package .
*
* ( c ) Fabien Potencier < fabien @ symfony . com >
*
* For the full copyright and license information , please view the LICENSE
* file that was distributed with this source code .
*/
namespace Symfony\Component\Console\Input ;
2017-02-02 16:28:38 -08:00
use Symfony\Component\Console\Exception\InvalidArgumentException ;
use Symfony\Component\Console\Exception\RuntimeException ;
2015-08-17 17:00:26 -07:00
/**
* InputInterface is the interface implemented by all input classes .
*
* @ author Fabien Potencier < fabien @ symfony . com >
*/
interface InputInterface
{
/**
* Returns the first argument from the raw parameters ( not parsed ) .
*
* @ return string The value of the first argument or null otherwise
*/
public function getFirstArgument ();
/**
* Returns true if the raw parameters ( not parsed ) contain a value .
*
* This method is to be used to introspect the input parameters
* before they have been validated . It must be used carefully .
*
* @ param string | array $values The values to look for in the raw parameters ( can be an array )
*
* @ return bool true if the value is contained in the raw parameters
*/
public function hasParameterOption ( $values );
/**
* Returns the value of a raw option ( not parsed ) .
*
* This method is to be used to introspect the input parameters
* before they have been validated . It must be used carefully .
*
* @ param string | array $values The value ( s ) to look for in the raw parameters ( can be an array )
* @ param mixed $default The default value to return if no result is found
*
* @ return mixed The option value
*/
public function getParameterOption ( $values , $default = false );
/**
* Binds the current Input instance with the given arguments and options .
*
* @ param InputDefinition $definition A InputDefinition instance
*/
public function bind ( InputDefinition $definition );
/**
2017-02-02 16:28:38 -08:00
* Validates the input .
2015-08-17 17:00:26 -07:00
*
2017-02-02 16:28:38 -08:00
* @ throws RuntimeException When not enough arguments are given
2015-08-17 17:00:26 -07:00
*/
public function validate ();
/**
* Returns all the given arguments merged with the default values .
*
* @ return array
*/
public function getArguments ();
/**
2017-02-02 16:28:38 -08:00
* Returns the argument value for a given argument name .
2015-08-17 17:00:26 -07:00
*
2017-02-02 16:28:38 -08:00
* @ param string $name The argument name
2015-08-17 17:00:26 -07:00
*
2017-02-02 16:28:38 -08:00
* @ return mixed The argument value
*
* @ throws InvalidArgumentException When argument given doesn ' t exist
2015-08-17 17:00:26 -07:00
*/
public function getArgument ( $name );
/**
* Sets an argument value by name .
*
* @ param string $name The argument name
* @ param string $value The argument value
*
2016-04-20 09:56:34 -07:00
* @ throws InvalidArgumentException When argument given doesn ' t exist
2015-08-17 17:00:26 -07:00
*/
public function setArgument ( $name , $value );
/**
* Returns true if an InputArgument object exists by name or position .
*
* @ param string | int $name The InputArgument name or position
*
* @ return bool true if the InputArgument object exists , false otherwise
*/
public function hasArgument ( $name );
/**
* Returns all the given options merged with the default values .
*
* @ return array
*/
public function getOptions ();
/**
2017-02-02 16:28:38 -08:00
* Returns the option value for a given option name .
2015-08-17 17:00:26 -07:00
*
2017-02-02 16:28:38 -08:00
* @ param string $name The option name
2015-08-17 17:00:26 -07:00
*
2017-02-02 16:28:38 -08:00
* @ return mixed The option value
*
* @ throws InvalidArgumentException When option given doesn ' t exist
2015-08-17 17:00:26 -07:00
*/
public function getOption ( $name );
/**
* Sets an option value by name .
*
* @ param string $name The option name
* @ param string | bool $value The option value
*
2016-04-20 09:56:34 -07:00
* @ throws InvalidArgumentException When option given doesn ' t exist
2015-08-17 17:00:26 -07:00
*/
public function setOption ( $name , $value );
/**
* Returns true if an InputOption object exists by name .
*
* @ param string $name The InputOption name
*
* @ return bool true if the InputOption object exists , false otherwise
*/
public function hasOption ( $name );
/**
* Is this input means interactive ?
*
* @ return bool
*/
public function isInteractive ();
/**
* Sets the input interactivity .
*
* @ param bool $interactive If the input should be interactive
*/
public function setInteractive ( $interactive );
}