Home | History | Annotate | Download | only in examples
      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.
     11   static void Print(AddressBook addressBook) {
     12     for (Person person: addressBook.getPersonList()) {
     13       System.out.println("Person ID: " + person.getId());
     14       System.out.println("  Name: " + person.getName());
     15       if (person.hasEmail()) {
     16         System.out.println("  E-mail address: " + person.getEmail());
     17       }
     18 
     19       for (Person.PhoneNumber phoneNumber : person.getPhoneList()) {
     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 }
     51