6 declare(strict_types=1);
31 private $dependencyInfoProvider;
36 private $indexerRegistry;
49 $this->dependencyInfoProvider = $dependencyInfoProvider;
58 return call_user_func_array([$this->indexer,
$method], $args);
66 return [
'indexer',
'dependencyInfoProvider',
'indexerRegistry'];
74 $this->indexer = clone $this->indexer;
82 return $this->indexer->getId();
90 return $this->indexer->getViewId();
98 return $this->indexer->getActionClass();
106 return $this->indexer->getTitle();
114 return $this->indexer->getDescription();
122 return $this->indexer->getFields();
130 return $this->indexer->getSources();
138 return $this->indexer->getHandlers();
144 public function load($indexerId): self
146 $this->indexer->load($indexerId);
155 return $this->indexer->getView();
163 return $this->indexer->getState();
171 $this->indexer->setState(
$state);
180 return $this->indexer->isScheduled();
188 $this->indexer->setScheduled($scheduled);
196 return $this->indexer->isValid();
204 return $this->indexer->isInvalid();
212 return $this->indexer->isWorking();
220 $this->indexer->invalidate();
221 $dependentIndexerIds = $this->dependencyInfoProvider->getIndexerIdsToRunAfter($this->indexer->getId());
222 foreach ($dependentIndexerIds as $indexerId) {
223 $this->indexerRegistry->get($indexerId)->invalidate();
232 return $this->indexer->getStatus();
240 return $this->indexer->getLatestUpdated();
248 $this->indexer->reindexAll();
256 $this->indexer->reindexRow(
$id);
257 $dependentIndexerIds = $this->dependencyInfoProvider->getIndexerIdsToRunAfter($this->indexer->getId());
258 foreach ($dependentIndexerIds as $indexerId) {
259 $dependentIndexer = $this->indexerRegistry->get($indexerId);
260 if (!$dependentIndexer->isScheduled()) {
261 $dependentIndexer->reindexRow(
$id);
271 $this->indexer->reindexList($ids);
272 $dependentIndexerIds = $this->dependencyInfoProvider->getIndexerIdsToRunAfter($this->indexer->getId());
273 foreach ($dependentIndexerIds as $indexerId) {
274 $dependentIndexer = $this->indexerRegistry->get($indexerId);
275 if (!$dependentIndexer->isScheduled()) {
276 $dependentIndexer->reindexList($ids);
__construct(IndexerInterface $indexer, DependencyInfoProviderInterface $dependencyInfoProvider, IndexerRegistry $indexerRegistry)
setState(StateInterface $state)
__call(string $method, array $args)