/home/oracle/labs/06CollectionOperations/examples/EmployeeSearch06/src/com/example/lambda/A02MapPeekTest.java
 1 package com.example.lambda;
 2 
 3 import java.util.List;
 4 
 5 /**
 6  *
 7  * @author oracle
 8  */
 9 public class A02MapPeekTest {
10     
11     public static void main(String[] args) {
12 
13         List<Employee> eList = Employee.createShortList();
14                 
15         System.out.println("\n== CO Bonuses ==");
16         eList.stream()
17             .filter(e -> e.getRole().equals(Role.EXECUTIVE))
18             .filter(e -> e.getState().equals("CO"))
19             .peek(e -> System.out.print("Name: " 
20               + e.getGivenName() + " " + e.getSurName()))
21             .map(e -> e.getSalary() * Bonus.byRole(e.getRole()))
22             .forEach( s -> 
23               System.out.printf(
24                 "  Bonus paid: $%,6.2f %n", s));
25         
26       
27         System.out.println("\n== Manager Bonus Report ==");
28         eList.stream()
29             .filter(e -> e.getRole().equals(Role.MANAGER))
30             .filter(e -> e.getDept().equals("Eng"))
31             .peek(e -> System.out.print("Name: " 
32               + e.getGivenName() + " " + e.getSurName()))
33             .map(e -> e.getSalary() * Bonus.byRole(e.getRole()))
34             .forEach( 
35                 s -> System.out.printf(
36                   "  Bonus paid: $%,6.2f %n", s));
37     }  
38 }