Remove all "FileHasObject" edge reads and writes
[phabricator.git] / src / applications / guides / guidance / PhabricatorGuidanceEngineExtension.php
blobb552b10b05572a19cb16520de9bbd3ea2226b242
1 <?php
3 abstract class PhabricatorGuidanceEngineExtension
4 extends Phobject {
6 final public function getExtensionKey() {
7 return $this->getPhobjectClassConstant('GUIDANCEKEY', 64);
10 abstract public function canGenerateGuidance(
11 PhabricatorGuidanceContext $context);
13 abstract public function generateGuidance(
14 PhabricatorGuidanceContext $context);
16 public function didGenerateGuidance(
17 PhabricatorGuidanceContext $context,
18 array $guidance) {
19 return $guidance;
22 final protected function newGuidance($key) {
23 return id(new PhabricatorGuidanceMessage())
24 ->setKey($key);
27 final protected function newWarning($key) {
28 return $this->newGuidance($key)
29 ->setSeverity(PhabricatorGuidanceMessage::SEVERITY_WARNING);
32 final public static function getAllExtensions() {
33 return id(new PhutilClassMapQuery())
34 ->setAncestorClass(__CLASS__)
35 ->setUniqueMethod('getExtensionKey')
36 ->execute();