45 return \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(
'TYPO3\\CMS\\Core\\Resource\\Index\\ExtractorRegistry');
55 if (!class_exists($className)) {
56 throw new \InvalidArgumentException(
'The class "' . $className .
'" you are registering is not available', 1422705270);
57 } elseif (!in_array(
'TYPO3\\CMS\\Core\\Resource\\Index\\ExtractorInterface', class_implements($className))) {
58 throw new \InvalidArgumentException(
'The extractor needs to implement the ExtractorInterface', 1422705271);
60 $this->extractors[] = $className;
69 public function getExtractors() {
70 if ($this->instances === NULL) {
71 $this->instances = array();
77 $this->instances[] = $object;
80 if (count($this->instances) > 1) {
81 usort($this->instances, array($this,
'compareExtractorPriority'));
94 $allExtractors = $this->getExtractors();
96 $filteredExtractors = array();
97 foreach ($allExtractors as $priority => $extractorObject) {
98 if (count($extractorObject->getDriverRestrictions()) == 0) {
99 $filteredExtractors[$priority] = $extractorObject;
100 } elseif (in_array($driverType, $extractorObject->getDriverRestrictions())) {
101 $filteredExtractors[$priority] = $extractorObject;
104 return $filteredExtractors;
static makeInstance($className)