public function __construct(IDataSource $owner, $viewName, $dataSource)
{
parent::__construct($owner, $viewName);
if ($dataSource === null || is_array($dataSource)) {
$this->_dataSource = new TMap($dataSource);
} else {
if ($dataSource instanceof \Traversable) {
$this->_dataSource = $dataSource;
} else {
throw new TInvalidDataTypeException('readonlydatasourceview_datasource_invalid');
}
}
}