mixed) $options The initial options to set. * @return void * * @throws ezcBasePropertyNotFoundException * If a the value for the property options is not an instance of * @throws ezcBaseValueException * If a the value for a property is out of range. */ public function __construct() { $this->properties['verbosityLevel'] = 1; $this->properties['autobreak'] = 0; $this->properties['useFormats'] = true; $args = func_get_args(); if ( func_num_args() === 1 && is_array( $args[0] ) ) { parent::__construct( $args[0] ); } else { foreach ( $args as $id => $val ) { switch ( $id ) { case 0: $this->__set( "verbosityLevel", $val ); break; case 1: $this->__set( "autobreak", $val ); break; case 2: $this->__set( "useFormats", $val ); break; } } } } /** * Property 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 $propertyName Name of the property. * @param mixed $val The value for the property. * @ignore */ public function __set( $propertyName, $val ) { switch ( $propertyName ) { case 'verbosityLevel': case 'autobreak': if ( !is_int( $val ) || $val < 0 ) { throw new ezcBaseValueException( $propertyName, $val, 'int >= 0' ); } break; case 'useFormats': if ( !is_bool( $val ) ) { throw new ezcBaseValueException( $propertyName, $val, 'bool' ); } break; default: throw new ezcBasePropertyNotFoundException( $propertyName ); } $this->properties[$propertyName] = $val; } } ?>