Class PhoneNumber

  • All Implemented Interfaces:
    com.google.protobuf.GeneratedMessage.ExtendableMessageOrBuilder<com.google.protobuf.GeneratedMessageV3>, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, PhoneNumberOrBuilder, java.io.Serializable

    public final class PhoneNumber
    extends com.google.protobuf.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):
       - https://github.com/google/libphonenumber
     
    Protobuf type google.type.PhoneNumber
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  PhoneNumber.Builder
      An object representing a phone number, suitable as an API wire format.
      static class  PhoneNumber.KindCase  
      static class  PhoneNumber.ShortCode
      An object representing a short code, which is a phone number that is typically much shorter than regular phone numbers and can be used to address messages in MMS and SMS systems, as well as for abbreviated dialing (e.g.
      static interface  PhoneNumber.ShortCodeOrBuilder  
      • Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3

        com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>,​BuilderT extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT,​BuilderT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter
      • Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessage.ExtendableMessage

        com.google.protobuf.GeneratedMessage.ExtendableMessage.ExtensionSerializer, com.google.protobuf.GeneratedMessage.ExtendableMessage.ExtensionWriter
      • Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessage

        com.google.protobuf.GeneratedMessage.GeneratedExtension<ContainingT extends com.google.protobuf.Message,​T extends java.lang.Object>
      • Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

        com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int E164_NUMBER_FIELD_NUMBER  
      static int EXTENSION_FIELD_NUMBER  
      static int SHORT_CODE_FIELD_NUMBER  
      • Fields inherited from class com.google.protobuf.GeneratedMessage

        alwaysUseFieldBuilders, unknownFields
      • Fields inherited from class com.google.protobuf.AbstractMessage

        memoizedSize
      • Fields inherited from class com.google.protobuf.AbstractMessageLite

        memoizedHashCode
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object obj)  
      static PhoneNumber getDefaultInstance()  
      PhoneNumber getDefaultInstanceForType()  
      static com.google.protobuf.Descriptors.Descriptor getDescriptor()  
      java.lang.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".
      com.google.protobuf.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".
      java.lang.String getExtension()
      The phone number's extension.
      com.google.protobuf.ByteString getExtensionBytes()
      The phone number's extension.
      PhoneNumber.KindCase getKindCase()  
      com.google.protobuf.Parser<PhoneNumber> getParserForType()  
      int getSerializedSize()  
      PhoneNumber.ShortCode getShortCode()
      A short code.
      PhoneNumber.ShortCodeOrBuilder getShortCodeOrBuilder()
      A short code.
      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".
      int hashCode()  
      boolean hasShortCode()
      A short code.
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()  
      boolean isInitialized()  
      static PhoneNumber.Builder newBuilder()  
      static PhoneNumber.Builder newBuilder​(PhoneNumber prototype)  
      PhoneNumber.Builder newBuilderForType()  
      protected PhoneNumber.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)  
      protected java.lang.Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)  
      static PhoneNumber parseDelimitedFrom​(java.io.InputStream input)  
      static PhoneNumber parseDelimitedFrom​(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static PhoneNumber parseFrom​(byte[] data)  
      static PhoneNumber parseFrom​(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static PhoneNumber parseFrom​(com.google.protobuf.ByteString data)  
      static PhoneNumber parseFrom​(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static PhoneNumber parseFrom​(com.google.protobuf.CodedInputStream input)  
      static PhoneNumber parseFrom​(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static PhoneNumber parseFrom​(java.io.InputStream input)  
      static PhoneNumber parseFrom​(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static PhoneNumber parseFrom​(java.nio.ByteBuffer data)  
      static PhoneNumber parseFrom​(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static com.google.protobuf.Parser<PhoneNumber> parser()  
      PhoneNumber.Builder toBuilder()  
      void writeTo​(com.google.protobuf.CodedOutputStream output)  
      • Methods inherited from class com.google.protobuf.GeneratedMessageV3

        mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBuilderForType
      • Methods inherited from class com.google.protobuf.GeneratedMessage.ExtendableMessage

        extensionsAreInitialized, extensionsSerializedSize, extensionsSerializedSizeAsMessageSet, getAllFields, getAllFieldsRaw, getExtension, getExtension, getExtensionCount, getExtensionFields, getField, getRepeatedField, getRepeatedFieldCount, hasExtension, hasField, newExtensionSerializer, newExtensionWriter, newMessageSetExtensionSerializer, newMessageSetExtensionWriter
      • Methods inherited from class com.google.protobuf.GeneratedMessage

        canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getDescriptorForType, getOneofFieldDescriptor, getUnknownFields, hasOneof, internalGetMapField, internalGetMapFieldReflection, isStringEmpty, makeMutableCopy, makeMutableCopy, mergeFromAndMakeImmutableInternal, newFileScopedGeneratedExtension, newInstance, newMessageScopedGeneratedExtension, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTag
      • Methods inherited from class com.google.protobuf.AbstractMessage

        findInitializationErrors, getInitializationErrorString, hashFields, toString
      • Methods inherited from class com.google.protobuf.AbstractMessageLite

        addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface com.google.protobuf.MessageLite

        toByteArray, toByteString, writeDelimitedTo, writeTo
      • Methods inherited from interface com.google.protobuf.MessageOrBuilder

        findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
    • Method Detail

      • newInstance

        protected java.lang.Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Overrides:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • 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;
        Specified by:
        hasE164Number in interface PhoneNumberOrBuilder
        Returns:
        Whether the e164Number field is set.
      • getE164Number

        public java.lang.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;
        Specified by:
        getE164Number in interface PhoneNumberOrBuilder
        Returns:
        The e164Number.
      • getE164NumberBytes

        public com.google.protobuf.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;
        Specified by:
        getE164NumberBytes in interface PhoneNumberOrBuilder
        Returns:
        The bytes for e164Number.
      • hasShortCode

        public boolean hasShortCode()
         A short code.
        
         Reference(s):
          - https://en.wikipedia.org/wiki/Short_code
         
        .google.type.PhoneNumber.ShortCode short_code = 2;
        Specified by:
        hasShortCode in interface PhoneNumberOrBuilder
        Returns:
        Whether the shortCode field is set.
      • getShortCode

        public PhoneNumber.ShortCode getShortCode()
         A short code.
        
         Reference(s):
          - https://en.wikipedia.org/wiki/Short_code
         
        .google.type.PhoneNumber.ShortCode short_code = 2;
        Specified by:
        getShortCode in interface PhoneNumberOrBuilder
        Returns:
        The shortCode.
      • getExtension

        public java.lang.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;
        Specified by:
        getExtension in interface PhoneNumberOrBuilder
        Returns:
        The extension.
      • getExtensionBytes

        public com.google.protobuf.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;
        Specified by:
        getExtensionBytes in interface PhoneNumberOrBuilder
        Returns:
        The bytes for extension.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessage.ExtendableMessage<com.google.protobuf.GeneratedMessageV3>
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws java.io.IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessage
        Throws:
        java.io.IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessage
      • equals

        public boolean equals​(java.lang.Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static PhoneNumber parseFrom​(java.nio.ByteBuffer data)
                                     throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static PhoneNumber parseFrom​(java.nio.ByteBuffer data,
                                            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                     throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static PhoneNumber parseFrom​(com.google.protobuf.ByteString data)
                                     throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static PhoneNumber parseFrom​(com.google.protobuf.ByteString data,
                                            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                     throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static PhoneNumber parseFrom​(byte[] data)
                                     throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static PhoneNumber parseFrom​(byte[] data,
                                            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                     throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static PhoneNumber parseFrom​(java.io.InputStream input)
                                     throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static PhoneNumber parseFrom​(java.io.InputStream input,
                                            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                     throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static PhoneNumber parseDelimitedFrom​(java.io.InputStream input)
                                              throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static PhoneNumber parseDelimitedFrom​(java.io.InputStream input,
                                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                              throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static PhoneNumber parseFrom​(com.google.protobuf.CodedInputStream input)
                                     throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static PhoneNumber parseFrom​(com.google.protobuf.CodedInputStream input,
                                            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                     throws java.io.IOException
        Throws:
        java.io.IOException
      • newBuilderForType

        public PhoneNumber.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public PhoneNumber.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected PhoneNumber.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static PhoneNumber getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<PhoneNumber> parser()
      • getParserForType

        public com.google.protobuf.Parser<PhoneNumber> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessage
      • getDefaultInstanceForType

        public PhoneNumber getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.GeneratedMessage.ExtendableMessageOrBuilder<com.google.protobuf.GeneratedMessageV3>
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder