private static function loadGeneralDesc(PhoneMetadata $metadata, \DOMElement $element) { $generalDesc = new PhoneNumberDesc(); $generalDesc = self::processPhoneNumberDescElement($generalDesc, $element, self::GENERAL_DESC); $metadata->setGeneralDesc($generalDesc); $metadata->setFixedLine(self::processPhoneNumberDescElement($generalDesc, $element, self::FIXED_LINE)); $metadata->setMobile(self::processPhoneNumberDescElement($generalDesc, $element, self::MOBILE)); $metadata->setStandardRate(self::processPhoneNumberDescElement($generalDesc, $element, self::STANDARD_RATE)); $metadata->setPremiumRate(self::processPhoneNumberDescElement($generalDesc, $element, self::PREMIUM_RATE)); $metadata->setShortCode(self::processPhoneNumberDescElement($generalDesc, $element, self::SHORT_CODE)); $metadata->setTollFree(self::processPhoneNumberDescElement($generalDesc, $element, self::TOLL_FREE)); $metadata->setSharedCost(self::processPhoneNumberDescElement($generalDesc, $element, self::SHARED_COST)); $metadata->setVoip(self::processPhoneNumberDescElement($generalDesc, $element, self::VOIP)); $metadata->setPersonalNumber(self::processPhoneNumberDescElement($generalDesc, $element, self::PERSONAL_NUMBER)); $metadata->setPager(self::processPhoneNumberDescElement($generalDesc, $element, self::PAGER)); $metadata->setUan(self::processPhoneNumberDescElement($generalDesc, $element, self::UAN)); $metadata->setEmergency(self::processPhoneNumberDescElement($generalDesc, $element, self::EMERGENCY)); $metadata->setVoicemail(self::processPhoneNumberDescElement($generalDesc, $element, self::VOICEMAIL)); $metadata->setCarrierSpecific(self::processPhoneNumberDescElement($generalDesc, $element, self::CARRIER_SPECIFIC)); $metadata->setNoInternationalDialling(self::processPhoneNumberDescElement($generalDesc, $element, self::NO_INTERNATIONAL_DIALLING)); $metadata->setSameMobileAndFixedLinePattern($metadata->getMobile()->getNationalNumberPattern() === $metadata->getFixedLine()->getNationalNumberPattern()); }