collectionProcessor = $collectionProcessor; $this->stockSourceLinkCollectionFactory = $stockSourceLinkCollectionFactory; $this->stockSourceLinkSearchResultsFactory = $stockSourceLinkSearchResultsFactory; $this->searchCriteriaBuilder = $searchCriteriaBuilder; } /** * @inheritdoc */ public function execute(SearchCriteriaInterface $searchCriteria): StockSourceLinkSearchResultsInterface { /** @var StockSourceLinkCollection $collection */ $collection = $this->stockSourceLinkCollectionFactory->create(); $this->collectionProcessor->process($searchCriteria, $collection); /** @var StockSourceLinkSearchResultsInterface $searchResult */ $searchResult = $this->stockSourceLinkSearchResultsFactory->create(); $searchResult->setItems($collection->getItems()); $searchResult->setTotalCount($collection->getSize()); $searchResult->setSearchCriteria($searchCriteria); return $searchResult; } }