@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
at upstream/main 88 lines 2.1 kB view raw
1<?php 2 3/** 4 * @task serialization Serializing Repository Refs 5 */ 6final class DiffusionRepositoryRef extends Phobject { 7 8 private $shortName; 9 private $commitIdentifier; 10 private $refType; 11 private $rawFields = array(); 12 13 public function setRawFields(array $raw_fields) { 14 $this->rawFields = $raw_fields; 15 return $this; 16 } 17 18 public function getRawFields() { 19 return $this->rawFields; 20 } 21 22 public function setCommitIdentifier($commit_identifier) { 23 $this->commitIdentifier = $commit_identifier; 24 return $this; 25 } 26 27 public function getCommitIdentifier() { 28 return $this->commitIdentifier; 29 } 30 31 public function setShortName($short_name) { 32 $this->shortName = $short_name; 33 return $this; 34 } 35 36 public function getShortName() { 37 return $this->shortName; 38 } 39 40 public function setRefType($ref_type) { 41 $this->refType = $ref_type; 42 return $this; 43 } 44 45 public function getRefType() { 46 return $this->refType; 47 } 48 49 public function isBranch() { 50 $type_branch = PhabricatorRepositoryRefCursor::TYPE_BRANCH; 51 return ($this->getRefType() === $type_branch); 52 } 53 54 public function isTag() { 55 $type_tag = PhabricatorRepositoryRefCursor::TYPE_TAG; 56 return ($this->getRefType() === $type_tag); 57 } 58 59 60/* -( Serialization )------------------------------------------------------ */ 61 62 63 public function toDictionary() { 64 return array( 65 'shortName' => $this->shortName, 66 'commitIdentifier' => $this->commitIdentifier, 67 'refType' => $this->refType, 68 'rawFields' => $this->rawFields, 69 ); 70 } 71 72 public static function newFromDictionary(array $dict) { 73 return id(new DiffusionRepositoryRef()) 74 ->setShortName($dict['shortName']) 75 ->setCommitIdentifier($dict['commitIdentifier']) 76 ->setRefType($dict['refType']) 77 ->setRawFields($dict['rawFields']); 78 } 79 80 public static function loadAllFromDictionaries(array $dictionaries) { 81 $refs = array(); 82 foreach ($dictionaries as $dictionary) { 83 $refs[] = self::newFromDictionary($dictionary); 84 } 85 return $refs; 86 } 87 88}