/** * @param string[] $termArray * * @return TermList */ private function newTermListFromArray(array $termArray) { $termList = new TermList(); foreach ($termArray as $language => $labelText) { $termList->setTextForLanguage($language, $labelText); } return $termList; }
/** * @param array $serialization * * @return TermList */ private function getDeserialized($serialization) { $termList = new TermList(); foreach ($serialization as $termSerialization) { $termList->setTerm($this->termDeserializer->deserialize($termSerialization)); } return $termList; }
/** * Adds the descriptions of the given entity to the RDF graph. * * @param string $entityLName * @param TermList $descriptions */ public function addDescriptions($entityLName, TermList $descriptions) { foreach ($descriptions->toTextArray() as $languageCode => $description) { if ($this->languages !== null && !isset($this->languages[$languageCode])) { continue; } $this->writer->about(RdfVocabulary::NS_ENTITY, $entityLName)->say(RdfVocabulary::NS_SCHEMA_ORG, 'description')->text($description, $languageCode); } }
/** * @param TermList $termList * * @return array */ private function getSerialized(TermList $termList) { $serialization = array(); foreach ($termList->getIterator() as $term) { $serialization[$term->getLanguageCode()] = $this->termSerializer->serialize($term); } if ($this->useObjectsForMaps) { $serialization = (object) $serialization; } return $serialization; }
/** * @see EntityDocument::equals * * @param mixed $target * * @return bool */ public function equals($target) { if ($this === $target) { return true; } return $target instanceof self && $this->labels->equals($target->labels) && $this->descriptions->equals($target->descriptions) && $this->statements->equals($target->statements); }
/** * @param TermList $descriptions the list of descriptions to render * * @return string HTML */ private function getDescriptionText(TermList $descriptions) { if ($descriptions->hasTermForLanguage($this->languageCode)) { $text = $descriptions->getByLanguage($this->languageCode)->getText(); return htmlspecialchars($text); } else { return wfMessage('wikibase-description-empty')->escaped(); } }
private function injectDescriptions(array &$entityRecord, TermList $descriptions) { if (!isset($entityRecord['descriptions'])) { $entityRecord['descriptions'] = array(); } foreach ($descriptions->toTextArray() as $lang => $text) { $entityRecord['descriptions'][$lang] = array('language' => $lang, 'value' => $text); } }
public function testGivenSomeLanguages_getWithLanguagesReturnsPartialList() { $list = new TermList(); $list->setTextForLanguage('en', 'foo'); $list->setTextForLanguage('de', 'bar'); $list->setTextForLanguage('nl', 'baz'); $list->setTextForLanguage('fr', 'hax'); $expectedList = new TermList(); $expectedList->setTextForLanguage('en', 'foo'); $expectedList->setTextForLanguage('nl', 'baz'); $this->assertEquals($expectedList, $list->getWithLanguages(array('en', 'nl'))); }
/** * @since 0.7.4 * * @return bool */ public function isEmpty() { return $this->labels->isEmpty() && $this->descriptions->isEmpty() && $this->aliasGroups->isEmpty(); }