blob: 580f7ac2af4af56b41cab1f20cdd2c348b3e44d9 [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;
Austin Schuh40c16522018-10-28 20:27:54 -070030 default:
31 System.out.println(" Unknown phone #: ");
32 break;
Brian Silverman9c614bc2016-02-15 20:20:02 -050033 }
34 System.out.println(phoneNumber.getNumber());
35 }
36 }
37 }
38
39 // Main function: Reads the entire address book from a file and prints all
40 // the information inside.
41 public static void main(String[] args) throws Exception {
42 if (args.length != 1) {
43 System.err.println("Usage: ListPeople ADDRESS_BOOK_FILE");
44 System.exit(-1);
45 }
46
47 // Read the existing address book.
48 AddressBook addressBook =
49 AddressBook.parseFrom(new FileInputStream(args[0]));
50
51 Print(addressBook);
52 }
53}