blob: 789243050888e95b47a7011e7311cabeba03ce41 [file] [log] [blame]
Brian Silverman9c614bc2016-02-15 20:20:02 -05001// See README.txt for information and build instructions.
2
3import com.example.tutorial.AddressBookProtos.AddressBook;
4import com.example.tutorial.AddressBookProtos.Person;
5import java.io.FileInputStream;
6import java.io.IOException;
7import java.io.PrintStream;
8
9class ListPeople {
10 // Iterates though all people in the AddressBook and prints info about them.
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.
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}