createFromArray( $data ); parent::__construct(); } /** * setData * * Can handle data provided through an array or iterator. * * @param array|Iterator $data * @access public * @return void */ protected function createFromArray( $data = array() ) { if ( !is_array( $data ) && !( $data instanceof Traversable ) ) { throw new ezcGraphInvalidArrayDataSourceException( $data ); } $this->data = array(); foreach ( $data as $key => $value ) { $this->data[$key] = $value; } if ( !count( $this->data ) ) { throw new ezcGraphInvalidDataException( 'Data sets should contain some values.' ); } } /** * Returns the number of elements in this dataset * * @return int */ public function count() { return count( $this->data ); } } ?>