private function getSerialized(Snak $snak) { $serialization = array('snaktype' => $snak->getType(), 'property' => $snak->getPropertyId()->getSerialization()); if ($this->serializeWithHash) { $serialization['hash'] = $snak->getHash(); } if ($snak instanceof PropertyValueSnak) { $serialization['datavalue'] = $this->dataValueSerializer->serialize($snak->getDataValue()); } return $serialization; }
/** * @since 0.4 * * @param SnakList $qualifiers * @param Summary $summary * * @throws ChangeOpException */ protected function setQualifier(SnakList $qualifiers, Summary $summary = null) { if (!$qualifiers->hasSnakHash($this->snakHash)) { throw new ChangeOpException("Qualifier with hash {$this->snakHash} does not exist"); } if ($qualifiers->hasSnak($this->snak)) { throw new ChangeOpException('The statement has already a qualifier with hash ' . $this->snak->getHash()); } $qualifiers->removeSnakHash($this->snakHash); $qualifiers->addSnak($this->snak); $this->updateSummary($summary, 'update', '', $this->getSnakSummaryArgs($this->snak)); }
/** * @dataProvider snakProvider * @param Snak $snak */ public function testGetHash(Snak $snak) { $hash = $snak->getHash(); $this->assertInternalType('string', $hash); $this->assertEquals($hash, $snak->getHash()); }
/** * @see Hashable::getHash * * @since 0.1 * * @return string */ public function getHash() { return sha1(implode('|', array(sha1($this->mainSnak->getHash() . $this->qualifiers->getHash()), $this->rank, $this->references->getValueHash()))); }
/** * @see Snaks::removeSnak * * @since 0.1 * * @param Snak $snak */ public function removeSnak(Snak $snak) { $this->removeByElementHash($snak->getHash()); }