/** * Get the service like IMetadataProvider, IDataServiceQueryProvider, * IStreamProvider * * @param String $serviceType Type of service IMetadataProvider, * IDataServiceQueryProvider, * IStreamProvider * * @see library/POData.IServiceProvider::getService() * @return object */ public function getService($serviceType) { if ($serviceType === 'IMetadataProvider' || $serviceType === 'IQueryProvider' || $serviceType === 'IStreamProvider') { if (is_null($this->_wordPressExpressionProvider)) { $this->_wordPressExpressionProvider = new WordPressDSExpressionProvider(); } } if ($serviceType === 'IMetadataProvider') { if (is_null($this->_wordPressMetadata)) { $this->_wordPressMetadata = CreateWordPressMetadata::create(); // $this->_wordPressMetadata->mappedDetails = CreateWordPressMetadata::mappingInitialize(); } return $this->_wordPressMetadata; } else { if ($serviceType === 'IQueryProvider') { if (is_null($this->_wordPressQueryProvider)) { $this->_wordPressQueryProvider = new WordPressQueryProvider(); } return $this->_wordPressQueryProvider; } else { if ($serviceType === 'IStreamProvider') { return new WordPressStreamProvider(); } } } return null; }
/** * Get the service like IDataServiceMetadataProvider, IDataServiceQueryProvider, * IDataServiceStreamProvider * * @param String $serviceType Type of service IDataServiceMetadataProvider, * IDataServiceQueryProvider, * IDataServiceStreamProvider * * @see library/ODataProducer/ODataProducer.IServiceProvider::getService() * @return object */ public function getService($serviceType) { if ($serviceType === 'IDataServiceMetadataProvider') { if (is_null($this->_wordPressMetadata)) { $this->_wordPressMetadata = CreateWordPressMetadata::create(); } return $this->_wordPressMetadata; } else { if ($serviceType === 'IDataServiceQueryProvider') { if (is_null($this->_wordPressQueryProvider)) { $this->_wordPressQueryProvider = new WordPressQueryProvider(); } return $this->_wordPressQueryProvider; } else { if ($serviceType === 'IDataServiceStreamProvider') { return new WordPressStreamProvider(); } } } return null; }