• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // See README.txt for information and build instructions.
2 
3 import com.example.tutorial.AddressBookProtos.AddressBook;
4 import com.example.tutorial.AddressBookProtos.Person;
5 import java.io.FileInputStream;
6 import java.io.IOException;
7 import java.io.PrintStream;
8 
9 class ListPeople {
10   // Iterates though all people in the AddressBook and prints info about them.
Print(AddressBook addressBook)11   static void Print(AddressBook addressBook) {
12     for (Person person: addressBook.getPeopleList()) {
13       System.out.println("Person ID: " + person.getId());
14       System.out.println("  Name: " + person.getName());
15       if (!person.getEmail().isEmpty()) {
16         System.out.println("  E-mail address: " + person.getEmail());
17       }
18 
19       for (Person.PhoneNumber phoneNumber : person.getPhonesList()) {
20         switch (phoneNumber.getType()) {
21           case MOBILE:
22             System.out.print("  Mobile phone #: ");
23             break;
24           case HOME:
25             System.out.print("  Home phone #: ");
26             break;
27           case WORK:
28             System.out.print("  Work phone #: ");
29             break;
30         }
31         System.out.println(phoneNumber.getNumber());
32       }
33     }
34   }
35 
36   // Main function:  Reads the entire address book from a file and prints all
37   //   the information inside.
main(String[] args)38   public static void main(String[] args) throws Exception {
39     if (args.length != 1) {
40       System.err.println("Usage:  ListPeople ADDRESS_BOOK_FILE");
41       System.exit(-1);
42     }
43 
44     // Read the existing address book.
45     AddressBook addressBook =
46       AddressBook.parseFrom(new FileInputStream(args[0]));
47 
48     Print(addressBook);
49   }
50 }
51