AutorÃa | Ultima modificación | Ver Log |
<?phpdeclare(strict_types=1);namespace libphonenumber;/*** Class PhoneMetadata* @package libphonenumber* @internal Used internally, and can change at any time* @phpstan-import-type PhoneNumberDescArray from PhoneNumberDesc* @phpstan-import-type NumberFormatArray from NumberFormat* @phpstan-type PhoneMetadataArray array{generalDesc?:PhoneNumberDescArray,fixedLine?:PhoneNumberDescArray,mobile?:PhoneNumberDescArray,tollFree?:PhoneNumberDescArray,premiumRate?:PhoneNumberDescArray,sharedCost?:PhoneNumberDescArray,personalNumber?:PhoneNumberDescArray,voip?:PhoneNumberDescArray,pager?:PhoneNumberDescArray,uan?:PhoneNumberDescArray,emergency?:PhoneNumberDescArray,voicemail?:PhoneNumberDescArray,shortCode?:PhoneNumberDescArray,standardRate?:PhoneNumberDescArray,carrierSpecific?:PhoneNumberDescArray,smsServices?:PhoneNumberDescArray,noInternationalDialling?:PhoneNumberDescArray,id:string|null,countryCode?:int,internationalPrefix?:string,preferredInternationalPrefix?:string,nationalPrefix?:string,preferredExtnPrefix?:string,nationalPrefixForParsing?:string,nationalPrefixTransformRule?:string,sameMobileAndFixedLinePattern?:bool,numberFormat:NumberFormatArray[],intlNumberFormat?:NumberFormatArray[],mainCountryForCode?:bool,leadingDigits?:string,mobileNumberPortableRegion?:bool}*/class PhoneMetadata{protected ?string $id = null;protected ?int $countryCode = null;protected string $leadingDigits;protected string $internationalPrefix;protected ?string $preferredInternationalPrefix = null;protected ?string $nationalPrefixForParsing = null;protected ?string $nationalPrefixTransformRule = null;protected ?string $nationalPrefix = null;protected ?string $preferredExtnPrefix = null;protected bool $mainCountryForCode = false;protected bool $mobileNumberPortableRegion = false;protected ?PhoneNumberDesc $generalDesc = null;protected ?PhoneNumberDesc $mobile = null;protected ?PhoneNumberDesc $premiumRate = null;protected ?PhoneNumberDesc $fixedLine = null;protected bool $sameMobileAndFixedLinePattern = false;/*** @var NumberFormat[]*/protected array $numberFormat = [];protected ?PhoneNumberDesc $tollFree = null;protected ?PhoneNumberDesc $sharedCost = null;protected ?PhoneNumberDesc $personalNumber = null;protected ?PhoneNumberDesc $voip = null;protected ?PhoneNumberDesc $pager = null;protected ?PhoneNumberDesc $uan = null;protected ?PhoneNumberDesc $emergency = null;protected ?PhoneNumberDesc $voicemail = null;protected ?PhoneNumberDesc $short_code = null;protected ?PhoneNumberDesc $standard_rate = null;protected ?PhoneNumberDesc $carrierSpecific = null;protected ?PhoneNumberDesc $smsServices = null;protected ?PhoneNumberDesc $noInternationalDialling = null;/*** @var NumberFormat[]*/protected array $intlNumberFormat = [];public function hasId(): bool{return isset($this->id);}public function hasMainCountryForCode(): bool{return isset($this->mainCountryForCode);}public function isMainCountryForCode(): bool{return $this->mainCountryForCode;}public function getMainCountryForCode(): bool{return $this->mainCountryForCode;}public function setMainCountryForCode(bool $value): PhoneMetadata{$this->mainCountryForCode = $value;return $this;}public function clearMainCountryForCode(): PhoneMetadata{$this->mainCountryForCode = false;return $this;}public function numberFormatSize(): int{return \count($this->numberFormat);}/***/public function getNumberFormat(int $index): NumberFormat{return $this->numberFormat[$index];}public function intlNumberFormatSize(): int{return \count($this->intlNumberFormat);}public function getIntlNumberFormat(int $index): NumberFormat{return $this->intlNumberFormat[$index];}public function clearIntlNumberFormat(): PhoneMetadata{$this->intlNumberFormat = [];return $this;}/*** @internal* @return PhoneMetadataArray*/public function toArray(): array{$output = [];$output['id'] = $this->getId();if ($this->hasCountryCode()) {$output['countryCode'] = $this->getCountryCode();}if ($this->hasGeneralDesc()) {$output['generalDesc'] = $this->getGeneralDesc()->toArray();}if ($this->hasFixedLine()) {$output['fixedLine'] = $this->getFixedLine()->toArray();}if ($this->hasMobile()) {$output['mobile'] = $this->getMobile()->toArray();}if ($this->hasTollFree()) {$output['tollFree'] = $this->getTollFree()->toArray();}if ($this->hasPremiumRate()) {$output['premiumRate'] = $this->getPremiumRate()->toArray();}if ($this->hasSharedCost()) {$output['sharedCost'] = $this->getSharedCost()->toArray();}if ($this->hasPersonalNumber()) {$output['personalNumber'] = $this->getPersonalNumber()->toArray();}if ($this->hasVoip()) {$output['voip'] = $this->getVoip()->toArray();}if ($this->hasPager()) {$output['pager'] = $this->getPager()->toArray();}if ($this->hasUan()) {$output['uan'] = $this->getUan()->toArray();}if ($this->hasEmergency()) {$output['emergency'] = $this->getEmergency()->toArray();}if ($this->hasVoicemail()) {$output['voicemail'] = $this->getVoicemail()->toArray();}if ($this->hasShortCode()) {$output['shortCode'] = $this->getShortCode()->toArray();}if ($this->hasStandardRate()) {$output['standardRate'] = $this->getStandardRate()->toArray();}if ($this->hasCarrierSpecific()) {$output['carrierSpecific'] = $this->getCarrierSpecific()->toArray();}if ($this->hasSmsServices()) {$output['smsServices'] = $this->getSmsServices()->toArray();}if ($this->hasNoInternationalDialling()) {$output['noInternationalDialling'] = $this->getNoInternationalDialling()->toArray();}if ($this->hasInternationalPrefix()) {$output['internationalPrefix'] = $this->getInternationalPrefix();}if ($this->hasPreferredInternationalPrefix()) {$output['preferredInternationalPrefix'] = $this->getPreferredInternationalPrefix();}if ($this->hasNationalPrefix()) {$output['nationalPrefix'] = $this->getNationalPrefix();}if ($this->hasPreferredExtnPrefix()) {$output['preferredExtnPrefix'] = $this->getPreferredExtnPrefix();}if ($this->hasNationalPrefixForParsing()) {$output['nationalPrefixForParsing'] = $this->getNationalPrefixForParsing();}if ($this->hasNationalPrefixTransformRule()) {$output['nationalPrefixTransformRule'] = $this->getNationalPrefixTransformRule();}if ($this->hasSameMobileAndFixedLinePattern() && $this->getSameMobileAndFixedLinePattern() !== false) {$output['sameMobileAndFixedLinePattern'] = $this->getSameMobileAndFixedLinePattern();}$output['numberFormat'] = [];foreach ($this->numberFormats() as $numberFormat) {$output['numberFormat'][] = $numberFormat->toArray();}if (!empty($this->intlNumberFormats())) {$output['intlNumberFormat'] = [];foreach ($this->intlNumberFormats() as $intlNumberFormat) {$output['intlNumberFormat'][] = $intlNumberFormat->toArray();}}if ($this->getMainCountryForCode() !== false) {$output['mainCountryForCode'] = $this->getMainCountryForCode();}if ($this->hasLeadingDigits()) {$output['leadingDigits'] = $this->getLeadingDigits();}if ($this->hasMobileNumberPortableRegion() && $this->isMobileNumberPortableRegion() !== false) {$output['mobileNumberPortableRegion'] = $this->isMobileNumberPortableRegion();}return $output;}public function hasGeneralDesc(): bool{return isset($this->generalDesc);}public function getGeneralDesc(): ?PhoneNumberDesc{return $this->generalDesc;}public function setGeneralDesc(PhoneNumberDesc $value): PhoneMetadata{$this->generalDesc = $value;return $this;}public function hasFixedLine(): bool{return isset($this->fixedLine);}public function getFixedLine(): ?PhoneNumberDesc{return $this->fixedLine;}public function setFixedLine(PhoneNumberDesc $value): PhoneMetadata{$this->fixedLine = $value;return $this;}public function hasMobile(): bool{return isset($this->mobile);}public function getMobile(): ?PhoneNumberDesc{return $this->mobile;}public function setMobile(PhoneNumberDesc $value): PhoneMetadata{$this->mobile = $value;return $this;}public function hasTollFree(): bool{return isset($this->tollFree);}public function getTollFree(): ?PhoneNumberDesc{return $this->tollFree;}public function setTollFree(PhoneNumberDesc $value): PhoneMetadata{$this->tollFree = $value;return $this;}public function hasPremiumRate(): bool{return isset($this->premiumRate);}public function getPremiumRate(): ?PhoneNumberDesc{return $this->premiumRate;}public function setPremiumRate(PhoneNumberDesc $value): PhoneMetadata{$this->premiumRate = $value;return $this;}public function hasSharedCost(): bool{return isset($this->sharedCost);}public function getSharedCost(): ?PhoneNumberDesc{return $this->sharedCost;}public function setSharedCost(PhoneNumberDesc $value): PhoneMetadata{$this->sharedCost = $value;return $this;}public function hasPersonalNumber(): bool{return isset($this->personalNumber);}public function getPersonalNumber(): ?PhoneNumberDesc{return $this->personalNumber;}public function setPersonalNumber(PhoneNumberDesc $value): PhoneMetadata{$this->personalNumber = $value;return $this;}public function hasVoip(): bool{return isset($this->voip);}public function getVoip(): ?PhoneNumberDesc{return $this->voip;}public function setVoip(PhoneNumberDesc $value): PhoneMetadata{$this->voip = $value;return $this;}public function hasPager(): bool{return isset($this->pager);}public function getPager(): ?PhoneNumberDesc{return $this->pager;}public function setPager(PhoneNumberDesc $value): PhoneMetadata{$this->pager = $value;return $this;}public function hasUan(): bool{return isset($this->uan);}public function getUan(): ?PhoneNumberDesc{return $this->uan;}public function setUan(PhoneNumberDesc $value): PhoneMetadata{$this->uan = $value;return $this;}public function hasEmergency(): bool{return isset($this->emergency);}public function getEmergency(): ?PhoneNumberDesc{return $this->emergency;}public function setEmergency(PhoneNumberDesc $value): PhoneMetadata{$this->emergency = $value;return $this;}public function hasVoicemail(): bool{return isset($this->voicemail);}public function getVoicemail(): ?PhoneNumberDesc{return $this->voicemail;}public function setVoicemail(PhoneNumberDesc $value): PhoneMetadata{$this->voicemail = $value;return $this;}public function hasShortCode(): bool{return isset($this->short_code);}public function getShortCode(): ?PhoneNumberDesc{return $this->short_code;}public function setShortCode(PhoneNumberDesc $value): PhoneMetadata{$this->short_code = $value;return $this;}public function hasStandardRate(): bool{return isset($this->standard_rate);}public function getStandardRate(): ?PhoneNumberDesc{return $this->standard_rate;}public function setStandardRate(PhoneNumberDesc $value): PhoneMetadata{$this->standard_rate = $value;return $this;}public function hasCarrierSpecific(): bool{return isset($this->carrierSpecific);}public function getCarrierSpecific(): ?PhoneNumberDesc{return $this->carrierSpecific;}public function setCarrierSpecific(PhoneNumberDesc $value): PhoneMetadata{$this->carrierSpecific = $value;return $this;}public function hasSmsServices(): bool{return isset($this->smsServices);}public function getSmsServices(): ?PhoneNumberDesc{return $this->smsServices;}public function setSmsServices(PhoneNumberDesc $value): PhoneMetadata{$this->smsServices = $value;return $this;}public function hasNoInternationalDialling(): bool{return isset($this->noInternationalDialling);}public function getNoInternationalDialling(): ?PhoneNumberDesc{return $this->noInternationalDialling;}public function setNoInternationalDialling(PhoneNumberDesc $value): PhoneMetadata{$this->noInternationalDialling = $value;return $this;}public function getId(): ?string{return $this->id;}public function setId(string $value): PhoneMetadata{$this->id = $value;return $this;}/** @phpstan-assert-if-true !null $this->getCountryCode() */public function hasCountryCode(): bool{return isset($this->countryCode);}public function getCountryCode(): ?int{return $this->countryCode;}public function setCountryCode(int $value): PhoneMetadata{$this->countryCode = $value;return $this;}public function hasInternationalPrefix(): bool{return isset($this->internationalPrefix);}public function getInternationalPrefix(): string{return $this->internationalPrefix;}public function setInternationalPrefix(string $value): PhoneMetadata{$this->internationalPrefix = $value;return $this;}/** @phpstan-assert-if-true !null $this->getPreferredInternationalPrefix() */public function hasPreferredInternationalPrefix(): bool{return isset($this->preferredInternationalPrefix);}public function getPreferredInternationalPrefix(): ?string{return $this->preferredInternationalPrefix;}public function setPreferredInternationalPrefix(string $value): PhoneMetadata{$this->preferredInternationalPrefix = $value;return $this;}/** @phpstan-assert-if-true !null $this->getNationalPrefix() */public function hasNationalPrefix(): bool{return isset($this->nationalPrefix);}public function getNationalPrefix(): ?string{return $this->nationalPrefix;}public function setNationalPrefix(string $value): PhoneMetadata{$this->nationalPrefix = $value;return $this;}/** @phpstan-assert-if-true !null $this->getPreferredExtnPrefix() */public function hasPreferredExtnPrefix(): bool{return isset($this->preferredExtnPrefix);}public function getPreferredExtnPrefix(): ?string{return $this->preferredExtnPrefix;}public function setPreferredExtnPrefix(string $value): PhoneMetadata{$this->preferredExtnPrefix = $value;return $this;}/** @phpstan-assert-if-true !null $this->getNationalPrefixForParsing() */public function hasNationalPrefixForParsing(): bool{return isset($this->nationalPrefixForParsing);}public function getNationalPrefixForParsing(): ?string{return $this->nationalPrefixForParsing;}public function setNationalPrefixForParsing(string $value): PhoneMetadata{$this->nationalPrefixForParsing = $value;return $this;}/** @phpstan-assert-if-true !null $this->getNationalPrefixTransformRule() */public function hasNationalPrefixTransformRule(): bool{return isset($this->nationalPrefixTransformRule);}public function getNationalPrefixTransformRule(): ?string{return $this->nationalPrefixTransformRule;}public function setNationalPrefixTransformRule(string $value): PhoneMetadata{$this->nationalPrefixTransformRule = $value;return $this;}public function hasSameMobileAndFixedLinePattern(): bool{return isset($this->sameMobileAndFixedLinePattern);}public function getSameMobileAndFixedLinePattern(): bool{return $this->sameMobileAndFixedLinePattern;}public function setSameMobileAndFixedLinePattern(bool $value): PhoneMetadata{$this->sameMobileAndFixedLinePattern = $value;return $this;}/*** @return NumberFormat[]*/public function numberFormats(): array{return $this->numberFormat;}/*** @return NumberFormat[]*/public function intlNumberFormats(): array{return $this->intlNumberFormat;}public function hasLeadingDigits(): bool{return isset($this->leadingDigits);}public function getLeadingDigits(): string{return $this->leadingDigits;}public function setLeadingDigits(string $value): PhoneMetadata{$this->leadingDigits = $value;return $this;}public function hasMobileNumberPortableRegion(): bool{return isset($this->mobileNumberPortableRegion);}public function isMobileNumberPortableRegion(): bool{return $this->mobileNumberPortableRegion;}public function setMobileNumberPortableRegion(bool $value): PhoneMetadata{$this->mobileNumberPortableRegion = $value;return $this;}public function clearPreferredInternationalPrefix(): PhoneMetadata{unset($this->preferredInternationalPrefix);return $this;}public function clearNationalPrefix(): PhoneMetadata{unset($this->nationalPrefix);return $this;}public function clearPreferredExtnPrefix(): PhoneMetadata{unset($this->preferredExtnPrefix);return $this;}public function clearNationalPrefixTransformRule(): PhoneMetadata{unset($this->nationalPrefixTransformRule);return $this;}public function clearSameMobileAndFixedLinePattern(): PhoneMetadata{$this->sameMobileAndFixedLinePattern = false;return $this;}public function clearMobileNumberPortableRegion(): PhoneMetadata{$this->mobileNumberPortableRegion = false;return $this;}/*** @interal* @param PhoneMetadataArray $input*/public function fromArray(array $input): PhoneMetadata{if (isset($input['generalDesc'])) {$desc = new PhoneNumberDesc();$this->setGeneralDesc($desc->fromArray($input['generalDesc']));}if (isset($input['fixedLine'])) {$desc = new PhoneNumberDesc();$this->setFixedLine($desc->fromArray($input['fixedLine']));}if (isset($input['mobile'])) {$desc = new PhoneNumberDesc();$this->setMobile($desc->fromArray($input['mobile']));}if (isset($input['tollFree'])) {$desc = new PhoneNumberDesc();$this->setTollFree($desc->fromArray($input['tollFree']));}if (isset($input['premiumRate'])) {$desc = new PhoneNumberDesc();$this->setPremiumRate($desc->fromArray($input['premiumRate']));}if (isset($input['sharedCost'])) {$desc = new PhoneNumberDesc();$this->setSharedCost($desc->fromArray($input['sharedCost']));}if (isset($input['personalNumber'])) {$desc = new PhoneNumberDesc();$this->setPersonalNumber($desc->fromArray($input['personalNumber']));}if (isset($input['voip'])) {$desc = new PhoneNumberDesc();$this->setVoip($desc->fromArray($input['voip']));}if (isset($input['pager'])) {$desc = new PhoneNumberDesc();$this->setPager($desc->fromArray($input['pager']));}if (isset($input['uan'])) {$desc = new PhoneNumberDesc();$this->setUan($desc->fromArray($input['uan']));}if (isset($input['emergency'])) {$desc = new PhoneNumberDesc();$this->setEmergency($desc->fromArray($input['emergency']));}if (isset($input['voicemail'])) {$desc = new PhoneNumberDesc();$this->setVoicemail($desc->fromArray($input['voicemail']));}if (isset($input['shortCode'])) {$desc = new PhoneNumberDesc();$this->setShortCode($desc->fromArray($input['shortCode']));}if (isset($input['standardRate'])) {$desc = new PhoneNumberDesc();$this->setStandardRate($desc->fromArray($input['standardRate']));}if (isset($input['carrierSpecific'])) {$desc = new PhoneNumberDesc();$this->setCarrierSpecific($desc->fromArray($input['carrierSpecific']));}if (isset($input['smsServices'])) {$desc = new PhoneNumberDesc();$this->setSmsServices($desc->fromArray($input['smsServices']));}if (isset($input['noInternationalDialling'])) {$desc = new PhoneNumberDesc();$this->setNoInternationalDialling($desc->fromArray($input['noInternationalDialling']));}$this->setId($input['id']);if (isset($input['countryCode'])) {$this->setCountryCode($input['countryCode']);}if (isset($input['internationalPrefix'])) {$this->setInternationalPrefix($input['internationalPrefix']);}if (isset($input['preferredInternationalPrefix'])) {$this->setPreferredInternationalPrefix($input['preferredInternationalPrefix']);}if (isset($input['nationalPrefix'])) {$this->setNationalPrefix($input['nationalPrefix']);}if (isset($input['preferredExtnPrefix'])) {$this->setPreferredExtnPrefix($input['preferredExtnPrefix']);}if (isset($input['nationalPrefixForParsing'])) {$this->setNationalPrefixForParsing($input['nationalPrefixForParsing']);}if (isset($input['nationalPrefixTransformRule'])) {$this->setNationalPrefixTransformRule($input['nationalPrefixTransformRule']);}foreach ($input['numberFormat'] ?? [] as $numberFormatElt) {$numberFormat = new NumberFormat();$numberFormat->fromArray($numberFormatElt);$this->addNumberFormat($numberFormat);}foreach ($input['intlNumberFormat'] ?? [] as $intlNumberFormatElt) {$numberFormat = new NumberFormat();$numberFormat->fromArray($intlNumberFormatElt);$this->addIntlNumberFormat($numberFormat);}if (isset($input['mainCountryForCode'])) {$this->setMainCountryForCode($input['mainCountryForCode']);}if (isset($input['leadingDigits'])) {$this->setLeadingDigits($input['leadingDigits']);}if (isset($input['mobileNumberPortableRegion'])) {$this->setMobileNumberPortableRegion($input['mobileNumberPortableRegion']);}return $this;}public function addNumberFormat(NumberFormat $value): PhoneMetadata{$this->numberFormat[] = $value;return $this;}public function addIntlNumberFormat(NumberFormat $value): PhoneMetadata{$this->intlNumberFormat[] = $value;return $this;}}