3 abstract class PhabricatorIndexEngineExtension
extends Phobject
{
6 private $forceFullReindex;
8 public function setParameters(array $parameters) {
9 $this->parameters
= $parameters;
13 public function getParameter($key, $default = null) {
14 return idx($this->parameters
, $key, $default);
17 final public function getExtensionKey() {
18 return $this->getPhobjectClassConstant('EXTENSIONKEY');
21 final protected function getViewer() {
22 return PhabricatorUser
::getOmnipotentUser();
25 abstract public function getExtensionName();
27 abstract public function shouldIndexObject($object);
29 abstract public function indexObject(
30 PhabricatorIndexEngine
$engine,
33 public function getIndexVersion($object) {
37 final public static function getAllExtensions() {
38 return id(new PhutilClassMapQuery())
39 ->setAncestorClass(__CLASS__
)
40 ->setUniqueMethod('getExtensionKey')
44 final public function shouldForceFullReindex() {
45 return $this->getParameter('force');