Path: blob/master/src/applications/harbormaster/engine/HarbormasterBuildableEngine.php
12256 views
<?php12abstract class HarbormasterBuildableEngine3extends Phobject {45private $viewer;6private $actingAsPHID;7private $contentSource;8private $object;910final public function setViewer(PhabricatorUser $viewer) {11$this->viewer = $viewer;12return $this;13}1415final public function getViewer() {16return $this->viewer;17}1819final public function setActingAsPHID($acting_as_phid) {20$this->actingAsPHID = $acting_as_phid;21return $this;22}2324final public function getActingAsPHID() {25return $this->actingAsPHID;26}2728final public function setContentSource(29PhabricatorContentSource $content_source) {30$this->contentSource = $content_source;31return $this;32}3334final public function getContentSource() {35return $this->contentSource;36}3738final public function setObject(HarbormasterBuildableInterface $object) {39$this->object = $object;40return $this;41}4243final public function getObject() {44return $this->object;45}4647protected function getPublishableObject() {48return $this->getObject();49}5051public function publishBuildable(52HarbormasterBuildable $old,53HarbormasterBuildable $new) {54return;55}5657final public static function newForObject(58HarbormasterBuildableInterface $object,59PhabricatorUser $viewer) {60return $object->newBuildableEngine()61->setViewer($viewer)62->setObject($object);63}6465final protected function newEditor() {66$publishable = $this->getPublishableObject();6768$viewer = $this->getViewer();6970$editor = $publishable->getApplicationTransactionEditor()71->setActor($viewer)72->setContinueOnNoEffect(true)73->setContinueOnMissingFields(true);7475$acting_as_phid = $this->getActingAsPHID();76if ($acting_as_phid !== null) {77$editor->setActingAsPHID($acting_as_phid);78}7980$content_source = $this->getContentSource();81if ($content_source !== null) {82$editor->setContentSource($content_source);83}8485return $editor;86}8788final protected function newTransaction() {89$publishable = $this->getPublishableObject();9091return $publishable->getApplicationTransactionTemplate();92}9394final protected function applyTransactions(array $xactions) {95$publishable = $this->getPublishableObject();96$editor = $this->newEditor();9798$editor->applyTransactions($publishable, $xactions);99}100101public function getAuthorIdentity() {102return null;103}104105}106107108