mixed) */ protected $properties; /** * Create a new ezcConsoleProgressbarCell. * Creates a new ezcConsoleProgressbarCell. You can either submit the cell * data through the constructor or set them as properties. * * @param string $content Content of the cell. * @param string $format Format to display the cell with. * @param mixed $align Alignment of the content in the cell. * @return void */ public function __construct( $content = '', $format = 'default', $align = ezcConsoleTable::ALIGN_DEFAULT ) { $this->__set( 'content', $content ); $this->__set( 'format', $format ); $this->__set( 'align', $align ); } /** * Property read access. * * @param string $key Name of the property. * @return mixed Value of the property or null. * * @throws ezcBasePropertyNotFoundException * If the the desired property is not found. * @ignore */ public function __get( $key ) { if ( isset( $this->properties[$key] ) ) { return $this->properties[$key]; } throw new ezcBasePropertyNotFoundException( $key ); } /** * Property write access. * * @param string $key Name of the property. * @param mixed $val The value for the property. * * @throws ezcBaseValueException * If a the value submitted for the align is not in the range of * {@link ezcConsoleTable::ALIGN_LEFT}, * {@link ezcConsoleTable::ALIGN_CENTER}, * {@link ezcConsoleTable::ALIGN_RIGHT}, * {@link ezcConsoleTable::ALIGN_DEFAULT} * * @ignore */ public function __set( $key, $val ) { switch ( $key ) { case 'content': if ( is_string( $val ) === false ) { throw new ezcBaseValueException( $key, $val, "string" ); } break; case 'format': if ( is_string( $val ) === false || strlen( $val ) < 1 ) { throw new ezcBaseValueException( $key, $val, "string, length > 0" ); } break; case 'align': if ( $val !== ezcConsoleTable::ALIGN_LEFT && $val !== ezcConsoleTable::ALIGN_CENTER && $val !== ezcConsoleTable::ALIGN_RIGHT && $val !== ezcConsoleTable::ALIGN_DEFAULT ) { throw new ezcBaseValueException( $key, $val, 'ezcConsoleTable::ALIGN_DEFAULT, ezcConsoleTable::ALIGN_LEFT, ezcConsoleTable::ALIGN_CENTER, ezcConsoleTable::ALIGN_RIGHT' ); } break; default: throw new ezcBasePropertyNotFoundException( $key ); } $this->properties[$key] = $val; return; } /** * Property isset access. * * @param string $key Name of the property. * @return bool True is the property is set, otherwise false. * @ignore */ public function __isset( $key ) { switch ( $key ) { case 'content': case 'format': case 'align': return true; default: break; } return false; } } ?>