/** * * @see library/ODataProducer/ODataProducer.IServiceProvider::getService() * * @return object */ public function getService($serviceType) { if ($serviceType === 'IDataServiceMetadataProvider') { if (is_null($this->_northWindMetadata)) { $this->_northWindMetadata = CreateNorthWindMetadata::Create(); } return $this->_northWindMetadata; } else { if ($serviceType === 'IDataServiceQueryProvider') { if (is_null($this->_northWindQueryProvider)) { $this->_northWindQueryProvider = new NorthWindQueryProvider(); } return $this->_northWindQueryProvider; } else { if ($serviceType === 'IDataServiceStreamProvider') { return new NorthWindStreamProvider(); } } } return null; }