summaryrefslogtreecommitdiff
path: root/libphonenumber/src/com/google/i18n/phonenumbers/metadata/source/NonGeographicalEntityMetadataSource.java
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-07-07 05:12:31 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-07-07 05:12:31 +0000
commit2e7c6034edf15056ae6cf68a7283bf4c58486494 (patch)
tree10052a3ed452e4c89bc44c083ba4cbf5f04c7fb7 /libphonenumber/src/com/google/i18n/phonenumbers/metadata/source/NonGeographicalEntityMetadataSource.java
parente69d5a6c646234e6cc6d6e37ba37c1b024abb480 (diff)
parent7b885ebcaaf061e696c509565ce38d6293ee3fef (diff)
downloadlibphonenumber-2e7c6034edf15056ae6cf68a7283bf4c58486494.tar.gz
Change-Id: Ic5ae4007d1ec79cc80e23482d2814adf4f11726e
Diffstat (limited to 'libphonenumber/src/com/google/i18n/phonenumbers/metadata/source/NonGeographicalEntityMetadataSource.java')
-rw-r--r--libphonenumber/src/com/google/i18n/phonenumbers/metadata/source/NonGeographicalEntityMetadataSource.java47
1 files changed, 47 insertions, 0 deletions
diff --git a/libphonenumber/src/com/google/i18n/phonenumbers/metadata/source/NonGeographicalEntityMetadataSource.java b/libphonenumber/src/com/google/i18n/phonenumbers/metadata/source/NonGeographicalEntityMetadataSource.java
new file mode 100644
index 00000000..70db06df
--- /dev/null
+++ b/libphonenumber/src/com/google/i18n/phonenumbers/metadata/source/NonGeographicalEntityMetadataSource.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2022 The Libphonenumber Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.google.i18n.phonenumbers.metadata.source;
+
+import com.google.i18n.phonenumbers.Phonemetadata.PhoneMetadata;
+
+/**
+ * A source of phone metadata for non-geographical entities.
+ *
+ * <p>Non-geographical entities are phone number ranges that have a country calling code, but either
+ * do not belong to an actual country (some international services), or belong to a region which has
+ * a different country calling code from the country it is part of. Examples of such ranges are
+ * those starting with:
+ *
+ * <ul>
+ * <li>800 - country code assigned to the Universal International Freephone Service
+ * <li>808 - country code assigned to the International Shared Cost Service
+ * <li>870 - country code assigned to the Pitcairn Islands
+ * <li>...
+ * </ul>
+ */
+public interface NonGeographicalEntityMetadataSource {
+
+ /**
+ * Gets phone metadata for a non-geographical entity.
+ *
+ * @param countryCallingCode the country calling code.
+ * @return the phone metadata for that entity, or null if there is none.
+ * @throws IllegalArgumentException if provided {@code countryCallingCode} does not belong to a
+ * non-geographical entity
+ */
+ PhoneMetadata getMetadataForNonGeographicalRegion(int countryCallingCode);
+}