Differential D14832 Diff 35887 src/applications/system/engine/PhabricatorDestructionEngineExtension.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/system/engine/PhabricatorDestructionEngineExtension.php
<?php | <?php | ||||
abstract class PhabricatorDestructionEngineExtension extends Phobject { | abstract class PhabricatorDestructionEngineExtension extends Phobject { | ||||
final public function getExtensionKey() { | final public function getExtensionKey() { | ||||
return $this->getPhobjectClassConstant('EXTENSIONKEY'); | return $this->getPhobjectClassConstant('EXTENSIONKEY'); | ||||
} | } | ||||
abstract public function getExtensionName(); | abstract public function getExtensionName(); | ||||
abstract public function canDestroyObject( | |||||
public function canDestroyObject( | |||||
PhabricatorDestructionEngine $engine, | PhabricatorDestructionEngine $engine, | ||||
$object); | $object) { | ||||
return true; | |||||
} | |||||
abstract public function destroyObject( | abstract public function destroyObject( | ||||
PhabricatorDestructionEngine $engine, | PhabricatorDestructionEngine $engine, | ||||
$object); | $object); | ||||
final public static function getAllExtensions() { | final public static function getAllExtensions() { | ||||
return id(new PhutilClassMapQuery()) | return id(new PhutilClassMapQuery()) | ||||
->setAncestorClass(__CLASS__) | ->setAncestorClass(__CLASS__) | ||||
->setUniqueMethod('getExtensionKey') | ->setUniqueMethod('getExtensionKey') | ||||
->execute(); | ->execute(); | ||||
} | } | ||||
} | } |