3 final class DrydockBlueprintCoreCustomField
4 extends DrydockBlueprintCustomField
5 implements PhabricatorStandardCustomFieldInterface
{
7 public function getStandardCustomFieldNamespace() {
11 public function createFields($object) {
12 // If this is a generic object without an attached implementation (for
13 // example, via ApplicationSearch), just don't build any custom fields.
14 if (!$object->hasImplementation()) {
18 $impl = $object->getImplementation();
19 $specs = $impl->getFieldSpecifications();
21 return PhabricatorStandardCustomField
::buildStandardFields($this, $specs);
24 public function shouldUseStorage() {
28 public function readValueFromObject(PhabricatorCustomFieldInterface
$object) {
29 $key = $this->getProxy()->getRawStandardFieldKey();
30 $this->setValueFromStorage($object->getDetail($key));
31 $this->didSetValueFromStorage();
34 public function applyApplicationTransactionInternalEffects(
35 PhabricatorApplicationTransaction
$xaction) {
36 $object = $this->getObject();
37 $key = $this->getProxy()->getRawStandardFieldKey();
39 $this->setValueFromApplicationTransactions($xaction->getNewValue());
40 $value = $this->getValueForStorage();
42 $object->setDetail($key, $value);
45 public function getBlueprintFieldValue() {
46 return $this->getProxy()->getFieldValue();