Google Protocol Buffers 是 Google 公司开发的一款简洁、高效的数据序列化/反序列化的工具,有着跨平台、可扩展的优点,尤其适合作为数据存储和RPC数据交换格式。目前,已经被 Hadoop 用作其 RPC 模块的基础依赖。
本文将根据网络上流行的一个例子,用Java程序来直观地展示如何用 Protocol Buffers 进行代码生成、数据序列化存储以及数据反序列化读取的过程。
步骤:
1、环境搭建:
本文在 Windows 系统下进行开发,因此下载https://protobuf.googlecode.com/files/protoc-2.5.0-win32.zip。解压后便可直接使用:
2、创建好工作目录
注:父目录路径为D:\Study\ComputerStudy\BigData_Cloud\Protobuf\practise
3、编辑proto 文件 D:\Study\ComputerStudy\BigData_Cloud\Protobuf\practise\proto\addressbook.proto,以定义message对象
- package tutorial;
- option java_package = "study.java.arithmetic.protobuf";
- option java_outer_classname = "AddressBookProtos";
- message Person {
- required string name = 1;
- required int32 id = 2; // Unique ID number for this person.
- optional string email = 3;
- enum PhoneType {
- MOBILE = 0;
- HOME = 1;
- WORK = 2;
- }
- message PhoneNumber {
- required string number = 1;
- optional PhoneType type = 2 [default = HOME];
- }
- repeated PhoneNumber phone = 4;
- }
- // Our address book file is just one of these.
- message AddressBook {
- repeated Person person = 1;
- }
4、通过proto文件自动生成java代码
命令:protoc -I=D:\\Study\\ComputerStudy\\BigData_Cloud\\Protobuf\\practise\\ --java_out=D:\\Study\\ComputerStudy\\BigData_Cloud\\Protobuf\\practise\\src D:\\Study\\ComputerStudy\\BigData_Cloud\\Protobuf\\practise\\proto\\addressbook.proto
注:AddressBookProtos.java代码在本文最后的“附-1”部分
5、创建 Java 工程,并将protobuf-java-2.5.0.jar包加入到工程classpath中。然后,将自动生成的AddressBookProtos.java添加进工程
6、在工程的同一个文件夹下,创建AddPerson.java类——该类负责将数据写入PB的存储文件中:
- package study.java.arithmetic.protobuf;
- import study.java.arithmetic.protobuf.AddressBookProtos.AddressBook;
- import study.java.arithmetic.protobuf.AddressBookProtos.Person;
- import java.io.BufferedReader;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.InputStreamReader;
- import java.io.IOException;
- import java.io.PrintStream;
- class AddPerson{
- // This function fills in a Person message based on user input.
- static Person PromptForAddress(BufferedReader stdin,PrintStream stdout)throws IOException{
- Person.Builder person = Person.newBuilder();
- stdout.print("Enter person ID: ");
- person.setId(Integer.valueOf(stdin.readLine()));
- stdout.print("Enter name: ");
- person.setName(stdin.readLine());
- stdout.print("Enter email address (blank for none): ");
- String email = stdin.readLine();
- if (email.length() > 0){
- person.setEmail(email);
- }
- while (true){
- stdout.print("Enter a phone number (or leave blank to finish): ");
- String number = stdin.readLine();
- if (number.length() == 0){
- break;
- }
- Person.PhoneNumber.Builder phoneNumber = Person.PhoneNumber.newBuilder().setNumber(number);
- stdout.print("Is this a mobile, home, or work phone? ");
- String type = stdin.readLine();
- if (type.equals("mobile")){
- phoneNumber.setType(Person.PhoneType.MOBILE);
- } else if (type.equals("home")) {
- phoneNumber.setType(Person.PhoneType.HOME);
- } else if (type.equals("work")) {
- phoneNumber.setType(Person.PhoneType.WORK);
- } else {
- stdout.println("Unknown phone type. Using default.");
- }
- person.addPhone(phoneNumber);
- }
- return person.build();
- }
- // Main function: Reads the entire address book from a file, adds one person based on user input,
- //then writes it back out to the same file.
- public static void main(String[] args) throws Exception{
- if (args.length != 1) {
- System.err.println("Usage: AddPerson ADDRESS_BOOK_FILE");
- System.exit(-1);
- }
- AddressBook.Builder addressBook = AddressBook.newBuilder();
- // Read the existing address book.
- try {
- addressBook.mergeFrom(new FileInputStream(args[0]));
- } catch (FileNotFoundException e) {
- System.out.println(args[0] + ": File not found. Creating a new file.");
- }
- // Add an address.
- addressBook.addPerson(
- PromptForAddress(new BufferedReader(new InputStreamReader(System.in)), System.out));
- // Write the new address book back to disk.
- FileOutputStream output = new FileOutputStream(args[0]);
- addressBook.build().writeTo(output);
- output.close();
- }
- }
7、执行AddPerson.java类的main方法,并输入参数“D:\\Study\\ComputerStudy\\BigData_Cloud\\Protobuf\\practise\\file\\addressbook”作为数据存储文件的位置。
根据提示,逐一输入 Person 对象的属性值:
最后,该类将Person对象数据写入到指定的PB的存储文件D:\\Study\\ComputerStudy\\BigData_Cloud\\Protobuf\\practise\\file\\addressbook中。文件格式为二进制:
8、编写 Java 类ListPeople.java,用于从存储文件中反序列化对象
ListPeople.java:
- package study.java.arithmetic.protobuf;
- import study.java.arithmetic.protobuf.AddressBookProtos.AddressBook;
- import study.java.arithmetic.protobuf.AddressBookProtos.Person;
- import java.io.FileInputStream;
- public class ListPeople {
- // Iterates though all people in the AddressBook and prints info about them.
- static void Print(AddressBook addressBook) {
- for (Person person: addressBook.getPersonList()) {
- System.out.println("Person ID: " + person.getId());
- System.out.println(" Name: " + person.getName());
- if (person.hasEmail()) {
- System.out.println(" E-mail address: " + person.getEmail());
- }
- for (Person.PhoneNumber phoneNumber : person.getPhoneList()) {
- switch (phoneNumber.getType()) {
- case MOBILE:
- System.out.print(" Mobile phone #: ");
- break;
- case HOME:
- System.out.print(" Home phone #: ");
- break;
- case WORK:
- System.out.print(" Work phone #: ");
- break;
- }
- System.out.println(phoneNumber.getNumber());
- }
- }
- }
- // Main function: Reads the entire address book from a file and prints all the information inside.
- /**
- * @param args
- * @throws Exception
- */
- public static void main(String[] args) throws Exception {
- if (args.length != 1) {
- System.err.println("Usage: ListPeople ADDRESS_BOOK_FILE");
- System.exit(-1);
- }
- // Read the existing address book.
- AddressBook addressBook = AddressBook.parseFrom(new FileInputStream(args[0]));
- Print(addressBook);
- }
- }
9、使用ListPeople.java 从存储文件D:\\Study\\ComputerStudy\\BigData_Cloud\\Protobuf\\practise\\file\\addressbook中反序列化Person对象:
附-1:AddressBookProtos.java代码
- // Generated by the protocol buffer compiler. DO NOT EDIT!
- // source: proto/addressbook.proto
- package study.java.arithmetic.protobuf;
- public final class AddressBookProtos {
- private AddressBookProtos() {}
- public static void registerAllExtensions(
- com.google.protobuf.ExtensionRegistry registry) {
- }
- public interface PersonOrBuilder
- extends com.google.protobuf.MessageOrBuilder {
- // required string name = 1;
- /**
- * <code>required string name = 1;</code>
- */
- boolean hasName();
- /**
- * <code>required string name = 1;</code>
- */
- java.lang.String getName();
- /**
- * <code>required string name = 1;</code>
- */
- com.google.protobuf.ByteString
- getNameBytes();
- // required int32 id = 2;
- /**
- * <code>required int32 id = 2;</code>
- *
- * <pre>
- * Unique ID number for this person.
- * </pre>
- */
- boolean hasId();
- /**
- * <code>required int32 id = 2;</code>
- *
- * <pre>
- * Unique ID number for this person.
- * </pre>
- */
- int getId();
- // optional string email = 3;
- /**
- * <code>optional string email = 3;</code>
- */
- boolean hasEmail();
- /**
- * <code>optional string email = 3;</code>
- */
- java.lang.String getEmail();
- /**
- * <code>optional string email = 3;</code>
- */
- com.google.protobuf.ByteString
- getEmailBytes();
- // repeated .tutorial.Person.PhoneNumber phone = 4;
- /**
- * <code>repeated .tutorial.Person.PhoneNumber phone = 4;</code>
- */
- java.util.List<study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber>
- getPhoneList();
- /**
- * <code>repeated .tutorial.Person.PhoneNumber phone = 4;</code>
- */
- study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber getPhone(int index);
- /**
- * <code>repeated .tutorial.Person.PhoneNumber phone = 4;</code>
- */
- int getPhoneCount();
- /**
- * <code>repeated .tutorial.Person.PhoneNumber phone = 4;</code>
- */
- java.util.List<? extends study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumberOrBuilder>
- getPhoneOrBuilderList();
- /**
- * <code>repeated .tutorial.Person.PhoneNumber phone = 4;</code>
- */
- study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumberOrBuilder getPhoneOrBuilder(
- int index);
- }
- /**
- * Protobuf type {@code tutorial.Person}
- */
- public static final class Person extends
- com.google.protobuf.GeneratedMessage
- implements PersonOrBuilder {
- // Use Person.newBuilder() to construct.
- private Person(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
- super(builder);
- this.unknownFields = builder.getUnknownFields();
- }
- private Person(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
- private static final Person defaultInstance;
- public static Person getDefaultInstance() {
- return defaultInstance;
- }
- public Person getDefaultInstanceForType() {
- return defaultInstance;
- }
- private final com.google.protobuf.UnknownFieldSet unknownFields;
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet
- getUnknownFields() {
- return this.unknownFields;
- }
- private Person(
- com.google.protobuf.CodedInputStream input,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws com.google.protobuf.InvalidProtocolBufferException {
- initFields();
- int mutable_bitField0_ = 0;
- com.google.protobuf.UnknownFieldSet.Builder unknownFields =
- com.google.protobuf.UnknownFieldSet.newBuilder();
- try {
- boolean done = false;
- while (!done) {
- int tag = input.readTag();
- switch (tag) {
- case 0:
- done = true;
- break;
- default: {
- if (!parseUnknownField(input, unknownFields,
- extensionRegistry, tag)) {
- done = true;
- }
- break;
- }
- case 10: {
- bitField0_ |= 0x00000001;
- name_ = input.readBytes();
- break;
- }
- case 16: {
- bitField0_ |= 0x00000002;
- id_ = input.readInt32();
- break;
- }
- case 26: {
- bitField0_ |= 0x00000004;
- email_ = input.readBytes();
- break;
- }
- case 34: {
- if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
- phone_ = new java.util.ArrayList<study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber>();
- mutable_bitField0_ |= 0x00000008;
- }
- phone_.add(input.readMessage(study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber.PARSER, extensionRegistry));
- break;
- }
- }
- }
- } catch (com.google.protobuf.InvalidProtocolBufferException e) {
- throw e.setUnfinishedMessage(this);
- } catch (java.io.IOException e) {
- throw new com.google.protobuf.InvalidProtocolBufferException(
- e.getMessage()).setUnfinishedMessage(this);
- } finally {
- if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
- phone_ = java.util.Collections.unmodifiableList(phone_);
- }
- this.unknownFields = unknownFields.build();
- makeExtensionsImmutable();
- }
- }
- public static final com.google.protobuf.Descriptors.Descriptor
- getDescriptor() {
- return study.java.arithmetic.protobuf.AddressBookProtos.internal_static_tutorial_Person_descriptor;
- }
- protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
- internalGetFieldAccessorTable() {
- return study.java.arithmetic.protobuf.AddressBookProtos.internal_static_tutorial_Person_fieldAccessorTable
- .ensureFieldAccessorsInitialized(
- study.java.arithmetic.protobuf.AddressBookProtos.Person.class, study.java.arithmetic.protobuf.AddressBookProtos.Person.Builder.class);
- }
- public static com.google.protobuf.Parser<Person> PARSER =
- new com.google.protobuf.AbstractParser<Person>() {
- public Person parsePartialFrom(
- com.google.protobuf.CodedInputStream input,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws com.google.protobuf.InvalidProtocolBufferException {
- return new Person(input, extensionRegistry);
- }
- };
- @java.lang.Override
- public com.google.protobuf.Parser<Person> getParserForType() {
- return PARSER;
- }
- /**
- * Protobuf enum {@code tutorial.Person.PhoneType}
- */
- public enum PhoneType
- implements com.google.protobuf.ProtocolMessageEnum {
- /**
- * <code>MOBILE = 0;</code>
- */
- MOBILE(0, 0),
- /**
- * <code>HOME = 1;</code>
- */
- HOME(1, 1),
- /**
- * <code>WORK = 2;</code>
- */
- WORK(2, 2),
- ;
- /**
- * <code>MOBILE = 0;</code>
- */
- public static final int MOBILE_VALUE = 0;
- /**
- * <code>HOME = 1;</code>
- */
- public static final int HOME_VALUE = 1;
- /**
- * <code>WORK = 2;</code>
- */
- public static final int WORK_VALUE = 2;
- public final int getNumber() { return value; }
- public static PhoneType valueOf(int value) {
- switch (value) {
- case 0: return MOBILE;
- case 1: return HOME;
- case 2: return WORK;
- default: return null;
- }
- }
- public static com.google.protobuf.Internal.EnumLiteMap<PhoneType>
- internalGetValueMap() {
- return internalValueMap;
- }
- private static com.google.protobuf.Internal.EnumLiteMap<PhoneType>
- internalValueMap =
- new com.google.protobuf.Internal.EnumLiteMap<PhoneType>() {
- public PhoneType findValueByNumber(int number) {
- return PhoneType.valueOf(number);
- }
- };
- public final com.google.protobuf.Descriptors.EnumValueDescriptor
- getValueDescriptor() {
- return getDescriptor().getValues().get(index);
- }
- public final com.google.protobuf.Descriptors.EnumDescriptor
- getDescriptorForType() {
- return getDescriptor();
- }
- public static final com.google.protobuf.Descriptors.EnumDescriptor
- getDescriptor() {
- return study.java.arithmetic.protobuf.AddressBookProtos.Person.getDescriptor().getEnumTypes().get(0);
- }
- private static final PhoneType[] VALUES = values();
- public static PhoneType valueOf(
- com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
- if (desc.getType() != getDescriptor()) {
- throw new java.lang.IllegalArgumentException(
- "EnumValueDescriptor is not for this type.");
- }
- return VALUES[desc.getIndex()];
- }
- private final int index;
- private final int value;
- private PhoneType(int index, int value) {
- this.index = index;
- this.value = value;
- }
- // @@protoc_insertion_point(enum_scope:tutorial.Person.PhoneType)
- }
- public interface PhoneNumberOrBuilder
- extends com.google.protobuf.MessageOrBuilder {
- // required string number = 1;
- /**
- * <code>required string number = 1;</code>
- */
- boolean hasNumber();
- /**
- * <code>required string number = 1;</code>
- */
- java.lang.String getNumber();
- /**
- * <code>required string number = 1;</code>
- */
- com.google.protobuf.ByteString
- getNumberBytes();
- // optional .tutorial.Person.PhoneType type = 2 [default = HOME];
- /**
- * <code>optional .tutorial.Person.PhoneType type = 2 [default = HOME];</code>
- */
- boolean hasType();
- /**
- * <code>optional .tutorial.Person.PhoneType type = 2 [default = HOME];</code>
- */
- study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneType getType();
- }
- /**
- * Protobuf type {@code tutorial.Person.PhoneNumber}
- */
- public static final class PhoneNumber extends
- com.google.protobuf.GeneratedMessage
- implements PhoneNumberOrBuilder {
- // Use PhoneNumber.newBuilder() to construct.
- private PhoneNumber(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
- super(builder);
- this.unknownFields = builder.getUnknownFields();
- }
- private PhoneNumber(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
- private static final PhoneNumber defaultInstance;
- public static PhoneNumber getDefaultInstance() {
- return defaultInstance;
- }
- public PhoneNumber getDefaultInstanceForType() {
- return defaultInstance;
- }
- private final com.google.protobuf.UnknownFieldSet unknownFields;
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet
- getUnknownFields() {
- return this.unknownFields;
- }
- private PhoneNumber(
- com.google.protobuf.CodedInputStream input,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws com.google.protobuf.InvalidProtocolBufferException {
- initFields();
- int mutable_bitField0_ = 0;
- com.google.protobuf.UnknownFieldSet.Builder unknownFields =
- com.google.protobuf.UnknownFieldSet.newBuilder();
- try {
- boolean done = false;
- while (!done) {
- int tag = input.readTag();
- switch (tag) {
- case 0:
- done = true;
- break;
- default: {
- if (!parseUnknownField(input, unknownFields,
- extensionRegistry, tag)) {
- done = true;
- }
- break;
- }
- case 10: {
- bitField0_ |= 0x00000001;
- number_ = input.readBytes();
- break;
- }
- case 16: {
- int rawValue = input.readEnum();
- study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneType value = study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneType.valueOf(rawValue);
- if (value == null) {
- unknownFields.mergeVarintField(2, rawValue);
- } else {
- bitField0_ |= 0x00000002;
- type_ = value;
- }
- break;
- }
- }
- }
- } catch (com.google.protobuf.InvalidProtocolBufferException e) {
- throw e.setUnfinishedMessage(this);
- } catch (java.io.IOException e) {
- throw new com.google.protobuf.InvalidProtocolBufferException(
- e.getMessage()).setUnfinishedMessage(this);
- } finally {
- this.unknownFields = unknownFields.build();
- makeExtensionsImmutable();
- }
- }
- public static final com.google.protobuf.Descriptors.Descriptor
- getDescriptor() {
- return study.java.arithmetic.protobuf.AddressBookProtos.internal_static_tutorial_Person_PhoneNumber_descriptor;
- }
- protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
- internalGetFieldAccessorTable() {
- return study.java.arithmetic.protobuf.AddressBookProtos.internal_static_tutorial_Person_PhoneNumber_fieldAccessorTable
- .ensureFieldAccessorsInitialized(
- study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber.class, study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber.Builder.class);
- }
- public static com.google.protobuf.Parser<PhoneNumber> PARSER =
- new com.google.protobuf.AbstractParser<PhoneNumber>() {
- public PhoneNumber parsePartialFrom(
- com.google.protobuf.CodedInputStream input,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws com.google.protobuf.InvalidProtocolBufferException {
- return new PhoneNumber(input, extensionRegistry);
- }
- };
- @java.lang.Override
- public com.google.protobuf.Parser<PhoneNumber> getParserForType() {
- return PARSER;
- }
- private int bitField0_;
- // required string number = 1;
- public static final int NUMBER_FIELD_NUMBER = 1;
- private java.lang.Object number_;
- /**
- * <code>required string number = 1;</code>
- */
- public boolean hasNumber() {
- return ((bitField0_ & 0x00000001) == 0x00000001);
- }
- /**
- * <code>required string number = 1;</code>
- */
- public java.lang.String getNumber() {
- java.lang.Object ref = number_;
- if (ref instanceof java.lang.String) {
- return (java.lang.String) ref;
- } else {
- com.google.protobuf.ByteString bs =
- (com.google.protobuf.ByteString) ref;
- java.lang.String s = bs.toStringUtf8();
- if (bs.isValidUtf8()) {
- number_ = s;
- }
- return s;
- }
- }
- /**
- * <code>required string number = 1;</code>
- */
- public com.google.protobuf.ByteString
- getNumberBytes() {
- java.lang.Object ref = number_;
- if (ref instanceof java.lang.String) {
- com.google.protobuf.ByteString b =
- com.google.protobuf.ByteString.copyFromUtf8(
- (java.lang.String) ref);
- number_ = b;
- return b;
- } else {
- return (com.google.protobuf.ByteString) ref;
- }
- }
- // optional .tutorial.Person.PhoneType type = 2 [default = HOME];
- public static final int TYPE_FIELD_NUMBER = 2;
- private study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneType type_;
- /**
- * <code>optional .tutorial.Person.PhoneType type = 2 [default = HOME];</code>
- */
- public boolean hasType() {
- return ((bitField0_ & 0x00000002) == 0x00000002);
- }
- /**
- * <code>optional .tutorial.Person.PhoneType type = 2 [default = HOME];</code>
- */
- public study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneType getType() {
- return type_;
- }
- private void initFields() {
- number_ = "";
- type_ = study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneType.HOME;
- }
- private byte memoizedIsInitialized = -1;
- public final boolean isInitialized() {
- byte isInitialized = memoizedIsInitialized;
- if (isInitialized != -1) return isInitialized == 1;
- if (!hasNumber()) {
- memoizedIsInitialized = 0;
- return false;
- }
- memoizedIsInitialized = 1;
- return true;
- }
- public void writeTo(com.google.protobuf.CodedOutputStream output)
- throws java.io.IOException {
- getSerializedSize();
- if (((bitField0_ & 0x00000001) == 0x00000001)) {
- output.writeBytes(1, getNumberBytes());
- }
- if (((bitField0_ & 0x00000002) == 0x00000002)) {
- output.writeEnum(2, type_.getNumber());
- }
- getUnknownFields().writeTo(output);
- }
- private int memoizedSerializedSize = -1;
- public int getSerializedSize() {
- int size = memoizedSerializedSize;
- if (size != -1) return size;
- size = 0;
- if (((bitField0_ & 0x00000001) == 0x00000001)) {
- size += com.google.protobuf.CodedOutputStream
- .computeBytesSize(1, getNumberBytes());
- }
- if (((bitField0_ & 0x00000002) == 0x00000002)) {
- size += com.google.protobuf.CodedOutputStream
- .computeEnumSize(2, type_.getNumber());
- }
- size += getUnknownFields().getSerializedSize();
- memoizedSerializedSize = size;
- return size;
- }
- private static final long serialVersionUID = 0L;
- @java.lang.Override
- protected java.lang.Object writeReplace()
- throws java.io.ObjectStreamException {
- return super.writeReplace();
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber parseFrom(
- com.google.protobuf.ByteString data)
- throws com.google.protobuf.InvalidProtocolBufferException {
- return PARSER.parseFrom(data);
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber parseFrom(
- com.google.protobuf.ByteString data,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws com.google.protobuf.InvalidProtocolBufferException {
- return PARSER.parseFrom(data, extensionRegistry);
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber parseFrom(byte[] data)
- throws com.google.protobuf.InvalidProtocolBufferException {
- return PARSER.parseFrom(data);
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber parseFrom(
- byte[] data,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws com.google.protobuf.InvalidProtocolBufferException {
- return PARSER.parseFrom(data, extensionRegistry);
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber parseFrom(java.io.InputStream input)
- throws java.io.IOException {
- return PARSER.parseFrom(input);
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber parseFrom(
- java.io.InputStream input,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws java.io.IOException {
- return PARSER.parseFrom(input, extensionRegistry);
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber parseDelimitedFrom(java.io.InputStream input)
- throws java.io.IOException {
- return PARSER.parseDelimitedFrom(input);
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber parseDelimitedFrom(
- java.io.InputStream input,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws java.io.IOException {
- return PARSER.parseDelimitedFrom(input, extensionRegistry);
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber parseFrom(
- com.google.protobuf.CodedInputStream input)
- throws java.io.IOException {
- return PARSER.parseFrom(input);
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber parseFrom(
- com.google.protobuf.CodedInputStream input,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws java.io.IOException {
- return PARSER.parseFrom(input, extensionRegistry);
- }
- public static Builder newBuilder() { return Builder.create(); }
- public Builder newBuilderForType() { return newBuilder(); }
- public static Builder newBuilder(study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber prototype) {
- return newBuilder().mergeFrom(prototype);
- }
- public Builder toBuilder() { return newBuilder(this); }
- @java.lang.Override
- protected Builder newBuilderForType(
- com.google.protobuf.GeneratedMessage.BuilderParent parent) {
- Builder builder = new Builder(parent);
- return builder;
- }
- /**
- * Protobuf type {@code tutorial.Person.PhoneNumber}
- */
- public static final class Builder extends
- com.google.protobuf.GeneratedMessage.Builder<Builder>
- implements study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumberOrBuilder {
- public static final com.google.protobuf.Descriptors.Descriptor
- getDescriptor() {
- return study.java.arithmetic.protobuf.AddressBookProtos.internal_static_tutorial_Person_PhoneNumber_descriptor;
- }
- protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
- internalGetFieldAccessorTable() {
- return study.java.arithmetic.protobuf.AddressBookProtos.internal_static_tutorial_Person_PhoneNumber_fieldAccessorTable
- .ensureFieldAccessorsInitialized(
- study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber.class, study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber.Builder.class);
- }
- // Construct using study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber.newBuilder()
- private Builder() {
- maybeForceBuilderInitialization();
- }
- private Builder(
- com.google.protobuf.GeneratedMessage.BuilderParent parent) {
- super(parent);
- maybeForceBuilderInitialization();
- }
- private void maybeForceBuilderInitialization() {
- if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
- }
- }
- private static Builder create() {
- return new Builder();
- }
- public Builder clear() {
- super.clear();
- number_ = "";
- bitField0_ = (bitField0_ & ~0x00000001);
- type_ = study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneType.HOME;
- bitField0_ = (bitField0_ & ~0x00000002);
- return this;
- }
- public Builder clone() {
- return create().mergeFrom(buildPartial());
- }
- public com.google.protobuf.Descriptors.Descriptor
- getDescriptorForType() {
- return study.java.arithmetic.protobuf.AddressBookProtos.internal_static_tutorial_Person_PhoneNumber_descriptor;
- }
- public study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber getDefaultInstanceForType() {
- return study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber.getDefaultInstance();
- }
- public study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber build() {
- study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber result = buildPartial();
- if (!result.isInitialized()) {
- throw newUninitializedMessageException(result);
- }
- return result;
- }
- public study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber buildPartial() {
- study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber result = new study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber(this);
- int from_bitField0_ = bitField0_;
- int to_bitField0_ = 0;
- if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
- to_bitField0_ |= 0x00000001;
- }
- result.number_ = number_;
- if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
- to_bitField0_ |= 0x00000002;
- }
- result.type_ = type_;
- result.bitField0_ = to_bitField0_;
- onBuilt();
- return result;
- }
- public Builder mergeFrom(com.google.protobuf.Message other) {
- if (other instanceof study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber) {
- return mergeFrom((study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber)other);
- } else {
- super.mergeFrom(other);
- return this;
- }
- }
- public Builder mergeFrom(study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber other) {
- if (other == study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber.getDefaultInstance()) return this;
- if (other.hasNumber()) {
- bitField0_ |= 0x00000001;
- number_ = other.number_;
- onChanged();
- }
- if (other.hasType()) {
- setType(other.getType());
- }
- this.mergeUnknownFields(other.getUnknownFields());
- return this;
- }
- public final boolean isInitialized() {
- if (!hasNumber()) {
- return false;
- }
- return true;
- }
- public Builder mergeFrom(
- com.google.protobuf.CodedInputStream input,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws java.io.IOException {
- study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber parsedMessage = null;
- try {
- parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
- } catch (com.google.protobuf.InvalidProtocolBufferException e) {
- parsedMessage = (study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber) e.getUnfinishedMessage();
- throw e;
- } finally {
- if (parsedMessage != null) {
- mergeFrom(parsedMessage);
- }
- }
- return this;
- }
- private int bitField0_;
- // required string number = 1;
- private java.lang.Object number_ = "";
- /**
- * <code>required string number = 1;</code>
- */
- public boolean hasNumber() {
- return ((bitField0_ & 0x00000001) == 0x00000001);
- }
- /**
- * <code>required string number = 1;</code>
- */
- public java.lang.String getNumber() {
- java.lang.Object ref = number_;
- if (!(ref instanceof java.lang.String)) {
- java.lang.String s = ((com.google.protobuf.ByteString) ref)
- .toStringUtf8();
- number_ = s;
- return s;
- } else {
- return (java.lang.String) ref;
- }
- }
- /**
- * <code>required string number = 1;</code>
- */
- public com.google.protobuf.ByteString
- getNumberBytes() {
- java.lang.Object ref = number_;
- if (ref instanceof String) {
- com.google.protobuf.ByteString b =
- com.google.protobuf.ByteString.copyFromUtf8(
- (java.lang.String) ref);
- number_ = b;
- return b;
- } else {
- return (com.google.protobuf.ByteString) ref;
- }
- }
- /**
- * <code>required string number = 1;</code>
- */
- public Builder setNumber(
- java.lang.String value) {
- if (value == null) {
- throw new NullPointerException();
- }
- bitField0_ |= 0x00000001;
- number_ = value;
- onChanged();
- return this;
- }
- /**
- * <code>required string number = 1;</code>
- */
- public Builder clearNumber() {
- bitField0_ = (bitField0_ & ~0x00000001);
- number_ = getDefaultInstance().getNumber();
- onChanged();
- return this;
- }
- /**
- * <code>required string number = 1;</code>
- */
- public Builder setNumberBytes(
- com.google.protobuf.ByteString value) {
- if (value == null) {
- throw new NullPointerException();
- }
- bitField0_ |= 0x00000001;
- number_ = value;
- onChanged();
- return this;
- }
- // optional .tutorial.Person.PhoneType type = 2 [default = HOME];
- private study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneType type_ = study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneType.HOME;
- /**
- * <code>optional .tutorial.Person.PhoneType type = 2 [default = HOME];</code>
- */
- public boolean hasType() {
- return ((bitField0_ & 0x00000002) == 0x00000002);
- }
- /**
- * <code>optional .tutorial.Person.PhoneType type = 2 [default = HOME];</code>
- */
- public study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneType getType() {
- return type_;
- }
- /**
- * <code>optional .tutorial.Person.PhoneType type = 2 [default = HOME];</code>
- */
- public Builder setType(study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneType value) {
- if (value == null) {
- throw new NullPointerException();
- }
- bitField0_ |= 0x00000002;
- type_ = value;
- onChanged();
- return this;
- }
- /**
- * <code>optional .tutorial.Person.PhoneType type = 2 [default = HOME];</code>
- */
- public Builder clearType() {
- bitField0_ = (bitField0_ & ~0x00000002);
- type_ = study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneType.HOME;
- onChanged();
- return this;
- }
- // @@protoc_insertion_point(builder_scope:tutorial.Person.PhoneNumber)
- }
- static {
- defaultInstance = new PhoneNumber(true);
- defaultInstance.initFields();
- }
- // @@protoc_insertion_point(class_scope:tutorial.Person.PhoneNumber)
- }
- private int bitField0_;
- // required string name = 1;
- public static final int NAME_FIELD_NUMBER = 1;
- private java.lang.Object name_;
- /**
- * <code>required string name = 1;</code>
- */
- public boolean hasName() {
- return ((bitField0_ & 0x00000001) == 0x00000001);
- }
- /**
- * <code>required string name = 1;</code>
- */
- public java.lang.String getName() {
- java.lang.Object ref = name_;
- if (ref instanceof java.lang.String) {
- return (java.lang.String) ref;
- } else {
- com.google.protobuf.ByteString bs =
- (com.google.protobuf.ByteString) ref;
- java.lang.String s = bs.toStringUtf8();
- if (bs.isValidUtf8()) {
- name_ = s;
- }
- return s;
- }
- }
- /**
- * <code>required string name = 1;</code>
- */
- public com.google.protobuf.ByteString
- getNameBytes() {
- java.lang.Object ref = name_;
- if (ref instanceof java.lang.String) {
- com.google.protobuf.ByteString b =
- com.google.protobuf.ByteString.copyFromUtf8(
- (java.lang.String) ref);
- name_ = b;
- return b;
- } else {
- return (com.google.protobuf.ByteString) ref;
- }
- }
- // required int32 id = 2;
- public static final int ID_FIELD_NUMBER = 2;
- private int id_;
- /**
- * <code>required int32 id = 2;</code>
- *
- * <pre>
- * Unique ID number for this person.
- * </pre>
- */
- public boolean hasId() {
- return ((bitField0_ & 0x00000002) == 0x00000002);
- }
- /**
- * <code>required int32 id = 2;</code>
- *
- * <pre>
- * Unique ID number for this person.
- * </pre>
- */
- public int getId() {
- return id_;
- }
- // optional string email = 3;
- public static final int EMAIL_FIELD_NUMBER = 3;
- private java.lang.Object email_;
- /**
- * <code>optional string email = 3;</code>
- */
- public boolean hasEmail() {
- return ((bitField0_ & 0x00000004) == 0x00000004);
- }
- /**
- * <code>optional string email = 3;</code>
- */
- public java.lang.String getEmail() {
- java.lang.Object ref = email_;
- if (ref instanceof java.lang.String) {
- return (java.lang.String) ref;
- } else {
- com.google.protobuf.ByteString bs =
- (com.google.protobuf.ByteString) ref;
- java.lang.String s = bs.toStringUtf8();
- if (bs.isValidUtf8()) {
- email_ = s;
- }
- return s;
- }
- }
- /**
- * <code>optional string email = 3;</code>
- */
- public com.google.protobuf.ByteString
- getEmailBytes() {
- java.lang.Object ref = email_;
- if (ref instanceof java.lang.String) {
- com.google.protobuf.ByteString b =
- com.google.protobuf.ByteString.copyFromUtf8(
- (java.lang.String) ref);
- email_ = b;
- return b;
- } else {
- return (com.google.protobuf.ByteString) ref;
- }
- }
- // repeated .tutorial.Person.PhoneNumber phone = 4;
- public static final int PHONE_FIELD_NUMBER = 4;
- private java.util.List<study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber> phone_;
- /**
- * <code>repeated .tutorial.Person.PhoneNumber phone = 4;</code>
- */
- public java.util.List<study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber> getPhoneList() {
- return phone_;
- }
- /**
- * <code>repeated .tutorial.Person.PhoneNumber phone = 4;</code>
- */
- public java.util.List<? extends study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumberOrBuilder>
- getPhoneOrBuilderList() {
- return phone_;
- }
- /**
- * <code>repeated .tutorial.Person.PhoneNumber phone = 4;</code>
- */
- public int getPhoneCount() {
- return phone_.size();
- }
- /**
- * <code>repeated .tutorial.Person.PhoneNumber phone = 4;</code>
- */
- public study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber getPhone(int index) {
- return phone_.get(index);
- }
- /**
- * <code>repeated .tutorial.Person.PhoneNumber phone = 4;</code>
- */
- public study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumberOrBuilder getPhoneOrBuilder(
- int index) {
- return phone_.get(index);
- }
- private void initFields() {
- name_ = "";
- id_ = 0;
- email_ = "";
- phone_ = java.util.Collections.emptyList();
- }
- private byte memoizedIsInitialized = -1;
- public final boolean isInitialized() {
- byte isInitialized = memoizedIsInitialized;
- if (isInitialized != -1) return isInitialized == 1;
- if (!hasName()) {
- memoizedIsInitialized = 0;
- return false;
- }
- if (!hasId()) {
- memoizedIsInitialized = 0;
- return false;
- }
- for (int i = 0; i < getPhoneCount(); i++) {
- if (!getPhone(i).isInitialized()) {
- memoizedIsInitialized = 0;
- return false;
- }
- }
- memoizedIsInitialized = 1;
- return true;
- }
- public void writeTo(com.google.protobuf.CodedOutputStream output)
- throws java.io.IOException {
- getSerializedSize();
- if (((bitField0_ & 0x00000001) == 0x00000001)) {
- output.writeBytes(1, getNameBytes());
- }
- if (((bitField0_ & 0x00000002) == 0x00000002)) {
- output.writeInt32(2, id_);
- }
- if (((bitField0_ & 0x00000004) == 0x00000004)) {
- output.writeBytes(3, getEmailBytes());
- }
- for (int i = 0; i < phone_.size(); i++) {
- output.writeMessage(4, phone_.get(i));
- }
- getUnknownFields().writeTo(output);
- }
- private int memoizedSerializedSize = -1;
- public int getSerializedSize() {
- int size = memoizedSerializedSize;
- if (size != -1) return size;
- size = 0;
- if (((bitField0_ & 0x00000001) == 0x00000001)) {
- size += com.google.protobuf.CodedOutputStream
- .computeBytesSize(1, getNameBytes());
- }
- if (((bitField0_ & 0x00000002) == 0x00000002)) {
- size += com.google.protobuf.CodedOutputStream
- .computeInt32Size(2, id_);
- }
- if (((bitField0_ & 0x00000004) == 0x00000004)) {
- size += com.google.protobuf.CodedOutputStream
- .computeBytesSize(3, getEmailBytes());
- }
- for (int i = 0; i < phone_.size(); i++) {
- size += com.google.protobuf.CodedOutputStream
- .computeMessageSize(4, phone_.get(i));
- }
- size += getUnknownFields().getSerializedSize();
- memoizedSerializedSize = size;
- return size;
- }
- private static final long serialVersionUID = 0L;
- @java.lang.Override
- protected java.lang.Object writeReplace()
- throws java.io.ObjectStreamException {
- return super.writeReplace();
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.Person parseFrom(
- com.google.protobuf.ByteString data)
- throws com.google.protobuf.InvalidProtocolBufferException {
- return PARSER.parseFrom(data);
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.Person parseFrom(
- com.google.protobuf.ByteString data,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws com.google.protobuf.InvalidProtocolBufferException {
- return PARSER.parseFrom(data, extensionRegistry);
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.Person parseFrom(byte[] data)
- throws com.google.protobuf.InvalidProtocolBufferException {
- return PARSER.parseFrom(data);
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.Person parseFrom(
- byte[] data,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws com.google.protobuf.InvalidProtocolBufferException {
- return PARSER.parseFrom(data, extensionRegistry);
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.Person parseFrom(java.io.InputStream input)
- throws java.io.IOException {
- return PARSER.parseFrom(input);
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.Person parseFrom(
- java.io.InputStream input,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws java.io.IOException {
- return PARSER.parseFrom(input, extensionRegistry);
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.Person parseDelimitedFrom(java.io.InputStream input)
- throws java.io.IOException {
- return PARSER.parseDelimitedFrom(input);
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.Person parseDelimitedFrom(
- java.io.InputStream input,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws java.io.IOException {
- return PARSER.parseDelimitedFrom(input, extensionRegistry);
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.Person parseFrom(
- com.google.protobuf.CodedInputStream input)
- throws java.io.IOException {
- return PARSER.parseFrom(input);
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.Person parseFrom(
- com.google.protobuf.CodedInputStream input,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws java.io.IOException {
- return PARSER.parseFrom(input, extensionRegistry);
- }
- public static Builder newBuilder() { return Builder.create(); }
- public Builder newBuilderForType() { return newBuilder(); }
- public static Builder newBuilder(study.java.arithmetic.protobuf.AddressBookProtos.Person prototype) {
- return newBuilder().mergeFrom(prototype);
- }
- public Builder toBuilder() { return newBuilder(this); }
- @java.lang.Override
- protected Builder newBuilderForType(
- com.google.protobuf.GeneratedMessage.BuilderParent parent) {
- Builder builder = new Builder(parent);
- return builder;
- }
- /**
- * Protobuf type {@code tutorial.Person}
- */
- public static final class Builder extends
- com.google.protobuf.GeneratedMessage.Builder<Builder>
- implements study.java.arithmetic.protobuf.AddressBookProtos.PersonOrBuilder {
- public static final com.google.protobuf.Descriptors.Descriptor
- getDescriptor() {
- return study.java.arithmetic.protobuf.AddressBookProtos.internal_static_tutorial_Person_descriptor;
- }
- protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
- internalGetFieldAccessorTable() {
- return study.java.arithmetic.protobuf.AddressBookProtos.internal_static_tutorial_Person_fieldAccessorTable
- .ensureFieldAccessorsInitialized(
- study.java.arithmetic.protobuf.AddressBookProtos.Person.class, study.java.arithmetic.protobuf.AddressBookProtos.Person.Builder.class);
- }
- // Construct using study.java.arithmetic.protobuf.AddressBookProtos.Person.newBuilder()
- private Builder() {
- maybeForceBuilderInitialization();
- }
- private Builder(
- com.google.protobuf.GeneratedMessage.BuilderParent parent) {
- super(parent);
- maybeForceBuilderInitialization();
- }
- private void maybeForceBuilderInitialization() {
- if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
- getPhoneFieldBuilder();
- }
- }
- private static Builder create() {
- return new Builder();
- }
- public Builder clear() {
- super.clear();
- name_ = "";
- bitField0_ = (bitField0_ & ~0x00000001);
- id_ = 0;
- bitField0_ = (bitField0_ & ~0x00000002);
- email_ = "";
- bitField0_ = (bitField0_ & ~0x00000004);
- if (phoneBuilder_ == null) {
- phone_ = java.util.Collections.emptyList();
- bitField0_ = (bitField0_ & ~0x00000008);
- } else {
- phoneBuilder_.clear();
- }
- return this;
- }
- public Builder clone() {
- return create().mergeFrom(buildPartial());
- }
- public com.google.protobuf.Descriptors.Descriptor
- getDescriptorForType() {
- return study.java.arithmetic.protobuf.AddressBookProtos.internal_static_tutorial_Person_descriptor;
- }
- public study.java.arithmetic.protobuf.AddressBookProtos.Person getDefaultInstanceForType() {
- return study.java.arithmetic.protobuf.AddressBookProtos.Person.getDefaultInstance();
- }
- public study.java.arithmetic.protobuf.AddressBookProtos.Person build() {
- study.java.arithmetic.protobuf.AddressBookProtos.Person result = buildPartial();
- if (!result.isInitialized()) {
- throw newUninitializedMessageException(result);
- }
- return result;
- }
- public study.java.arithmetic.protobuf.AddressBookProtos.Person buildPartial() {
- study.java.arithmetic.protobuf.AddressBookProtos.Person result = new study.java.arithmetic.protobuf.AddressBookProtos.Person(this);
- int from_bitField0_ = bitField0_;
- int to_bitField0_ = 0;
- if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
- to_bitField0_ |= 0x00000001;
- }
- result.name_ = name_;
- if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
- to_bitField0_ |= 0x00000002;
- }
- result.id_ = id_;
- if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
- to_bitField0_ |= 0x00000004;
- }
- result.email_ = email_;
- if (phoneBuilder_ == null) {
- if (((bitField0_ & 0x00000008) == 0x00000008)) {
- phone_ = java.util.Collections.unmodifiableList(phone_);
- bitField0_ = (bitField0_ & ~0x00000008);
- }
- result.phone_ = phone_;
- } else {
- result.phone_ = phoneBuilder_.build();
- }
- result.bitField0_ = to_bitField0_;
- onBuilt();
- return result;
- }
- public Builder mergeFrom(com.google.protobuf.Message other) {
- if (other instanceof study.java.arithmetic.protobuf.AddressBookProtos.Person) {
- return mergeFrom((study.java.arithmetic.protobuf.AddressBookProtos.Person)other);
- } else {
- super.mergeFrom(other);
- return this;
- }
- }
- public Builder mergeFrom(study.java.arithmetic.protobuf.AddressBookProtos.Person other) {
- if (other == study.java.arithmetic.protobuf.AddressBookProtos.Person.getDefaultInstance()) return this;
- if (other.hasName()) {
- bitField0_ |= 0x00000001;
- name_ = other.name_;
- onChanged();
- }
- if (other.hasId()) {
- setId(other.getId());
- }
- if (other.hasEmail()) {
- bitField0_ |= 0x00000004;
- email_ = other.email_;
- onChanged();
- }
- if (phoneBuilder_ == null) {
- if (!other.phone_.isEmpty()) {
- if (phone_.isEmpty()) {
- phone_ = other.phone_;
- bitField0_ = (bitField0_ & ~0x00000008);
- } else {
- ensurePhoneIsMutable();
- phone_.addAll(other.phone_);
- }
- onChanged();
- }
- } else {
- if (!other.phone_.isEmpty()) {
- if (phoneBuilder_.isEmpty()) {
- phoneBuilder_.dispose();
- phoneBuilder_ = null;
- phone_ = other.phone_;
- bitField0_ = (bitField0_ & ~0x00000008);
- phoneBuilder_ =
- com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
- getPhoneFieldBuilder() : null;
- } else {
- phoneBuilder_.addAllMessages(other.phone_);
- }
- }
- }
- this.mergeUnknownFields(other.getUnknownFields());
- return this;
- }
- public final boolean isInitialized() {
- if (!hasName()) {
- return false;
- }
- if (!hasId()) {
- return false;
- }
- for (int i = 0; i < getPhoneCount(); i++) {
- if (!getPhone(i).isInitialized()) {
- return false;
- }
- }
- return true;
- }
- public Builder mergeFrom(
- com.google.protobuf.CodedInputStream input,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws java.io.IOException {
- study.java.arithmetic.protobuf.AddressBookProtos.Person parsedMessage = null;
- try {
- parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
- } catch (com.google.protobuf.InvalidProtocolBufferException e) {
- parsedMessage = (study.java.arithmetic.protobuf.AddressBookProtos.Person) e.getUnfinishedMessage();
- throw e;
- } finally {
- if (parsedMessage != null) {
- mergeFrom(parsedMessage);
- }
- }
- return this;
- }
- private int bitField0_;
- // required string name = 1;
- private java.lang.Object name_ = "";
- /**
- * <code>required string name = 1;</code>
- */
- public boolean hasName() {
- return ((bitField0_ & 0x00000001) == 0x00000001);
- }
- /**
- * <code>required string name = 1;</code>
- */
- public java.lang.String getName() {
- java.lang.Object ref = name_;
- if (!(ref instanceof java.lang.String)) {
- java.lang.String s = ((com.google.protobuf.ByteString) ref)
- .toStringUtf8();
- name_ = s;
- return s;
- } else {
- return (java.lang.String) ref;
- }
- }
- /**
- * <code>required string name = 1;</code>
- */
- public com.google.protobuf.ByteString
- getNameBytes() {
- java.lang.Object ref = name_;
- if (ref instanceof String) {
- com.google.protobuf.ByteString b =
- com.google.protobuf.ByteString.copyFromUtf8(
- (java.lang.String) ref);
- name_ = b;
- return b;
- } else {
- return (com.google.protobuf.ByteString) ref;
- }
- }
- /**
- * <code>required string name = 1;</code>
- */
- public Builder setName(
- java.lang.String value) {
- if (value == null) {
- throw new NullPointerException();
- }
- bitField0_ |= 0x00000001;
- name_ = value;
- onChanged();
- return this;
- }
- /**
- * <code>required string name = 1;</code>
- */
- public Builder clearName() {
- bitField0_ = (bitField0_ & ~0x00000001);
- name_ = getDefaultInstance().getName();
- onChanged();
- return this;
- }
- /**
- * <code>required string name = 1;</code>
- */
- public Builder setNameBytes(
- com.google.protobuf.ByteString value) {
- if (value == null) {
- throw new NullPointerException();
- }
- bitField0_ |= 0x00000001;
- name_ = value;
- onChanged();
- return this;
- }
- // required int32 id = 2;
- private int id_ ;
- /**
- * <code>required int32 id = 2;</code>
- *
- * <pre>
- * Unique ID number for this person.
- * </pre>
- */
- public boolean hasId() {
- return ((bitField0_ & 0x00000002) == 0x00000002);
- }
- /**
- * <code>required int32 id = 2;</code>
- *
- * <pre>
- * Unique ID number for this person.
- * </pre>
- */
- public int getId() {
- return id_;
- }
- /**
- * <code>required int32 id = 2;</code>
- *
- * <pre>
- * Unique ID number for this person.
- * </pre>
- */
- public Builder setId(int value) {
- bitField0_ |= 0x00000002;
- id_ = value;
- onChanged();
- return this;
- }
- /**
- * <code>required int32 id = 2;</code>
- *
- * <pre>
- * Unique ID number for this person.
- * </pre>
- */
- public Builder clearId() {
- bitField0_ = (bitField0_ & ~0x00000002);
- id_ = 0;
- onChanged();
- return this;
- }
- // optional string email = 3;
- private java.lang.Object email_ = "";
- /**
- * <code>optional string email = 3;</code>
- */
- public boolean hasEmail() {
- return ((bitField0_ & 0x00000004) == 0x00000004);
- }
- /**
- * <code>optional string email = 3;</code>
- */
- public java.lang.String getEmail() {
- java.lang.Object ref = email_;
- if (!(ref instanceof java.lang.String)) {
- java.lang.String s = ((com.google.protobuf.ByteString) ref)
- .toStringUtf8();
- email_ = s;
- return s;
- } else {
- return (java.lang.String) ref;
- }
- }
- /**
- * <code>optional string email = 3;</code>
- */
- public com.google.protobuf.ByteString
- getEmailBytes() {
- java.lang.Object ref = email_;
- if (ref instanceof String) {
- com.google.protobuf.ByteString b =
- com.google.protobuf.ByteString.copyFromUtf8(
- (java.lang.String) ref);
- email_ = b;
- return b;
- } else {
- return (com.google.protobuf.ByteString) ref;
- }
- }
- /**
- * <code>optional string email = 3;</code>
- */
- public Builder setEmail(
- java.lang.String value) {
- if (value == null) {
- throw new NullPointerException();
- }
- bitField0_ |= 0x00000004;
- email_ = value;
- onChanged();
- return this;
- }
- /**
- * <code>optional string email = 3;</code>
- */
- public Builder clearEmail() {
- bitField0_ = (bitField0_ & ~0x00000004);
- email_ = getDefaultInstance().getEmail();
- onChanged();
- return this;
- }
- /**
- * <code>optional string email = 3;</code>
- */
- public Builder setEmailBytes(
- com.google.protobuf.ByteString value) {
- if (value == null) {
- throw new NullPointerException();
- }
- bitField0_ |= 0x00000004;
- email_ = value;
- onChanged();
- return this;
- }
- // repeated .tutorial.Person.PhoneNumber phone = 4;
- private java.util.List<study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber> phone_ =
- java.util.Collections.emptyList();
- private void ensurePhoneIsMutable() {
- if (!((bitField0_ & 0x00000008) == 0x00000008)) {
- phone_ = new java.util.ArrayList<study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber>(phone_);
- bitField0_ |= 0x00000008;
- }
- }
- private com.google.protobuf.RepeatedFieldBuilder<
- study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber, study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber.Builder, study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumberOrBuilder> phoneBuilder_;
- /**
- * <code>repeated .tutorial.Person.PhoneNumber phone = 4;</code>
- */
- public java.util.List<study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber> getPhoneList() {
- if (phoneBuilder_ == null) {
- return java.util.Collections.unmodifiableList(phone_);
- } else {
- return phoneBuilder_.getMessageList();
- }
- }
- /**
- * <code>repeated .tutorial.Person.PhoneNumber phone = 4;</code>
- */
- public int getPhoneCount() {
- if (phoneBuilder_ == null) {
- return phone_.size();
- } else {
- return phoneBuilder_.getCount();
- }
- }
- /**
- * <code>repeated .tutorial.Person.PhoneNumber phone = 4;</code>
- */
- public study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber getPhone(int index) {
- if (phoneBuilder_ == null) {
- return phone_.get(index);
- } else {
- return phoneBuilder_.getMessage(index);
- }
- }
- /**
- * <code>repeated .tutorial.Person.PhoneNumber phone = 4;</code>
- */
- public Builder setPhone(
- int index, study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber value) {
- if (phoneBuilder_ == null) {
- if (value == null) {
- throw new NullPointerException();
- }
- ensurePhoneIsMutable();
- phone_.set(index, value);
- onChanged();
- } else {
- phoneBuilder_.setMessage(index, value);
- }
- return this;
- }
- /**
- * <code>repeated .tutorial.Person.PhoneNumber phone = 4;</code>
- */
- public Builder setPhone(
- int index, study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber.Builder builderForValue) {
- if (phoneBuilder_ == null) {
- ensurePhoneIsMutable();
- phone_.set(index, builderForValue.build());
- onChanged();
- } else {
- phoneBuilder_.setMessage(index, builderForValue.build());
- }
- return this;
- }
- /**
- * <code>repeated .tutorial.Person.PhoneNumber phone = 4;</code>
- */
- public Builder addPhone(study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber value) {
- if (phoneBuilder_ == null) {
- if (value == null) {
- throw new NullPointerException();
- }
- ensurePhoneIsMutable();
- phone_.add(value);
- onChanged();
- } else {
- phoneBuilder_.addMessage(value);
- }
- return this;
- }
- /**
- * <code>repeated .tutorial.Person.PhoneNumber phone = 4;</code>
- */
- public Builder addPhone(
- int index, study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber value) {
- if (phoneBuilder_ == null) {
- if (value == null) {
- throw new NullPointerException();
- }
- ensurePhoneIsMutable();
- phone_.add(index, value);
- onChanged();
- } else {
- phoneBuilder_.addMessage(index, value);
- }
- return this;
- }
- /**
- * <code>repeated .tutorial.Person.PhoneNumber phone = 4;</code>
- */
- public Builder addPhone(
- study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber.Builder builderForValue) {
- if (phoneBuilder_ == null) {
- ensurePhoneIsMutable();
- phone_.add(builderForValue.build());
- onChanged();
- } else {
- phoneBuilder_.addMessage(builderForValue.build());
- }
- return this;
- }
- /**
- * <code>repeated .tutorial.Person.PhoneNumber phone = 4;</code>
- */
- public Builder addPhone(
- int index, study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber.Builder builderForValue) {
- if (phoneBuilder_ == null) {
- ensurePhoneIsMutable();
- phone_.add(index, builderForValue.build());
- onChanged();
- } else {
- phoneBuilder_.addMessage(index, builderForValue.build());
- }
- return this;
- }
- /**
- * <code>repeated .tutorial.Person.PhoneNumber phone = 4;</code>
- */
- public Builder addAllPhone(
- java.lang.Iterable<? extends study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber> values) {
- if (phoneBuilder_ == null) {
- ensurePhoneIsMutable();
- super.addAll(values, phone_);
- onChanged();
- } else {
- phoneBuilder_.addAllMessages(values);
- }
- return this;
- }
- /**
- * <code>repeated .tutorial.Person.PhoneNumber phone = 4;</code>
- */
- public Builder clearPhone() {
- if (phoneBuilder_ == null) {
- phone_ = java.util.Collections.emptyList();
- bitField0_ = (bitField0_ & ~0x00000008);
- onChanged();
- } else {
- phoneBuilder_.clear();
- }
- return this;
- }
- /**
- * <code>repeated .tutorial.Person.PhoneNumber phone = 4;</code>
- */
- public Builder removePhone(int index) {
- if (phoneBuilder_ == null) {
- ensurePhoneIsMutable();
- phone_.remove(index);
- onChanged();
- } else {
- phoneBuilder_.remove(index);
- }
- return this;
- }
- /**
- * <code>repeated .tutorial.Person.PhoneNumber phone = 4;</code>
- */
- public study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber.Builder getPhoneBuilder(
- int index) {
- return getPhoneFieldBuilder().getBuilder(index);
- }
- /**
- * <code>repeated .tutorial.Person.PhoneNumber phone = 4;</code>
- */
- public study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumberOrBuilder getPhoneOrBuilder(
- int index) {
- if (phoneBuilder_ == null) {
- return phone_.get(index); } else {
- return phoneBuilder_.getMessageOrBuilder(index);
- }
- }
- /**
- * <code>repeated .tutorial.Person.PhoneNumber phone = 4;</code>
- */
- public java.util.List<? extends study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumberOrBuilder>
- getPhoneOrBuilderList() {
- if (phoneBuilder_ != null) {
- return phoneBuilder_.getMessageOrBuilderList();
- } else {
- return java.util.Collections.unmodifiableList(phone_);
- }
- }
- /**
- * <code>repeated .tutorial.Person.PhoneNumber phone = 4;</code>
- */
- public study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber.Builder addPhoneBuilder() {
- return getPhoneFieldBuilder().addBuilder(
- study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber.getDefaultInstance());
- }
- /**
- * <code>repeated .tutorial.Person.PhoneNumber phone = 4;</code>
- */
- public study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber.Builder addPhoneBuilder(
- int index) {
- return getPhoneFieldBuilder().addBuilder(
- index, study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber.getDefaultInstance());
- }
- /**
- * <code>repeated .tutorial.Person.PhoneNumber phone = 4;</code>
- */
- public java.util.List<study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber.Builder>
- getPhoneBuilderList() {
- return getPhoneFieldBuilder().getBuilderList();
- }
- private com.google.protobuf.RepeatedFieldBuilder<
- study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber, study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber.Builder, study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumberOrBuilder>
- getPhoneFieldBuilder() {
- if (phoneBuilder_ == null) {
- phoneBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
- study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber, study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumber.Builder, study.java.arithmetic.protobuf.AddressBookProtos.Person.PhoneNumberOrBuilder>(
- phone_,
- ((bitField0_ & 0x00000008) == 0x00000008),
- getParentForChildren(),
- isClean());
- phone_ = null;
- }
- return phoneBuilder_;
- }
- // @@protoc_insertion_point(builder_scope:tutorial.Person)
- }
- static {
- defaultInstance = new Person(true);
- defaultInstance.initFields();
- }
- // @@protoc_insertion_point(class_scope:tutorial.Person)
- }
- public interface AddressBookOrBuilder
- extends com.google.protobuf.MessageOrBuilder {
- // repeated .tutorial.Person person = 1;
- /**
- * <code>repeated .tutorial.Person person = 1;</code>
- */
- java.util.List<study.java.arithmetic.protobuf.AddressBookProtos.Person>
- getPersonList();
- /**
- * <code>repeated .tutorial.Person person = 1;</code>
- */
- study.java.arithmetic.protobuf.AddressBookProtos.Person getPerson(int index);
- /**
- * <code>repeated .tutorial.Person person = 1;</code>
- */
- int getPersonCount();
- /**
- * <code>repeated .tutorial.Person person = 1;</code>
- */
- java.util.List<? extends study.java.arithmetic.protobuf.AddressBookProtos.PersonOrBuilder>
- getPersonOrBuilderList();
- /**
- * <code>repeated .tutorial.Person person = 1;</code>
- */
- study.java.arithmetic.protobuf.AddressBookProtos.PersonOrBuilder getPersonOrBuilder(
- int index);
- }
- /**
- * Protobuf type {@code tutorial.AddressBook}
- *
- * <pre>
- * Our address book file is just one of these.
- * </pre>
- */
- public static final class AddressBook extends
- com.google.protobuf.GeneratedMessage
- implements AddressBookOrBuilder {
- // Use AddressBook.newBuilder() to construct.
- private AddressBook(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
- super(builder);
- this.unknownFields = builder.getUnknownFields();
- }
- private AddressBook(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
- private static final AddressBook defaultInstance;
- public static AddressBook getDefaultInstance() {
- return defaultInstance;
- }
- public AddressBook getDefaultInstanceForType() {
- return defaultInstance;
- }
- private final com.google.protobuf.UnknownFieldSet unknownFields;
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet
- getUnknownFields() {
- return this.unknownFields;
- }
- private AddressBook(
- com.google.protobuf.CodedInputStream input,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws com.google.protobuf.InvalidProtocolBufferException {
- initFields();
- int mutable_bitField0_ = 0;
- com.google.protobuf.UnknownFieldSet.Builder unknownFields =
- com.google.protobuf.UnknownFieldSet.newBuilder();
- try {
- boolean done = false;
- while (!done) {
- int tag = input.readTag();
- switch (tag) {
- case 0:
- done = true;
- break;
- default: {
- if (!parseUnknownField(input, unknownFields,
- extensionRegistry, tag)) {
- done = true;
- }
- break;
- }
- case 10: {
- if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
- person_ = new java.util.ArrayList<study.java.arithmetic.protobuf.AddressBookProtos.Person>();
- mutable_bitField0_ |= 0x00000001;
- }
- person_.add(input.readMessage(study.java.arithmetic.protobuf.AddressBookProtos.Person.PARSER, extensionRegistry));
- break;
- }
- }
- }
- } catch (com.google.protobuf.InvalidProtocolBufferException e) {
- throw e.setUnfinishedMessage(this);
- } catch (java.io.IOException e) {
- throw new com.google.protobuf.InvalidProtocolBufferException(
- e.getMessage()).setUnfinishedMessage(this);
- } finally {
- if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
- person_ = java.util.Collections.unmodifiableList(person_);
- }
- this.unknownFields = unknownFields.build();
- makeExtensionsImmutable();
- }
- }
- public static final com.google.protobuf.Descriptors.Descriptor
- getDescriptor() {
- return study.java.arithmetic.protobuf.AddressBookProtos.internal_static_tutorial_AddressBook_descriptor;
- }
- protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
- internalGetFieldAccessorTable() {
- return study.java.arithmetic.protobuf.AddressBookProtos.internal_static_tutorial_AddressBook_fieldAccessorTable
- .ensureFieldAccessorsInitialized(
- study.java.arithmetic.protobuf.AddressBookProtos.AddressBook.class, study.java.arithmetic.protobuf.AddressBookProtos.AddressBook.Builder.class);
- }
- public static com.google.protobuf.Parser<AddressBook> PARSER =
- new com.google.protobuf.AbstractParser<AddressBook>() {
- public AddressBook parsePartialFrom(
- com.google.protobuf.CodedInputStream input,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws com.google.protobuf.InvalidProtocolBufferException {
- return new AddressBook(input, extensionRegistry);
- }
- };
- @java.lang.Override
- public com.google.protobuf.Parser<AddressBook> getParserForType() {
- return PARSER;
- }
- // repeated .tutorial.Person person = 1;
- public static final int PERSON_FIELD_NUMBER = 1;
- private java.util.List<study.java.arithmetic.protobuf.AddressBookProtos.Person> person_;
- /**
- * <code>repeated .tutorial.Person person = 1;</code>
- */
- public java.util.List<study.java.arithmetic.protobuf.AddressBookProtos.Person> getPersonList() {
- return person_;
- }
- /**
- * <code>repeated .tutorial.Person person = 1;</code>
- */
- public java.util.List<? extends study.java.arithmetic.protobuf.AddressBookProtos.PersonOrBuilder>
- getPersonOrBuilderList() {
- return person_;
- }
- /**
- * <code>repeated .tutorial.Person person = 1;</code>
- */
- public int getPersonCount() {
- return person_.size();
- }
- /**
- * <code>repeated .tutorial.Person person = 1;</code>
- */
- public study.java.arithmetic.protobuf.AddressBookProtos.Person getPerson(int index) {
- return person_.get(index);
- }
- /**
- * <code>repeated .tutorial.Person person = 1;</code>
- */
- public study.java.arithmetic.protobuf.AddressBookProtos.PersonOrBuilder getPersonOrBuilder(
- int index) {
- return person_.get(index);
- }
- private void initFields() {
- person_ = java.util.Collections.emptyList();
- }
- private byte memoizedIsInitialized = -1;
- public final boolean isInitialized() {
- byte isInitialized = memoizedIsInitialized;
- if (isInitialized != -1) return isInitialized == 1;
- for (int i = 0; i < getPersonCount(); i++) {
- if (!getPerson(i).isInitialized()) {
- memoizedIsInitialized = 0;
- return false;
- }
- }
- memoizedIsInitialized = 1;
- return true;
- }
- public void writeTo(com.google.protobuf.CodedOutputStream output)
- throws java.io.IOException {
- getSerializedSize();
- for (int i = 0; i < person_.size(); i++) {
- output.writeMessage(1, person_.get(i));
- }
- getUnknownFields().writeTo(output);
- }
- private int memoizedSerializedSize = -1;
- public int getSerializedSize() {
- int size = memoizedSerializedSize;
- if (size != -1) return size;
- size = 0;
- for (int i = 0; i < person_.size(); i++) {
- size += com.google.protobuf.CodedOutputStream
- .computeMessageSize(1, person_.get(i));
- }
- size += getUnknownFields().getSerializedSize();
- memoizedSerializedSize = size;
- return size;
- }
- private static final long serialVersionUID = 0L;
- @java.lang.Override
- protected java.lang.Object writeReplace()
- throws java.io.ObjectStreamException {
- return super.writeReplace();
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.AddressBook parseFrom(
- com.google.protobuf.ByteString data)
- throws com.google.protobuf.InvalidProtocolBufferException {
- return PARSER.parseFrom(data);
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.AddressBook parseFrom(
- com.google.protobuf.ByteString data,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws com.google.protobuf.InvalidProtocolBufferException {
- return PARSER.parseFrom(data, extensionRegistry);
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.AddressBook parseFrom(byte[] data)
- throws com.google.protobuf.InvalidProtocolBufferException {
- return PARSER.parseFrom(data);
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.AddressBook parseFrom(
- byte[] data,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws com.google.protobuf.InvalidProtocolBufferException {
- return PARSER.parseFrom(data, extensionRegistry);
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.AddressBook parseFrom(java.io.InputStream input)
- throws java.io.IOException {
- return PARSER.parseFrom(input);
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.AddressBook parseFrom(
- java.io.InputStream input,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws java.io.IOException {
- return PARSER.parseFrom(input, extensionRegistry);
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.AddressBook parseDelimitedFrom(java.io.InputStream input)
- throws java.io.IOException {
- return PARSER.parseDelimitedFrom(input);
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.AddressBook parseDelimitedFrom(
- java.io.InputStream input,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws java.io.IOException {
- return PARSER.parseDelimitedFrom(input, extensionRegistry);
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.AddressBook parseFrom(
- com.google.protobuf.CodedInputStream input)
- throws java.io.IOException {
- return PARSER.parseFrom(input);
- }
- public static study.java.arithmetic.protobuf.AddressBookProtos.AddressBook parseFrom(
- com.google.protobuf.CodedInputStream input,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws java.io.IOException {
- return PARSER.parseFrom(input, extensionRegistry);
- }
- public static Builder newBuilder() { return Builder.create(); }
- public Builder newBuilderForType() { return newBuilder(); }
- public static Builder newBuilder(study.java.arithmetic.protobuf.AddressBookProtos.AddressBook prototype) {
- return newBuilder().mergeFrom(prototype);
- }
- public Builder toBuilder() { return newBuilder(this); }
- @java.lang.Override
- protected Builder newBuilderForType(
- com.google.protobuf.GeneratedMessage.BuilderParent parent) {
- Builder builder = new Builder(parent);
- return builder;
- }
- /**
- * Protobuf type {@code tutorial.AddressBook}
- *
- * <pre>
- * Our address book file is just one of these.
- * </pre>
- */
- public static final class Builder extends
- com.google.protobuf.GeneratedMessage.Builder<Builder>
- implements study.java.arithmetic.protobuf.AddressBookProtos.AddressBookOrBuilder {
- public static final com.google.protobuf.Descriptors.Descriptor
- getDescriptor() {
- return study.java.arithmetic.protobuf.AddressBookProtos.internal_static_tutorial_AddressBook_descriptor;
- }
- protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
- internalGetFieldAccessorTable() {
- return study.java.arithmetic.protobuf.AddressBookProtos.internal_static_tutorial_AddressBook_fieldAccessorTable
- .ensureFieldAccessorsInitialized(
- study.java.arithmetic.protobuf.AddressBookProtos.AddressBook.class, study.java.arithmetic.protobuf.AddressBookProtos.AddressBook.Builder.class);
- }
- // Construct using study.java.arithmetic.protobuf.AddressBookProtos.AddressBook.newBuilder()
- private Builder() {
- maybeForceBuilderInitialization();
- }
- private Builder(
- com.google.protobuf.GeneratedMessage.BuilderParent parent) {
- super(parent);
- maybeForceBuilderInitialization();
- }
- private void maybeForceBuilderInitialization() {
- if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
- getPersonFieldBuilder();
- }
- }
- private static Builder create() {
- return new Builder();
- }
- public Builder clear() {
- super.clear();
- if (personBuilder_ == null) {
- person_ = java.util.Collections.emptyList();
- bitField0_ = (bitField0_ & ~0x00000001);
- } else {
- personBuilder_.clear();
- }
- return this;
- }
- public Builder clone() {
- return create().mergeFrom(buildPartial());
- }
- public com.google.protobuf.Descriptors.Descriptor
- getDescriptorForType() {
- return study.java.arithmetic.protobuf.AddressBookProtos.internal_static_tutorial_AddressBook_descriptor;
- }
- public study.java.arithmetic.protobuf.AddressBookProtos.AddressBook getDefaultInstanceForType() {
- return study.java.arithmetic.protobuf.AddressBookProtos.AddressBook.getDefaultInstance();
- }
- public study.java.arithmetic.protobuf.AddressBookProtos.AddressBook build() {
- study.java.arithmetic.protobuf.AddressBookProtos.AddressBook result = buildPartial();
- if (!result.isInitialized()) {
- throw newUninitializedMessageException(result);
- }
- return result;
- }
- public study.java.arithmetic.protobuf.AddressBookProtos.AddressBook buildPartial() {
- study.java.arithmetic.protobuf.AddressBookProtos.AddressBook result = new study.java.arithmetic.protobuf.AddressBookProtos.AddressBook(this);
- int from_bitField0_ = bitField0_;
- if (personBuilder_ == null) {
- if (((bitField0_ & 0x00000001) == 0x00000001)) {
- person_ = java.util.Collections.unmodifiableList(person_);
- bitField0_ = (bitField0_ & ~0x00000001);
- }
- result.person_ = person_;
- } else {
- result.person_ = personBuilder_.build();
- }
- onBuilt();
- return result;
- }
- public Builder mergeFrom(com.google.protobuf.Message other) {
- if (other instanceof study.java.arithmetic.protobuf.AddressBookProtos.AddressBook) {
- return mergeFrom((study.java.arithmetic.protobuf.AddressBookProtos.AddressBook)other);
- } else {
- super.mergeFrom(other);
- return this;
- }
- }
- public Builder mergeFrom(study.java.arithmetic.protobuf.AddressBookProtos.AddressBook other) {
- if (other == study.java.arithmetic.protobuf.AddressBookProtos.AddressBook.getDefaultInstance()) return this;
- if (personBuilder_ == null) {
- if (!other.person_.isEmpty()) {
- if (person_.isEmpty()) {
- person_ = other.person_;
- bitField0_ = (bitField0_ & ~0x00000001);
- } else {
- ensurePersonIsMutable();
- person_.addAll(other.person_);
- }
- onChanged();
- }
- } else {
- if (!other.person_.isEmpty()) {
- if (personBuilder_.isEmpty()) {
- personBuilder_.dispose();
- personBuilder_ = null;
- person_ = other.person_;
- bitField0_ = (bitField0_ & ~0x00000001);
- personBuilder_ =
- com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
- getPersonFieldBuilder() : null;
- } else {
- personBuilder_.addAllMessages(other.person_);
- }
- }
- }
- this.mergeUnknownFields(other.getUnknownFields());
- return this;
- }
- public final boolean isInitialized() {
- for (int i = 0; i < getPersonCount(); i++) {
- if (!getPerson(i).isInitialized()) {
- return false;
- }
- }
- return true;
- }
- public Builder mergeFrom(
- com.google.protobuf.CodedInputStream input,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws java.io.IOException {
- study.java.arithmetic.protobuf.AddressBookProtos.AddressBook parsedMessage = null;
- try {
- parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
- } catch (com.google.protobuf.InvalidProtocolBufferException e) {
- parsedMessage = (study.java.arithmetic.protobuf.AddressBookProtos.AddressBook) e.getUnfinishedMessage();
- throw e;
- } finally {
- if (parsedMessage != null) {
- mergeFrom(parsedMessage);
- }
- }
- return this;
- }
- private int bitField0_;
- // repeated .tutorial.Person person = 1;
- private java.util.List<study.java.arithmetic.protobuf.AddressBookProtos.Person> person_ =
- java.util.Collections.emptyList();
- private void ensurePersonIsMutable() {
- if (!((bitField0_ & 0x00000001) == 0x00000001)) {
- person_ = new java.util.ArrayList<study.java.arithmetic.protobuf.AddressBookProtos.Person>(person_);
- bitField0_ |= 0x00000001;
- }
- }
- private com.google.protobuf.RepeatedFieldBuilder<
- study.java.arithmetic.protobuf.AddressBookProtos.Person, study.java.arithmetic.protobuf.AddressBookProtos.Person.Builder, study.java.arithmetic.protobuf.AddressBookProtos.PersonOrBuilder> personBuilder_;
- /**
- * <code>repeated .tutorial.Person person = 1;</code>
- */
- public java.util.List<study.java.arithmetic.protobuf.AddressBookProtos.Person> getPersonList() {
- if (personBuilder_ == null) {
- return java.util.Collections.unmodifiableList(person_);
- } else {
- return personBuilder_.getMessageList();
- }
- }
- /**
- * <code>repeated .tutorial.Person person = 1;</code>
- */
- public int getPersonCount() {
- if (personBuilder_ == null) {
- return person_.size();
- } else {
- return personBuilder_.getCount();
- }
- }
- /**
- * <code>repeated .tutorial.Person person = 1;</code>
- */
- public study.java.arithmetic.protobuf.AddressBookProtos.Person getPerson(int index) {
- if (personBuilder_ == null) {
- return person_.get(index);
- } else {
- return personBuilder_.getMessage(index);
- }
- }
- /**
- * <code>repeated .tutorial.Person person = 1;</code>
- */
- public Builder setPerson(
- int index, study.java.arithmetic.protobuf.AddressBookProtos.Person value) {
- if (personBuilder_ == null) {
- if (value == null) {
- throw new NullPointerException();
- }
- ensurePersonIsMutable();
- person_.set(index, value);
- onChanged();
- } else {
- personBuilder_.setMessage(index, value);
- }
- return this;
- }
- /**
- * <code>repeated .tutorial.Person person = 1;</code>
- */
- public Builder setPerson(
- int index, study.java.arithmetic.protobuf.AddressBookProtos.Person.Builder builderForValue) {
- if (personBuilder_ == null) {
- ensurePersonIsMutable();
- person_.set(index, builderForValue.build());
- onChanged();
- } else {
- personBuilder_.setMessage(index, builderForValue.build());
- }
- return this;
- }
- /**
- * <code>repeated .tutorial.Person person = 1;</code>
- */
- public Builder addPerson(study.java.arithmetic.protobuf.AddressBookProtos.Person value) {
- if (personBuilder_ == null) {
- if (value == null) {
- throw new NullPointerException();
- }
- ensurePersonIsMutable();
- person_.add(value);
- onChanged();
- } else {
- personBuilder_.addMessage(value);
- }
- return this;
- }
- /**
- * <code>repeated .tutorial.Person person = 1;</code>
- */
- public Builder addPerson(
- int index, study.java.arithmetic.protobuf.AddressBookProtos.Person value) {
- if (personBuilder_ == null) {
- if (value == null) {
- throw new NullPointerException();
- }
- ensurePersonIsMutable();
- person_.add(index, value);
- onChanged();
- } else {
- personBuilder_.addMessage(index, value);
- }
- return this;
- }
- /**
- * <code>repeated .tutorial.Person person = 1;</code>
- */
- public Builder addPerson(
- study.java.arithmetic.protobuf.AddressBookProtos.Person.Builder builderForValue) {
- if (personBuilder_ == null) {
- ensurePersonIsMutable();
- person_.add(builderForValue.build());
- onChanged();
- } else {
- personBuilder_.addMessage(builderForValue.build());
- }
- return this;
- }
- /**
- * <code>repeated .tutorial.Person person = 1;</code>
- */
- public Builder addPerson(
- int index, study.java.arithmetic.protobuf.AddressBookProtos.Person.Builder builderForValue) {
- if (personBuilder_ == null) {
- ensurePersonIsMutable();
- person_.add(index, builderForValue.build());
- onChanged();
- } else {
- personBuilder_.addMessage(index, builderForValue.build());
- }
- return this;
- }
- /**
- * <code>repeated .tutorial.Person person = 1;</code>
- */
- public Builder addAllPerson(
- java.lang.Iterable<? extends study.java.arithmetic.protobuf.AddressBookProtos.Person> values) {
- if (personBuilder_ == null) {
- ensurePersonIsMutable();
- super.addAll(values, person_);
- onChanged();
- } else {
- personBuilder_.addAllMessages(values);
- }
- return this;
- }
- /**
- * <code>repeated .tutorial.Person person = 1;</code>
- */
- public Builder clearPerson() {
- if (personBuilder_ == null) {
- person_ = java.util.Collections.emptyList();
- bitField0_ = (bitField0_ & ~0x00000001);
- onChanged();
- } else {
- personBuilder_.clear();
- }
- return this;
- }
- /**
- * <code>repeated .tutorial.Person person = 1;</code>
- */
- public Builder removePerson(int index) {
- if (personBuilder_ == null) {
- ensurePersonIsMutable();
- person_.remove(index);
- onChanged();
- } else {
- personBuilder_.remove(index);
- }
- return this;
- }
- /**
- * <code>repeated .tutorial.Person person = 1;</code>
- */
- public study.java.arithmetic.protobuf.AddressBookProtos.Person.Builder getPersonBuilder(
- int index) {
- return getPersonFieldBuilder().getBuilder(index);
- }
- /**
- * <code>repeated .tutorial.Person person = 1;</code>
- */
- public study.java.arithmetic.protobuf.AddressBookProtos.PersonOrBuilder getPersonOrBuilder(
- int index) {
- if (personBuilder_ == null) {
- return person_.get(index); } else {
- return personBuilder_.getMessageOrBuilder(index);
- }
- }
- /**
- * <code>repeated .tutorial.Person person = 1;</code>
- */
- public java.util.List<? extends study.java.arithmetic.protobuf.AddressBookProtos.PersonOrBuilder>
- getPersonOrBuilderList() {
- if (personBuilder_ != null) {
- return personBuilder_.getMessageOrBuilderList();
- } else {
- return java.util.Collections.unmodifiableList(person_);
- }
- }
- /**
- * <code>repeated .tutorial.Person person = 1;</code>
- */
- public study.java.arithmetic.protobuf.AddressBookProtos.Person.Builder addPersonBuilder() {
- return getPersonFieldBuilder().addBuilder(
- study.java.arithmetic.protobuf.AddressBookProtos.Person.getDefaultInstance());
- }
- /**
- * <code>repeated .tutorial.Person person = 1;</code>
- */
- public study.java.arithmetic.protobuf.AddressBookProtos.Person.Builder addPersonBuilder(
- int index) {
- return getPersonFieldBuilder().addBuilder(
- index, study.java.arithmetic.protobuf.AddressBookProtos.Person.getDefaultInstance());
- }
- /**
- * <code>repeated .tutorial.Person person = 1;</code>
- */
- public java.util.List<study.java.arithmetic.protobuf.AddressBookProtos.Person.Builder>
- getPersonBuilderList() {
- return getPersonFieldBuilder().getBuilderList();
- }
- private com.google.protobuf.RepeatedFieldBuilder<
- study.java.arithmetic.protobuf.AddressBookProtos.Person, study.java.arithmetic.protobuf.AddressBookProtos.Person.Builder, study.java.arithmetic.protobuf.AddressBookProtos.PersonOrBuilder>
- getPersonFieldBuilder() {
- if (personBuilder_ == null) {
- personBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
- study.java.arithmetic.protobuf.AddressBookProtos.Person, study.java.arithmetic.protobuf.AddressBookProtos.Person.Builder, study.java.arithmetic.protobuf.AddressBookProtos.PersonOrBuilder>(
- person_,
- ((bitField0_ & 0x00000001) == 0x00000001),
- getParentForChildren(),
- isClean());
- person_ = null;
- }
- return personBuilder_;
- }
- // @@protoc_insertion_point(builder_scope:tutorial.AddressBook)
- }
- static {
- defaultInstance = new AddressBook(true);
- defaultInstance.initFields();
- }
- // @@protoc_insertion_point(class_scope:tutorial.AddressBook)
- }
- private static com.google.protobuf.Descriptors.Descriptor
- internal_static_tutorial_Person_descriptor;
- private static
- com.google.protobuf.GeneratedMessage.FieldAccessorTable
- internal_static_tutorial_Person_fieldAccessorTable;
- private static com.google.protobuf.Descriptors.Descriptor
- internal_static_tutorial_Person_PhoneNumber_descriptor;
- private static
- com.google.protobuf.GeneratedMessage.FieldAccessorTable
- internal_static_tutorial_Person_PhoneNumber_fieldAccessorTable;
- private static com.google.protobuf.Descriptors.Descriptor
- internal_static_tutorial_AddressBook_descriptor;
- private static
- com.google.protobuf.GeneratedMessage.FieldAccessorTable
- internal_static_tutorial_AddressBook_fieldAccessorTable;
- public static com.google.protobuf.Descriptors.FileDescriptor
- getDescriptor() {
- return descriptor;
- }
- private static com.google.protobuf.Descriptors.FileDescriptor
- descriptor;
- static {
- java.lang.String[] descriptorData = {
- "\n\027proto/addressbook.proto\022\010tutorial\"\332\001\n\006" +
- "Person\022\014\n\004name\030\001 \002(\t\022\n\n\002id\030\002 \002(\005\022\r\n\005emai" +
- "l\030\003 \001(\t\022+\n\005phone\030\004 \003(\0132\034.tutorial.Person" +
- ".PhoneNumber\032M\n\013PhoneNumber\022\016\n\006number\030\001 " +
- "\002(\t\022.\n\004type\030\002 \001(\0162\032.tutorial.Person.Phon" +
- "eType:\004HOME\"+\n\tPhoneType\022\n\n\006MOBILE\020\000\022\010\n\004" +
- "HOME\020\001\022\010\n\004WORK\020\002\"/\n\013AddressBook\022 \n\006perso" +
- "n\030\001 \003(\0132\020.tutorial.PersonB3\n\036study.java." +
- "arithmetic.protobufB\021AddressBookProtos"
- };
- com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
- new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
- public com.google.protobuf.ExtensionRegistry assignDescriptors(
- com.google.protobuf.Descriptors.FileDescriptor root) {
- descriptor = root;
- internal_static_tutorial_Person_descriptor =
- getDescriptor().getMessageTypes().get(0);
- internal_static_tutorial_Person_fieldAccessorTable = new
- com.google.protobuf.GeneratedMessage.FieldAccessorTable(
- internal_static_tutorial_Person_descriptor,
- new java.lang.String[] { "Name", "Id", "Email", "Phone", });
- internal_static_tutorial_Person_PhoneNumber_descriptor =
- internal_static_tutorial_Person_descriptor.getNestedTypes().get(0);
- internal_static_tutorial_Person_PhoneNumber_fieldAccessorTable = new
- com.google.protobuf.GeneratedMessage.FieldAccessorTable(
- internal_static_tutorial_Person_PhoneNumber_descriptor,
- new java.lang.String[] { "Number", "Type", });
- internal_static_tutorial_AddressBook_descriptor =
- getDescriptor().getMessageTypes().get(1);
- internal_static_tutorial_AddressBook_fieldAccessorTable = new
- com.google.protobuf.GeneratedMessage.FieldAccessorTable(
- internal_static_tutorial_AddressBook_descriptor,
- new java.lang.String[] { "Person", });
- return null;
- }
- };
- com.google.protobuf.Descriptors.FileDescriptor
- .internalBuildGeneratedFileFrom(descriptorData,
- new com.google.protobuf.Descriptors.FileDescriptor[] {
- }, assigner);
- }
- // @@protoc_insertion_point(outer_class_scope)
- }