Index: third_party/protobuf/examples/ListPeople.java |
diff --git a/third_party/protobuf/examples/ListPeople.java b/third_party/protobuf/examples/ListPeople.java |
new file mode 100644 |
index 0000000000000000000000000000000000000000..789243050888e95b47a7011e7311cabeba03ce41 |
--- /dev/null |
+++ b/third_party/protobuf/examples/ListPeople.java |
@@ -0,0 +1,50 @@ |
+// See README.txt for information and build instructions. |
+ |
+import com.example.tutorial.AddressBookProtos.AddressBook; |
+import com.example.tutorial.AddressBookProtos.Person; |
+import java.io.FileInputStream; |
+import java.io.IOException; |
+import java.io.PrintStream; |
+ |
+class ListPeople { |
+ // Iterates though all people in the AddressBook and prints info about them. |
+ static void Print(AddressBook addressBook) { |
+ for (Person person: addressBook.getPeopleList()) { |
+ System.out.println("Person ID: " + person.getId()); |
+ System.out.println(" Name: " + person.getName()); |
+ if (!person.getEmail().isEmpty()) { |
+ System.out.println(" E-mail address: " + person.getEmail()); |
+ } |
+ |
+ for (Person.PhoneNumber phoneNumber : person.getPhonesList()) { |
+ 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. |
+ 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); |
+ } |
+} |