3 abstract class PhabricatorEditorExtension
10 final public function getExtensionKey() {
11 return $this->getPhobjectClassConstant('EXTENSIONKEY');
14 final public function setEditor(
15 PhabricatorApplicationTransactionEditor
$editor) {
16 $this->editor
= $editor;
20 final public function getEditor() {
24 final public function setViewer(PhabricatorUser
$viewer) {
25 $this->viewer
= $viewer;
29 final public function getViewer() {
33 final public function setObject(
34 PhabricatorApplicationTransactionInterface
$object) {
35 $this->object = $object;
39 final public static function getAllExtensions() {
40 return id(new PhutilClassMapQuery())
41 ->setAncestorClass(__CLASS__
)
42 ->setUniqueMethod('getExtensionKey')
46 abstract public function getExtensionName();
48 public function supportsObject(
49 PhabricatorApplicationTransactionEditor
$editor,
50 PhabricatorApplicationTransactionInterface
$object) {
54 public function validateTransactions($object, array $xactions) {
58 final protected function newTransactionError(
59 PhabricatorApplicationTransaction
$xaction,
62 return new PhabricatorApplicationTransactionValidationError(
63 $xaction->getTransactionType(),
69 final protected function newRequiredTransasctionError(
70 PhabricatorApplicationTransaction
$xaction,
72 return $this->newError($xaction, pht('Required'), $message)
73 ->setIsMissingFieldError(true);
76 final protected function newInvalidTransactionError(
77 PhabricatorApplicationTransaction
$xaction,
79 return $this->newTransactionError($xaction, pht('Invalid'), $message);