public final class PhoneNumber extends GeneratedMessageV3 implements PhoneNumberOrBuilder
An object representing a phone number, suitable as an API wire format. This representation:
- should not be used for locale-specific formatting of a phone number, such as "+1 (650) 253-0000 ext. 123"
- is not designed for efficient storage
- may not be suitable for dialing - specialized libraries (see references)
should be used to parse the number for that purpose
To do something meaningful with this number, such as format it for various
use-cases, convert it to an
i18n.phonenumbers.PhoneNumber
object first. For instance, in Java this would be: com.google.type.PhoneNumber wireProto = com.google.type.PhoneNumber.newBuilder().build(); com.google.i18n.phonenumbers.Phonenumber.PhoneNumber phoneNumber = PhoneNumberUtil.getInstance().parse(wireProto.getE164Number(), "ZZ"); if (!wireProto.getExtension().isEmpty()) { phoneNumber.setExtension(wireProto.getExtension()); } Reference(s):
Protobuf type google.type.PhoneNumber
Inheritance
Object > AbstractMessageLite<MessageType,BuilderType> > AbstractMessage > GeneratedMessageV3 > PhoneNumberImplements
PhoneNumberOrBuilderStatic Fields
E164_NUMBER_FIELD_NUMBER
public static final int E164_NUMBER_FIELD_NUMBER
Type | Description |
int |
EXTENSION_FIELD_NUMBER
public static final int EXTENSION_FIELD_NUMBER
Type | Description |
int |
SHORT_CODE_FIELD_NUMBER
public static final int SHORT_CODE_FIELD_NUMBER
Type | Description |
int |
Static Methods
getDefaultInstance()
public static PhoneNumber getDefaultInstance()
Type | Description |
PhoneNumber |
getDescriptor()
public static final Descriptors.Descriptor getDescriptor()
Type | Description |
Descriptor |
newBuilder()
public static PhoneNumber.Builder newBuilder()
Type | Description |
PhoneNumber.Builder |
newBuilder(PhoneNumber prototype)
public static PhoneNumber.Builder newBuilder(PhoneNumber prototype)
Name | Description |
prototype | PhoneNumber |
Type | Description |
PhoneNumber.Builder |
parseDelimitedFrom(InputStream input)
public static PhoneNumber parseDelimitedFrom(InputStream input)
Name | Description |
input | InputStream |
Type | Description |
PhoneNumber |
Type | Description |
IOException |
parseDelimitedFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
public static PhoneNumber parseDelimitedFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
Name | Description |
input | InputStream |
extensionRegistry | ExtensionRegistryLite |
Type | Description |
PhoneNumber |
Type | Description |
IOException |
parseFrom(byte[] data)
public static PhoneNumber parseFrom(byte[] data)
Name | Description |
data | byte[] |
Type | Description |
PhoneNumber |
Type | Description |
InvalidProtocolBufferException |
parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)
public static PhoneNumber parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)
Name | Description |
data | byte[] |
extensionRegistry | ExtensionRegistryLite |
Type | Description |
PhoneNumber |
Type | Description |
InvalidProtocolBufferException |
parseFrom(ByteString data)
public static PhoneNumber parseFrom(ByteString data)
Name | Description |
data | ByteString |
Type | Description |
PhoneNumber |
Type | Description |
InvalidProtocolBufferException |
parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)
public static PhoneNumber parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)
Name | Description |
data | ByteString |
extensionRegistry | ExtensionRegistryLite |
Type | Description |
PhoneNumber |
Type | Description |
InvalidProtocolBufferException |
parseFrom(CodedInputStream input)
public static PhoneNumber parseFrom(CodedInputStream input)
Name | Description |
input | CodedInputStream |
Type | Description |
PhoneNumber |
Type | Description |
IOException |
parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
public static PhoneNumber parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
Name | Description |
input | CodedInputStream |
extensionRegistry | ExtensionRegistryLite |
Type | Description |
PhoneNumber |
Type | Description |
IOException |
parseFrom(InputStream input)
public static PhoneNumber parseFrom(InputStream input)
Name | Description |
input | InputStream |
Type | Description |
PhoneNumber |
Type | Description |
IOException |
parseFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
public static PhoneNumber parseFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
Name | Description |
input | InputStream |
extensionRegistry | ExtensionRegistryLite |
Type | Description |
PhoneNumber |
Type | Description |
IOException |
parseFrom(ByteBuffer data)
public static PhoneNumber parseFrom(ByteBuffer data)
Name | Description |
data | ByteBuffer |
Type | Description |
PhoneNumber |
Type | Description |
InvalidProtocolBufferException |
parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)
public static PhoneNumber parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)
Name | Description |
data | ByteBuffer |
extensionRegistry | ExtensionRegistryLite |
Type | Description |
PhoneNumber |
Type | Description |
InvalidProtocolBufferException |
parser()
public static Parser<PhoneNumber> parser()
Type | Description |
Parser<PhoneNumber> |
Methods
equals(Object obj)
public boolean equals(Object obj)
Name | Description |
obj | Object |
Type | Description |
boolean |
getDefaultInstanceForType()
public PhoneNumber getDefaultInstanceForType()
Type | Description |
PhoneNumber |
getE164Number()
public String getE164Number()
The phone number, represented as a leading plus sign ('+'), followed by a phone number that uses a relaxed ITU E.164 format consisting of the country calling code (1 to 3 digits) and the subscriber number, with no additional spaces or formatting, e.g.:
- correct: "+15552220123"
- incorrect: "+1 (555) 222-01234 x123". The ITU E.164 format limits the latter to 12 digits, but in practice not all countries respect that, so we relax that restriction here. National-only numbers are not allowed. References:
- https://www.itu.int/rec/T-REC-E.164-201011-I
- https://en.wikipedia.org/wiki/E.164.
- https://en.wikipedia.org/wiki/List_of_country_calling_codes
string e164_number = 1;
Type | Description |
String | The e164Number. |
getE164NumberBytes()
public ByteString getE164NumberBytes()
The phone number, represented as a leading plus sign ('+'), followed by a phone number that uses a relaxed ITU E.164 format consisting of the country calling code (1 to 3 digits) and the subscriber number, with no additional spaces or formatting, e.g.:
- correct: "+15552220123"
- incorrect: "+1 (555) 222-01234 x123". The ITU E.164 format limits the latter to 12 digits, but in practice not all countries respect that, so we relax that restriction here. National-only numbers are not allowed. References:
- https://www.itu.int/rec/T-REC-E.164-201011-I
- https://en.wikipedia.org/wiki/E.164.
- https://en.wikipedia.org/wiki/List_of_country_calling_codes
string e164_number = 1;
Type | Description |
ByteString | The bytes for e164Number. |
getExtension()
public String getExtension()
The phone number's extension. The extension is not standardized in ITU recommendations, except for being defined as a series of numbers with a maximum length of 40 digits. Other than digits, some other dialing characters such as ',' (indicating a wait) or '#' may be stored here. Note that no regions currently use extensions with short codes, so this field is normally only set in conjunction with an E.164 number. It is held separately from the E.164 number to allow for short code extensions in the future.
string extension = 3;
Type | Description |
String | The extension. |
getExtensionBytes()
public ByteString getExtensionBytes()
The phone number's extension. The extension is not standardized in ITU recommendations, except for being defined as a series of numbers with a maximum length of 40 digits. Other than digits, some other dialing characters such as ',' (indicating a wait) or '#' may be stored here. Note that no regions currently use extensions with short codes, so this field is normally only set in conjunction with an E.164 number. It is held separately from the E.164 number to allow for short code extensions in the future.
string extension = 3;
Type | Description |
ByteString | The bytes for extension. |
getKindCase()
public PhoneNumber.KindCase getKindCase()
Type | Description |
PhoneNumber.KindCase |
getParserForType()
public Parser<PhoneNumber> getParserForType()
Type | Description |
Parser<PhoneNumber> |
getSerializedSize()
public int getSerializedSize()
Type | Description |
int |
getShortCode()
public PhoneNumber.ShortCode getShortCode()
A short code. Reference(s):
.google.type.PhoneNumber.ShortCode short_code = 2;
Type | Description |
PhoneNumber.ShortCode | The shortCode. |
getShortCodeOrBuilder()
public PhoneNumber.ShortCodeOrBuilder getShortCodeOrBuilder()
A short code. Reference(s):
.google.type.PhoneNumber.ShortCode short_code = 2;
Type | Description |
PhoneNumber.ShortCodeOrBuilder |
getUnknownFields()
public final UnknownFieldSet getUnknownFields()
Type | Description |
UnknownFieldSet |
hasE164Number()
public boolean hasE164Number()
The phone number, represented as a leading plus sign ('+'), followed by a phone number that uses a relaxed ITU E.164 format consisting of the country calling code (1 to 3 digits) and the subscriber number, with no additional spaces or formatting, e.g.:
- correct: "+15552220123"
- incorrect: "+1 (555) 222-01234 x123". The ITU E.164 format limits the latter to 12 digits, but in practice not all countries respect that, so we relax that restriction here. National-only numbers are not allowed. References:
- https://www.itu.int/rec/T-REC-E.164-201011-I
- https://en.wikipedia.org/wiki/E.164.
- https://en.wikipedia.org/wiki/List_of_country_calling_codes
string e164_number = 1;
Type | Description |
boolean | Whether the e164Number field is set. |
hasShortCode()
public boolean hasShortCode()
A short code. Reference(s):
.google.type.PhoneNumber.ShortCode short_code = 2;
Type | Description |
boolean | Whether the shortCode field is set. |
hashCode()
public int hashCode()
Type | Description |
int |
internalGetFieldAccessorTable()
protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Type | Description |
FieldAccessorTable |
isInitialized()
public final boolean isInitialized()
Type | Description |
boolean |
newBuilderForType()
public PhoneNumber.Builder newBuilderForType()
Type | Description |
PhoneNumber.Builder |
newBuilderForType(GeneratedMessageV3.BuilderParent parent)
protected PhoneNumber.Builder newBuilderForType(GeneratedMessageV3.BuilderParent parent)
Name | Description |
parent | BuilderParent |
Type | Description |
PhoneNumber.Builder |
newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
protected Object newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
Name | Description |
unused | UnusedPrivateParameter |
Type | Description |
Object |
toBuilder()
public PhoneNumber.Builder toBuilder()
Type | Description |
PhoneNumber.Builder |
writeTo(CodedOutputStream output)
public void writeTo(CodedOutputStream output)
Name | Description |
output | CodedOutputStream |
Type | Description |
IOException |