Correct a parameter order swap in "diffusion.historyquery" for Mercurial
[phabricator.git] / src / applications / transactions / engineextension / PhabricatorEditorExtension.php
blob6ffac522c29495ab7f9f02c332fb5b3516458ff2
1 <?php
3 abstract class PhabricatorEditorExtension
4 extends Phobject {
6 private $viewer;
7 private $editor;
8 private $object;
10 final public function getExtensionKey() {
11 return $this->getPhobjectClassConstant('EXTENSIONKEY');
14 final public function setEditor(
15 PhabricatorApplicationTransactionEditor $editor) {
16 $this->editor = $editor;
17 return $this;
20 final public function getEditor() {
21 return $this->editor;
24 final public function setViewer(PhabricatorUser $viewer) {
25 $this->viewer = $viewer;
26 return $this;
29 final public function getViewer() {
30 return $this->viewer;
33 final public function setObject(
34 PhabricatorApplicationTransactionInterface $object) {
35 $this->object = $object;
36 return $this;
39 final public static function getAllExtensions() {
40 return id(new PhutilClassMapQuery())
41 ->setAncestorClass(__CLASS__)
42 ->setUniqueMethod('getExtensionKey')
43 ->execute();
46 abstract public function getExtensionName();
48 public function supportsObject(
49 PhabricatorApplicationTransactionEditor $editor,
50 PhabricatorApplicationTransactionInterface $object) {
51 return true;
54 public function validateTransactions($object, array $xactions) {
55 return array();
58 final protected function newTransactionError(
59 PhabricatorApplicationTransaction $xaction,
60 $title,
61 $message) {
62 return new PhabricatorApplicationTransactionValidationError(
63 $xaction->getTransactionType(),
64 $title,
65 $message,
66 $xaction);
69 final protected function newRequiredTransasctionError(
70 PhabricatorApplicationTransaction $xaction,
71 $message) {
72 return $this->newError($xaction, pht('Required'), $message)
73 ->setIsMissingFieldError(true);
76 final protected function newInvalidTransactionError(
77 PhabricatorApplicationTransaction $xaction,
78 $message) {
79 return $this->newTransactionError($xaction, pht('Invalid'), $message);