/home/oracle/labs/05LambdaBuiltins/examples/SalesTxn05/src/com/example/lambda/A05PrimFunction.java
 1 package com.example.lambda;
 2 
 3 import java.util.List;
 4 import java.util.function.Function;
 5 import java.util.function.ToDoubleFunction;
 6 
 7 /**
 8  *
 9  * @author MikeW
10  */
11 public class A05PrimFunction {
12   
13   public static void main(String[] args){ 
14 
15     List<SalesTxn> tList = SalesTxn.createTxnList();
16     SalesTxn first = tList.get(0);
17            
18     ToDoubleFunction<SalesTxn> discountFunction = 
19         t -> t.getTransactionTotal() 
20             * t.getDiscountRate();
21     
22     System.out.println("\n== Discount");
23     System.out.println(
24         discountFunction.applyAsDouble(first));
25 
26     // What's wrong here?
27     Function<SalesTxn, Double> taxFunction = 
28         t -> t.getTransactionTotal() * t.getTaxRate();
29     double tax = taxFunction.apply(first); // What happerns here?    
30   }
31 }
32