$verbosityLevel} * that is needed by the progress bar to be rendered. If * $verbosityLevel is lower, the bar is skipped. Default is 0 to * render always. * @property int $maxVerbosity * Defines the maximum {ezcConsoleOutputOptions->$verbosityLevel} on * which the progress bar is rendered. If $verbosityLevel is higher, * the bar is skipped. Default is false, to render always. * * @package ConsoleTools * @version 1.6.1 */ class ezcConsoleProgressbarOptions extends ezcBaseOptions { protected $properties = array( 'barChar' => "+", 'emptyChar' => "-", 'formatString' => "%act% / %max% [%bar%] %fraction%%", 'fractionFormat' => "%01.2f", 'progressChar' => ">", 'redrawFrequency' => 1, 'step' => 1, 'width' => 78, 'actFormat' => '%.0f', 'maxFormat' => '%.0f', 'minVerbosity' => 1, 'maxVerbosity' => false, ); /** * Option write access. * * @throws ezcBasePropertyNotFoundException * If a desired property could not be found. * @throws ezcBaseValueException * If a desired property value is out of range. * * @param string $key Name of the property. * @param mixed $value The value for the property. * @ignore */ public function __set( $key, $value ) { switch ( $key ) { case "barChar": case "emptyChar": case "progressChar": case "formatString": case "fractionFormat": case "actFormat": case "maxFormat": if ( is_string( $value ) === false || strlen( $value ) < 1 ) { throw new ezcBaseValueException( $key, $value, 'string, not empty' ); } break; case "width": if ( !is_int( $value ) || $value < 5 ) { throw new ezcBaseValueException( $key, $value, 'int >= 5' ); } break; case "redrawFrequency": case "step": if ( ( !is_int( $value ) && !is_float( $value ) ) || $value < 1 ) { throw new ezcBaseValueException( $key, $value, 'int > 0' ); } break; case 'minVerbosity': if ( !is_int( $value ) || $value < 0 ) { throw new ezcBaseValueException( $key, $value, 'int >= 0' ); } break; case 'maxVerbosity': if ( ( !is_int( $value ) || $value < 0 ) && $value !== false ) { throw new ezcBaseValueException( $key, $value, 'int >= 0 or false' ); } break; default: throw new ezcBasePropertyNotFoundException( $key ); } $this->properties[$key] = $value; } } ?>