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