pl = Person.createShortList();
+
+ SearchCriteria search = SearchCriteria.getInstance();
+
+ // Calc average age of pilots old style
+ System.out.println("== Calc Old Style ==");
+ int sum = 0;
+ int count = 0;
+
+ for (Person p:pl){
+ if (p.getAge() >= 23 && p.getAge() <= 65 ){
+ sum = sum + p.getAge();
+ count++;
+ }
+ }
+
+ long average = sum / count;
+ System.out.println("Total Ages: " + sum);
+ System.out.println("Average Age: " + average);
+
+
+ // Get sum of ages
+ System.out.println("\n== Calc New Style ==");
+ long totalAge = pl
+ .stream()
+ .filter(search.getCriteria("allPilots"))
+ .mapToInt(p -> p.getAge())
+ .sum();
+
+ // Get average of ages
+ OptionalDouble averageAge = pl
+ .parallelStream()
+ .filter(search.getCriteria("allPilots"))
+ .mapToDouble(p -> p.getAge())
+ .average();
+
+ System.out.println("Total Ages: " + totalAge);
+ System.out.println("Average Age: " + averageAge.getAsDouble());
+
+ }
+
+}
diff --git a/src/main/java/org/java8/lambda1/#Untitled-1# b/src/main/java/org/java8/lambda1/#Untitled-1#
new file mode 100644
index 00000000..d6fb61b2
--- /dev/null
+++ b/src/main/java/org/java8/lambda1/#Untitled-1#
@@ -0,0 +1,110 @@
+
+
+ListenerTest.java
+
+
+
+13 public class ListenerTest {
+14 public static void main(String[] args) {
+15
+16 JButton testButton = new JButton("Test Button");
+17 testButton.addActionListener(new ActionListener(){
+18 @Override public void actionPerformed(ActionEvent ae){
+19 System.out.println("Click Detected by Anon Class");
+20 }
+21 });
+22
+23 testButton.addActionListener(e -> System.out.println("Click Detected by Lambda Listner"));
+24
+25
+26 JFrame frame = new JFrame("Listener Test");
+27 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+28 frame.add(testButton, BorderLayout.CENTER);
+29 frame.pack();
+30 frame.setVisible(true);
+31
+32 }
+33 }
+
+
+
+
diff --git a/src/main/java/org/java8/lambda1/ComparatorTest.java b/src/main/java/org/java8/lambda1/ComparatorTest.java
new file mode 100644
index 00000000..6ffcfa10
--- /dev/null
+++ b/src/main/java/org/java8/lambda1/ComparatorTest.java
@@ -0,0 +1,47 @@
+package org.java8.lambda1;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Comparator;
+
+/**
+ * @author MikeW
+ */
+public class ComparatorTest {
+
+ public static void main(String[] args) {
+
+ List personList = Person.createShortList();
+
+ // Sort with Inner Class
+ Collections.sort(personList, new Comparator(){
+ public int compare(Person p1, Person p2){
+ return p1.getSurName().compareTo(p2.getSurName());
+ }
+ });
+
+ System.out.println("=== Sorted Asc SurName ===");
+ for(Person p:personList){
+ p.printName();
+ }
+
+ // Use Lambda instead
+
+ // Print Asc
+ System.out.println("=== Sorted Asc SurName ===");
+ Collections.sort(personList, (Person p1, Person p2) -> p1.getSurName().compareTo(p2.getSurName()));
+
+ for(Person p:personList){
+ p.printName();
+ }
+
+ // Print Desc
+ System.out.println("=== Sorted Desc SurName ===");
+ Collections.sort(personList, (p1, p2) -> p2.getSurName().compareTo(p1.getSurName()));
+
+ for(Person p:personList){
+ p.printName();
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/org/java8/lambda1/Gender.java b/src/main/java/org/java8/lambda1/Gender.java
new file mode 100644
index 00000000..dbfe50c3
--- /dev/null
+++ b/src/main/java/org/java8/lambda1/Gender.java
@@ -0,0 +1,6 @@
+package org.java8.lambda1;
+
+/**
+ * @author MikeW
+ */
+public enum Gender { MALE, FEMALE }
diff --git a/src/main/java/org/java8/lambda1/ListenerTest.java b/src/main/java/org/java8/lambda1/ListenerTest.java
new file mode 100644
index 00000000..e80790b8
--- /dev/null
+++ b/src/main/java/org/java8/lambda1/ListenerTest.java
@@ -0,0 +1,33 @@
+package org.java8.lambda1;
+
+import java.awt.BorderLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import javax.swing.JButton;
+import javax.swing.JFrame;
+
+/**
+ *
+ * @author MikeW
+ */
+public class ListenerTest {
+ public static void main(String[] args) {
+
+ JButton testButton = new JButton("Test Button");
+ testButton.addActionListener(new ActionListener(){
+ @Override public void actionPerformed(ActionEvent ae){
+ System.out.println("Click Detected by Anon Class");
+ }
+ });
+
+ testButton.addActionListener(e -> System.out.println("Click Detected by Lambda Listner"));
+
+ // Swing stuff
+ JFrame frame = new JFrame("Listener Test");
+ frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ frame.add(testButton, BorderLayout.CENTER);
+ frame.pack();
+ frame.setVisible(true);
+
+ }
+}
diff --git a/src/main/java/org/java8/lambda1/Main.java b/src/main/java/org/java8/lambda1/Main.java
new file mode 100644
index 00000000..a4011846
--- /dev/null
+++ b/src/main/java/org/java8/lambda1/Main.java
@@ -0,0 +1,14 @@
+package org.java8.lambda1;
+
+/**
+ * @author mikew
+ */
+public class Main {
+
+ public static void main(String[] args) {
+
+ RunnableTest.main(args);
+ ComparatorTest.main(args);
+ ListenerTest.main(args);
+ }
+}
diff --git a/src/main/java/org/java8/lambda1/Person.java b/src/main/java/org/java8/lambda1/Person.java
new file mode 100644
index 00000000..bd659903
--- /dev/null
+++ b/src/main/java/org/java8/lambda1/Person.java
@@ -0,0 +1,224 @@
+package org.java8.lambda1;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author MikeW
+ */
+public class Person {
+ private String givenName;
+ private String surName;
+ private int age;
+ private Gender gender;
+ private String eMail;
+ private String phone;
+ private String address;
+
+ public static class Builder{
+
+ private String givenName="";
+ private String surName="";
+ private int age = 0;
+ private Gender gender = Gender.FEMALE;
+ private String eMail = "";
+ private String phone = "";
+ private String address = "";
+
+ public Person.Builder givenName(String givenName){
+ this.givenName = givenName;
+ return this;
+ }
+
+ public Person.Builder surName(String surName){
+ this.surName = surName;
+ return this;
+ }
+
+ public Person.Builder age (int val){
+ age = val;
+ return this;
+ }
+
+ public Person.Builder gender(Gender val){
+ gender = val;
+ return this;
+ }
+
+ public Person.Builder email(String val){
+ eMail = val;
+ return this;
+ }
+
+ public Person.Builder phoneNumber(String val){
+ phone = val;
+ return this;
+ }
+
+ public Person.Builder address(String val){
+ address = val;
+ return this;
+ }
+
+ public Person build(){
+ return new Person(this);
+ }
+ }
+
+ private Person(){
+ super();
+ }
+
+ private Person(Person.Builder builder){
+ givenName = builder.givenName;
+ surName = builder.surName;
+ age = builder.age;
+ gender = builder.gender;
+ eMail = builder.eMail;
+ phone = builder.phone;
+ address = builder.address;
+
+ }
+
+ public String getGivenName(){
+ return givenName;
+ }
+
+ public String getSurName(){
+ return surName;
+ }
+
+ public int getAge(){
+ return age;
+ }
+
+ public Gender getGender() {
+ return gender;
+ }
+
+ public String getEmail() {
+ return eMail;
+ }
+
+ public String getPhone() {
+ return phone;
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
+public void print(){
+ System.out.println(
+ "\nName: " + givenName + " " + surName + "\n" +
+ "Age: " + age + "\n" +
+ "Gender: " + getGender() + "\n" +
+ "eMail: " + eMail + "\n" +
+ "Phone: " + phone + "\n" +
+ "Address: " + address + "\n"
+ );
+ }
+
+ public void printName(){
+ System.out.println(
+ "Name: " + givenName + " " + surName);
+ }
+
+ @Override
+ public String toString(){
+ return "Name: " + givenName + " " + surName + "\n" + "Age: " + age + " Gender: " + getGender() + "\n" + "eMail: " + eMail + "\n" + "Address: " + address + "\n";
+ }
+
+
+ public static List createShortList(){
+ List people = new ArrayList<>();
+
+ people.add(
+ new Person.Builder()
+ .givenName("Bob")
+ .surName("Baker")
+ .age(21)
+ .gender(Gender.MALE)
+ .email("bob.baker@example.com")
+ .phoneNumber("201-121-4678")
+ .address("44 4th St, Smallville, KS 12333")
+ .build()
+ );
+
+ people.add(
+ new Person.Builder()
+ .givenName("Jane")
+ .surName("Doe")
+ .age(25)
+ .gender(Gender.FEMALE)
+ .email("jane.doe@example.com")
+ .phoneNumber("202-123-4678")
+ .address("33 3rd St, Smallville, KS 12333")
+ .build()
+ );
+
+ people.add(
+ new Person.Builder()
+ .givenName("John")
+ .surName("Doe")
+ .age(25)
+ .gender(Gender.MALE)
+ .email("john.doe@example.com")
+ .phoneNumber("202-123-4678")
+ .address("33 3rd St, Smallville, KS 12333")
+ .build()
+ );
+
+ people.add(
+ new Person.Builder()
+ .givenName("James")
+ .surName("Johnson")
+ .age(45)
+ .gender(Gender.MALE)
+ .email("james.johnson@example.com")
+ .phoneNumber("333-456-1233")
+ .address("201 2nd St, New York, NY 12111")
+ .build()
+ );
+
+ people.add(
+ new Person.Builder()
+ .givenName("Joe")
+ .surName("Bailey")
+ .age(67)
+ .gender(Gender.MALE)
+ .email("joebob.bailey@example.com")
+ .phoneNumber("112-111-1111")
+ .address("111 1st St, Town, CA 11111")
+ .build()
+ );
+
+ people.add(
+ new Person.Builder()
+ .givenName("Phil")
+ .surName("Smith")
+ .age(55)
+ .gender(Gender.MALE)
+ .email("phil.smith@examp;e.com")
+ .phoneNumber("222-33-1234")
+ .address("22 2nd St, New Park, CO 222333")
+ .build()
+ );
+
+ people.add(
+ new Person.Builder()
+ .givenName("Betty")
+ .surName("Jones")
+ .age(85)
+ .gender(Gender.FEMALE)
+ .email("betty.jones@example.com")
+ .phoneNumber("211-33-1234")
+ .address("22 4th St, New Park, CO 222333")
+ .build()
+ );
+
+
+ return people;
+ }
+
+}
diff --git a/src/main/java/org/java8/lambda1/RunnableTest.java b/src/main/java/org/java8/lambda1/RunnableTest.java
new file mode 100644
index 00000000..8c838d23
--- /dev/null
+++ b/src/main/java/org/java8/lambda1/RunnableTest.java
@@ -0,0 +1,28 @@
+package org.java8.lambda1;
+
+/**
+ * @author MikeW
+ */
+public class RunnableTest {
+ public static void main(String[] args) {
+
+ System.out.println("=== RunnableTest ===");
+
+ // Anonymous Runnable
+ Runnable r1 = new Runnable(){
+
+ @Override
+ public void run(){
+ System.out.println("Hello world one!");
+ }
+ };
+
+ // Lambda Runnable
+ Runnable r2 = () -> System.out.println("Hello world two!");
+
+ // Run em!
+ r1.run();
+ r2.run();
+
+ }
+}
diff --git a/src/main/java/org/java8/lambda2/Gender.java b/src/main/java/org/java8/lambda2/Gender.java
new file mode 100644
index 00000000..67544da0
--- /dev/null
+++ b/src/main/java/org/java8/lambda2/Gender.java
@@ -0,0 +1,6 @@
+package org.java8.lambda2;
+
+/**
+ * @author MikeW
+ */
+public enum Gender { MALE, FEMALE }
diff --git a/src/main/java/org/java8/lambda2/Main.java b/src/main/java/org/java8/lambda2/Main.java
new file mode 100644
index 00000000..b44dbca4
--- /dev/null
+++ b/src/main/java/org/java8/lambda2/Main.java
@@ -0,0 +1,17 @@
+package org.java8.lambda2;
+
+/**
+ *
+ * @author MikeW
+ */
+public class Main {
+
+ public static void main(String[] args) {
+
+ RoboCallTest01.main(args);
+ RoboCallTest02.main(args);
+ RoboCallTest03.main(args);
+ RoboCallTest04.main(args);
+
+ }
+}
diff --git a/src/main/java/org/java8/lambda2/MyTest.java b/src/main/java/org/java8/lambda2/MyTest.java
new file mode 100644
index 00000000..d24be62c
--- /dev/null
+++ b/src/main/java/org/java8/lambda2/MyTest.java
@@ -0,0 +1,8 @@
+package org.java8.lambda2;
+
+/**
+ * @author MikeW
+ */
+public interface MyTest {
+ public boolean test(T t);
+}
diff --git a/src/main/java/org/java8/lambda2/Person.java b/src/main/java/org/java8/lambda2/Person.java
new file mode 100644
index 00000000..bfc369a1
--- /dev/null
+++ b/src/main/java/org/java8/lambda2/Person.java
@@ -0,0 +1,219 @@
+package org.java8.lambda2;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.function.Function;
+
+/**
+ * @author MikeW
+ */
+public class Person {
+ private String givenName;
+ private String surName;
+ private int age;
+ private Gender gender;
+ private String eMail;
+ private String phone;
+ private String address;
+
+ public static class Builder{
+
+ private String givenName="";
+ private String surName="";
+ private int age = 0;
+ private Gender gender = Gender.FEMALE;
+ private String eMail = "";
+ private String phone = "";
+ private String address = "";
+
+ public Person.Builder givenName(String givenName){
+ this.givenName = givenName;
+ return this;
+ }
+
+ public Person.Builder surName(String surName){
+ this.surName = surName;
+ return this;
+ }
+
+ public Person.Builder age (int val){
+ age = val;
+ return this;
+ }
+
+ public Person.Builder gender(Gender val){
+ gender = val;
+ return this;
+ }
+
+ public Person.Builder email(String val){
+ eMail = val;
+ return this;
+ }
+
+ public Person.Builder phoneNumber(String val){
+ phone = val;
+ return this;
+ }
+
+ public Person.Builder address(String val){
+ address = val;
+ return this;
+ }
+
+ public Person build(){
+ return new Person(this);
+ }
+ }
+
+ private Person(){
+ super();
+ }
+
+ private Person(Person.Builder builder){
+ givenName = builder.givenName;
+ surName = builder.surName;
+ age = builder.age;
+ gender = builder.gender;
+ eMail = builder.eMail;
+ phone = builder.phone;
+ address = builder.address;
+
+ }
+
+ public String getGivenName(){
+ return givenName;
+ }
+
+ public String getSurName(){
+ return surName;
+ }
+
+ public int getAge(){
+ return age;
+ }
+
+ public Gender getGender(){
+ return gender;
+ }
+
+ public String getEmail(){
+ return eMail;
+ }
+
+ public String getPhone(){
+ return phone;
+ }
+
+ public String getAddress(){
+ return address;
+ }
+
+ public void print(){
+ System.out.println(
+ "\nName: " + givenName + " " + surName + "\n" +
+ "Age: " + age + "\n" +
+ "Gender: " + gender + "\n" +
+ "eMail: " + eMail + "\n" +
+ "Phone: " + phone + "\n" +
+ "Address: " + address + "\n"
+ );
+ }
+
+ @Override
+ public String toString(){
+ return "Name: " + givenName + " " + surName + "\n" + "Age: " + age + " Gender: " + gender + "\n" + "eMail: " + eMail + "\n";
+ }
+
+ public static List createShortList(){
+ List people = new ArrayList<>();
+
+ people.add(
+ new Person.Builder()
+ .givenName("Bob")
+ .surName("Baker")
+ .age(21)
+ .gender(Gender.MALE)
+ .email("bob.baker@example.com")
+ .phoneNumber("201-121-4678")
+ .address("44 4th St, Smallville, KS 12333")
+ .build()
+ );
+
+ people.add(
+ new Person.Builder()
+ .givenName("Jane")
+ .surName("Doe")
+ .age(25)
+ .gender(Gender.FEMALE)
+ .email("jane.doe@example.com")
+ .phoneNumber("202-123-4678")
+ .address("33 3rd St, Smallville, KS 12333")
+ .build()
+ );
+
+ people.add(
+ new Person.Builder()
+ .givenName("John")
+ .surName("Doe")
+ .age(25)
+ .gender(Gender.MALE)
+ .email("john.doe@example.com")
+ .phoneNumber("202-123-4678")
+ .address("33 3rd St, Smallville, KS 12333")
+ .build()
+ );
+
+ people.add(
+ new Person.Builder()
+ .givenName("James")
+ .surName("Johnson")
+ .age(45)
+ .gender(Gender.MALE)
+ .email("james.johnson@example.com")
+ .phoneNumber("333-456-1233")
+ .address("201 2nd St, New York, NY 12111")
+ .build()
+ );
+
+ people.add(
+ new Person.Builder()
+ .givenName("Joe")
+ .surName("Bailey")
+ .age(67)
+ .gender(Gender.MALE)
+ .email("joebob.bailey@example.com")
+ .phoneNumber("112-111-1111")
+ .address("111 1st St, Town, CA 11111")
+ .build()
+ );
+
+ people.add(
+ new Person.Builder()
+ .givenName("Phil")
+ .surName("Smith")
+ .age(55)
+ .gender(Gender.MALE)
+ .email("phil.smith@examp;e.com")
+ .phoneNumber("222-33-1234")
+ .address("22 2nd St, New Park, CO 222333")
+ .build()
+ );
+
+ people.add(
+ new Person.Builder()
+ .givenName("Betty")
+ .surName("Jones")
+ .age(85)
+ .gender(Gender.FEMALE)
+ .email("betty.jones@example.com")
+ .phoneNumber("211-33-1234")
+ .address("22 4th St, New Park, CO 222333")
+ .build()
+ );
+
+
+ return people;
+ }
+
+}
diff --git a/src/main/java/org/java8/lambda2/Predicate.java b/src/main/java/org/java8/lambda2/Predicate.java
new file mode 100644
index 00000000..a7f53c17
--- /dev/null
+++ b/src/main/java/org/java8/lambda2/Predicate.java
@@ -0,0 +1,5 @@
+package org.java8.lambda2;
+
+public interface Predicate {
+ public boolean test(T t);
+}
diff --git a/src/main/java/org/java8/lambda2/RoboCallTest01.java b/src/main/java/org/java8/lambda2/RoboCallTest01.java
new file mode 100644
index 00000000..599c7804
--- /dev/null
+++ b/src/main/java/org/java8/lambda2/RoboCallTest01.java
@@ -0,0 +1,28 @@
+package org.java8.lambda2;
+
+import java.util.List;
+
+/**
+ *
+ * @author MikeW
+ */
+public class RoboCallTest01 {
+
+ public static void main(String[] args) {
+
+ List pl = Person.createShortList();
+ RoboContactMethods robo = new RoboContactMethods();
+
+ System.out.println("\n==== Test 01 ====");
+ System.out.println("\n=== Calling all Drivers ===");
+ robo.callDrivers(pl);
+
+ System.out.println("\n=== Emailing all Draftees ===");
+ robo.emailDraftees(pl);
+
+ System.out.println("\n=== Mail all Pilots ===");
+ robo.mailPilots(pl);
+
+ }
+
+}
diff --git a/src/main/java/org/java8/lambda2/RoboCallTest02.java b/src/main/java/org/java8/lambda2/RoboCallTest02.java
new file mode 100644
index 00000000..d288f104
--- /dev/null
+++ b/src/main/java/org/java8/lambda2/RoboCallTest02.java
@@ -0,0 +1,28 @@
+package org.java8.lambda2;
+
+import java.util.List;
+
+/**
+ *
+ * @author MikeW
+ */
+public class RoboCallTest02 {
+
+ public static void main(String[] args) {
+
+ List pl = Person.createShortList();
+ RoboContactMethods2 robo = new RoboContactMethods2();
+
+ System.out.println("\n==== Test 02 ====");
+ System.out.println("\n=== Calling all Drivers ===");
+ robo.callDrivers(pl);
+
+ System.out.println("\n=== Emailing all Draftees ===");
+ robo.emailDraftees(pl);
+
+ System.out.println("\n=== Mail all Pilots ===");
+ robo.mailPilots(pl);
+
+ }
+
+}
diff --git a/src/main/java/org/java8/lambda2/RoboCallTest03.java b/src/main/java/org/java8/lambda2/RoboCallTest03.java
new file mode 100644
index 00000000..9df93834
--- /dev/null
+++ b/src/main/java/org/java8/lambda2/RoboCallTest03.java
@@ -0,0 +1,49 @@
+package org.java8.lambda2;
+
+import java.util.List;
+
+/**
+ * @author MikeW
+ */
+public class RoboCallTest03 {
+
+ public static void main(String[] args) {
+
+ List pl = Person.createShortList();
+ RoboContactAnon robo = new RoboContactAnon();
+
+ System.out.println("\n==== Test 03 ====");
+ System.out.println("\n=== Calling all Drivers ===");
+ robo.phoneContacts(pl,
+ new MyTest(){
+ @Override
+ public boolean test(Person p){
+ return p.getAge() >=16;
+ }
+ }
+ );
+
+ System.out.println("\n=== Emailing all Draftees ===");
+ robo.emailContacts(pl,
+ new MyTest(){
+ @Override
+ public boolean test(Person p){
+ return p.getAge() >= 18 && p.getAge() <= 25 && p.getGender() == Gender.MALE;
+ }
+ }
+ );
+
+
+ System.out.println("\n=== Mail all Pilots ===");
+ robo.mailContacts(pl,
+ new MyTest(){
+ @Override
+ public boolean test(Person p){
+ return p.getAge() >= 23 && p.getAge() <= 65;
+ }
+ }
+ );
+
+
+ }
+}
diff --git a/src/main/java/org/java8/lambda2/RoboCallTest04.java b/src/main/java/org/java8/lambda2/RoboCallTest04.java
new file mode 100644
index 00000000..e8d09d66
--- /dev/null
+++ b/src/main/java/org/java8/lambda2/RoboCallTest04.java
@@ -0,0 +1,40 @@
+package org.java8.lambda2;
+
+import java.util.List;
+import java.util.function.Predicate;
+
+/**
+ *
+ * @author MikeW
+ */
+public class RoboCallTest04 {
+
+ public static void main(String[] args){
+
+ List pl = Person.createShortList();
+ RoboContactLambda robo = new RoboContactLambda();
+
+ // Predicates
+ Predicate allDrivers = p -> p.getAge() >= 16;
+ Predicate allDraftees = p -> p.getAge() >= 18 && p.getAge() <= 25 && p.getGender() == Gender.MALE;
+ Predicate allPilots = p -> p.getAge() >= 23 && p.getAge() <= 65;
+
+ System.out.println("\n==== Test 04 ====");
+ System.out.println("\n=== Calling all Drivers ===");
+ robo.phoneContacts(pl, allDrivers);
+
+ System.out.println("\n=== Emailing all Draftees ===");
+ robo.emailContacts(pl, allDraftees);
+
+ System.out.println("\n=== Mail all Pilots ===");
+ robo.mailContacts(pl, allPilots);
+
+ // Mix and match becomes easy
+ System.out.println("\n=== Mail all Draftees ===");
+ robo.mailContacts(pl, allDraftees);
+
+ System.out.println("\n=== Call all Pilots ===");
+ robo.phoneContacts(pl, allPilots);
+
+ }
+}
diff --git a/src/main/java/org/java8/lambda2/RoboContactAnon.java b/src/main/java/org/java8/lambda2/RoboContactAnon.java
new file mode 100644
index 00000000..d4303090
--- /dev/null
+++ b/src/main/java/org/java8/lambda2/RoboContactAnon.java
@@ -0,0 +1,47 @@
+package org.java8.lambda2;
+
+import java.util.List;
+
+/**
+ *
+ * @author MikeW
+ */
+public class RoboContactAnon {
+
+ public void phoneContacts(List pl, MyTest aTest){
+ for(Person p:pl){
+ if (aTest.test(p)){
+ roboCall(p);
+ }
+ }
+ }
+
+ public void emailContacts(List pl, MyTest aTest){
+ for(Person p:pl){
+ if (aTest.test(p)){
+ roboEmail(p);
+ }
+ }
+ }
+
+ public void mailContacts(List pl, MyTest aTest){
+ for(Person p:pl){
+ if (aTest.test(p)){
+ roboMail(p);
+ }
+ }
+ }
+
+ public void roboCall(Person p){
+ System.out.println("Calling " + p.getGivenName() + " " + p.getSurName() + " age " + p.getAge() + " at " + p.getPhone());
+ }
+
+ public void roboEmail(Person p){
+ System.out.println("EMailing " + p.getGivenName() + " " + p.getSurName() + " age " + p.getAge() + " at " + p.getEmail());
+ }
+
+ public void roboMail(Person p){
+ System.out.println("Mailing " + p.getGivenName() + " " + p.getSurName() + " age " + p.getAge() + " at " + p.getAddress());
+ }
+
+}
diff --git a/src/main/java/org/java8/lambda2/RoboContactLambda.java b/src/main/java/org/java8/lambda2/RoboContactLambda.java
new file mode 100644
index 00000000..846b156b
--- /dev/null
+++ b/src/main/java/org/java8/lambda2/RoboContactLambda.java
@@ -0,0 +1,47 @@
+package org.java8.lambda2;
+
+import java.util.List;
+import java.util.function.Predicate;
+
+/**
+ *
+ * @author MikeW
+ */
+public class RoboContactLambda {
+ public void phoneContacts(List pl, Predicate pred){
+ for(Person p:pl){
+ if (pred.test(p)){
+ roboCall(p);
+ }
+ }
+ }
+
+ public void emailContacts(List pl, Predicate pred){
+ for(Person p:pl){
+ if (pred.test(p)){
+ roboEmail(p);
+ }
+ }
+ }
+
+ public void mailContacts(List pl, Predicate pred){
+ for(Person p:pl){
+ if (pred.test(p)){
+ roboMail(p);
+ }
+ }
+ }
+
+ public void roboCall(Person p){
+ System.out.println("Calling " + p.getGivenName() + " " + p.getSurName() + " age " + p.getAge() + " at " + p.getPhone());
+ }
+
+ public void roboEmail(Person p){
+ System.out.println("EMailing " + p.getGivenName() + " " + p.getSurName() + " age " + p.getAge() + " at " + p.getEmail());
+ }
+
+ public void roboMail(Person p){
+ System.out.println("Mailing " + p.getGivenName() + " " + p.getSurName() + " age " + p.getAge() + " at " + p.getAddress());
+ }
+
+}
diff --git a/src/main/java/org/java8/lambda2/RoboContactMethods.java b/src/main/java/org/java8/lambda2/RoboContactMethods.java
new file mode 100644
index 00000000..880c925f
--- /dev/null
+++ b/src/main/java/org/java8/lambda2/RoboContactMethods.java
@@ -0,0 +1,53 @@
+package org.java8.lambda2;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ *
+ * @author MikeW
+ */
+public class RoboContactMethods {
+
+ public void callDrivers(List pl){
+ for(Person p:pl){
+ if (p.getAge() >= 16){
+ roboCall(p);
+ }
+ }
+
+ //exemplo com lambda
+ List persons = pl.stream().filter(p -> p.getAge() >= 16).collect(Collectors.toList());
+ persons.forEach(p -> roboCall(p));
+ }
+
+ public void emailDraftees(List pl){
+ for(Person p:pl){
+ if (p.getAge() >= 18 && p.getAge() <= 25 && p.getGender() == Gender.MALE){
+ roboEmail(p);
+ }
+ }
+ }
+
+ public void mailPilots(List pl){
+ for(Person p:pl){
+ if (p.getAge() >= 23 && p.getAge() <= 65){
+ roboMail(p);
+ }
+ }
+ }
+
+
+ public void roboCall(Person p){
+ System.out.println("Calling " + p.getGivenName() + " " + p.getSurName() + " age " + p.getAge() + " at " + p.getPhone());
+ }
+
+ public void roboEmail(Person p){
+ System.out.println("EMailing " + p.getGivenName() + " " + p.getSurName() + " age " + p.getAge() + " at " + p.getEmail());
+ }
+
+ public void roboMail(Person p){
+ System.out.println("Mailing " + p.getGivenName() + " " + p.getSurName() + " age " + p.getAge() + " at " + p.getAddress());
+ }
+
+}
diff --git a/src/main/java/org/java8/lambda2/RoboContactMethods2.java b/src/main/java/org/java8/lambda2/RoboContactMethods2.java
new file mode 100644
index 00000000..832b5ba2
--- /dev/null
+++ b/src/main/java/org/java8/lambda2/RoboContactMethods2.java
@@ -0,0 +1,59 @@
+package org.java8.lambda2;
+
+import java.util.List;
+
+/**
+ *
+ * @author MikeW
+ */
+public class RoboContactMethods2 {
+
+ public void callDrivers(List pl){
+ for(Person p:pl){
+ if (isDriver(p)){
+ roboCall(p);
+ }
+ }
+ }
+
+ public void emailDraftees(List pl){
+ for(Person p:pl){
+ if (isDraftee(p)){
+ roboEmail(p);
+ }
+ }
+ }
+
+ public void mailPilots(List pl){
+ for(Person p:pl){
+ if (isPilot(p)){
+ roboMail(p);
+ }
+ }
+ }
+
+ public boolean isDriver(Person p){
+ return p.getAge() >= 16;
+ }
+
+ public boolean isDraftee(Person p){
+ return p.getAge() >= 18 && p.getAge() <= 25 && p.getGender() == Gender.MALE;
+ }
+
+ public boolean isPilot(Person p){
+ return p.getAge() >= 23 && p.getAge() <= 65;
+ }
+
+ public void roboCall(Person p){
+ System.out.println("Calling " + p.getGivenName() + " " + p.getSurName() + " age " + p.getAge() + " at " + p.getPhone());
+ }
+
+ public void roboEmail(Person p){
+ System.out.println("EMailing " + p.getGivenName() + " " + p.getSurName() + " age " + p.getAge() + " at " + p.getEmail());
+ }
+
+ public void roboMail(Person p){
+ System.out.println("Mailing " + p.getGivenName() + " " + p.getSurName() + " age " + p.getAge() + " at " + p.getAddress());
+ }
+
+}
diff --git a/src/main/java/org/java8/lambda3/Gender.java b/src/main/java/org/java8/lambda3/Gender.java
new file mode 100644
index 00000000..4ce6a667
--- /dev/null
+++ b/src/main/java/org/java8/lambda3/Gender.java
@@ -0,0 +1,6 @@
+package org.java8.lambda3;
+
+/**
+ * @author MikeW
+ */
+public enum Gender { MALE, FEMALE }
diff --git a/src/main/java/org/java8/lambda3/Main.java b/src/main/java/org/java8/lambda3/Main.java
new file mode 100644
index 00000000..7e84668c
--- /dev/null
+++ b/src/main/java/org/java8/lambda3/Main.java
@@ -0,0 +1,14 @@
+package org.java8.lambda3;
+
+/**
+ * @author MikeW
+ */
+public class Main {
+
+ public static void main(String[] args) {
+
+ NameTestOld.main(args);
+ NameTestNew.main(args);
+
+ }
+}
diff --git a/src/main/java/org/java8/lambda3/NameTestNew.java b/src/main/java/org/java8/lambda3/NameTestNew.java
new file mode 100644
index 00000000..50f8f816
--- /dev/null
+++ b/src/main/java/org/java8/lambda3/NameTestNew.java
@@ -0,0 +1,61 @@
+package org.java8.lambda3;
+
+import java.util.List;
+import java.util.function.Function;
+
+/**
+ * @author MikeW
+ */
+public class NameTestNew {
+
+ public static void main(String[] args) {
+
+ System.out.println("\n==== NameTestNew ===");
+
+ List list1 = Person.createShortList();
+
+ // Print Custom First Name and e-mail
+ System.out.println("===Custom List===");
+ for (Person person:list1){
+ System.out.println(
+ person.printCustom(p -> "Name: " + p.getGivenName() + " EMail: " + p.getEmail())
+ );
+ }
+
+
+ // Define Western and Eastern Lambdas
+
+ Function westernStyle = p -> {
+ return "\nName: " + p.getGivenName() + " " + p.getSurName() + "\n" +
+ "Age: " + p.getAge() + " " + "Gender: " + p.getGender() + "\n" +
+ "EMail: " + p.getEmail() + "\n" +
+ "Phone: " + p.getPhone() + "\n" +
+ "Address: " + p.getAddress();
+ };
+
+ Function easternStyle = p -> "\nName: " + p.getSurName() + " "
+ + p.getGivenName() + "\n" + "Age: " + p.getAge() + " " +
+ "Gender: " + p.getGender() + "\n" +
+ "EMail: " + p.getEmail() + "\n" +
+ "Phone: " + p.getPhone() + "\n" +
+ "Address: " + p.getAddress();
+
+ // Print Western List
+ System.out.println("\n===Western List===");
+ for (Person person:list1){
+ System.out.println(
+ person.printCustom(westernStyle)
+ );
+ }
+
+ // Print Eastern List
+ System.out.println("\n===Eastern List===");
+ for (Person person:list1){
+ System.out.println(
+ person.printCustom(easternStyle)
+ );
+ }
+
+
+ }
+}
diff --git a/src/main/java/org/java8/lambda3/NameTestOld.java b/src/main/java/org/java8/lambda3/NameTestOld.java
new file mode 100644
index 00000000..895baa47
--- /dev/null
+++ b/src/main/java/org/java8/lambda3/NameTestOld.java
@@ -0,0 +1,31 @@
+package org.java8.lambda3;
+
+import java.util.List;
+import java.util.function.Function;
+
+/**
+ * @author MikeW
+ */
+public class NameTestOld {
+
+ public static void main(String[] args) {
+
+ System.out.println("\n==== NameTestOld ===");
+
+ List list1 = Person.createShortList();
+
+ // Print Names Western
+ System.out.println("\n===Print Western Names===");
+ for (Person person:list1){
+ person.printWesternName();
+ }
+
+ // Print Names Eastern
+ System.out.println("\n===Print Eastern Names===");
+ for (Person person:list1){
+ person.printEasternName();
+ }
+
+ }
+
+}
diff --git a/src/main/java/org/java8/lambda3/Person.java b/src/main/java/org/java8/lambda3/Person.java
new file mode 100644
index 00000000..c3315b3b
--- /dev/null
+++ b/src/main/java/org/java8/lambda3/Person.java
@@ -0,0 +1,245 @@
+package org.java8.lambda3;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.function.Function;
+
+/**
+ * @author MikeW
+ */
+public class Person {
+ private String givenName;
+ private String surName;
+ private int age;
+ private Gender gender;
+ private String eMail;
+ private String phone;
+ private String address;
+
+ public static class Builder{
+
+ private String givenName="";
+ private String surName="";
+ private int age = 0;
+ private Gender gender = Gender.FEMALE;
+ private String eMail = "";
+ private String phone = "";
+ private String address = "";
+
+ public Person.Builder givenName(String givenName){
+ this.givenName = givenName;
+ return this;
+ }
+
+ public Person.Builder surName(String surName){
+ this.surName = surName;
+ return this;
+ }
+
+ public Person.Builder age (int val){
+ age = val;
+ return this;
+ }
+
+ public Person.Builder gender(Gender val){
+ gender = val;
+ return this;
+ }
+
+ public Person.Builder email(String val){
+ eMail = val;
+ return this;
+ }
+
+ public Person.Builder phoneNumber(String val){
+ phone = val;
+ return this;
+ }
+
+ public Person.Builder address(String val){
+ address = val;
+ return this;
+ }
+
+ public Person build(){
+ return new Person(this);
+ }
+ }
+
+ private Person(){
+ super();
+ }
+
+ private Person(Person.Builder builder){
+ givenName = builder.givenName;
+ surName = builder.surName;
+ age = builder.age;
+ gender = builder.gender;
+ eMail = builder.eMail;
+ phone = builder.phone;
+ address = builder.address;
+
+ }
+
+ public String getGivenName(){
+ return givenName;
+ }
+
+ public String getSurName(){
+ return surName;
+ }
+
+ public int getAge(){
+ return age;
+ }
+
+ public Gender getGender(){
+ return gender;
+ }
+
+ public String getEmail(){
+ return eMail;
+ }
+
+ public String getPhone(){
+ return phone;
+ }
+
+ public String getAddress(){
+ return address;
+ }
+
+ public void print(){
+ System.out.println(
+ "\nName: " + givenName + " " + surName + "\n" +
+ "Age: " + age + "\n" +
+ "Gender: " + gender + "\n" +
+ "eMail: " + eMail + "\n" +
+ "Phone: " + phone + "\n" +
+ "Address: " + address + "\n"
+ );
+ }
+
+ public String printCustom(Function f){
+ return f.apply(this);
+ }
+
+
+ public void printWesternName(){
+
+ System.out.println("\nName: " + this.getGivenName() + " " + this.getSurName() + "\n" +
+ "Age: " + this.getAge() + " " + "Gender: " + this.getGender() + "\n" +
+ "EMail: " + this.getEmail() + "\n" +
+ "Phone: " + this.getPhone() + "\n" +
+ "Address: " + this.getAddress());
+ }
+
+
+ public void printEasternName(){
+
+ System.out.println("\nName: " + this.getSurName() + " " + this.getGivenName() + "\n" +
+ "Age: " + this.getAge() + " " + "Gender: " + this.getGender() + "\n" +
+ "EMail: " + this.getEmail() + "\n" +
+ "Phone: " + this.getPhone() + "\n" +
+ "Address: " + this.getAddress());
+ }
+
+
+
+ @Override
+ public String toString(){
+ return "Name: " + givenName + " " + surName + "\n" + "Age: " + age + " Gender: " + gender + "\n" + "eMail: " + eMail + "\n";
+ }
+
+ public static List createShortList(){
+ List people = new ArrayList<>();
+
+ people.add(
+ new Person.Builder()
+ .givenName("Bob")
+ .surName("Baker")
+ .age(21)
+ .gender(Gender.MALE)
+ .email("bob.baker@example.com")
+ .phoneNumber("201-121-4678")
+ .address("44 4th St, Smallville, KS 12333")
+ .build()
+ );
+
+ people.add(
+ new Person.Builder()
+ .givenName("Jane")
+ .surName("Doe")
+ .age(25)
+ .gender(Gender.FEMALE)
+ .email("jane.doe@example.com")
+ .phoneNumber("202-123-4678")
+ .address("33 3rd St, Smallville, KS 12333")
+ .build()
+ );
+
+ people.add(
+ new Person.Builder()
+ .givenName("John")
+ .surName("Doe")
+ .age(25)
+ .gender(Gender.MALE)
+ .email("john.doe@example.com")
+ .phoneNumber("202-123-4678")
+ .address("33 3rd St, Smallville, KS 12333")
+ .build()
+ );
+
+ people.add(
+ new Person.Builder()
+ .givenName("James")
+ .surName("Johnson")
+ .age(45)
+ .gender(Gender.MALE)
+ .email("james.johnson@example.com")
+ .phoneNumber("333-456-1233")
+ .address("201 2nd St, New York, NY 12111")
+ .build()
+ );
+
+ people.add(
+ new Person.Builder()
+ .givenName("Joe")
+ .surName("Bailey")
+ .age(67)
+ .gender(Gender.MALE)
+ .email("joebob.bailey@example.com")
+ .phoneNumber("112-111-1111")
+ .address("111 1st St, Town, CA 11111")
+ .build()
+ );
+
+ people.add(
+ new Person.Builder()
+ .givenName("Phil")
+ .surName("Smith")
+ .age(55)
+ .gender(Gender.MALE)
+ .email("phil.smith@examp;e.com")
+ .phoneNumber("222-33-1234")
+ .address("22 2nd St, New Park, CO 222333")
+ .build()
+ );
+
+ people.add(
+ new Person.Builder()
+ .givenName("Betty")
+ .surName("Jones")
+ .age(85)
+ .gender(Gender.FEMALE)
+ .email("betty.jones@example.com")
+ .phoneNumber("211-33-1234")
+ .address("22 4th St, New Park, CO 222333")
+ .build()
+ );
+
+
+ return people;
+ }
+
+}
diff --git a/src/main/resources/nomes.txt b/src/main/resources/nomes.txt
new file mode 100644
index 00000000..6db29a52
--- /dev/null
+++ b/src/main/resources/nomes.txt
@@ -0,0 +1,423 @@
+Luciane Gonçalves
+Thainara Gonçalves Alexandre
+Juliana Borges Costa
+Jeanice Larissa Ricobom
+Roseli Justita Pimenta da Costa
+Glauciane Aparecida Christofoletti Braghin
+Taís Pereira da Silva
+Camila Claro Furtile da Silva
+Claudinei da Silva
+Martha Proença da Luz Cruz
+Elaine Aparecida de Souza
+Solange Moreno
+Lucimar Fernandes Silva
+Cristiane Borges de Araújo
+Ixulalu Waurá
+Edna Aparecida Ferreira
+Karine Aparecida da Silva Figueiredo
+Gilsineia Salviana Da Silva
+DARLENE SOARES LIMA
+GILDEMIRA MORAIS LIMA
+Maria Antoninha Svernini
+Maria Aparecida Jardim
+Elisabete Antunes Agripino
+Sueli Carneiro Bastos Teixeira
+Lucia dos Santos Oliveira
+Vanusa dos Santos Oliveira
+Maria do Socorro Alves de Lira
+ELEITE DOS SANTOS NEVES
+MARIA ELIZABETE SANTOS SILVA
+MARIA ODELICE DE LIMA MATOS
+Pamela Francine Pfiffer Baiochi
+Alexsandra Alves Correa
+Geovanna Correa de Amorim
+Maria Carolina de Souza Maia
+Ana Cristina de Souza Diniz
+Neiva Alfaia Correa
+Kellis Pires Oliveira
+Jane Alves Correa
+Vanuza Regina de Andrade
+Ilce Maria de Souza Pires
+Daiana Maria Campos Mar
+Eliana Maria Dias Silva
+Ana Célia de Lima da SIlva
+Francisca Fernandes da Silva
+Sirley Nascimento da Silva
+Marilete Ribeiro de Souza
+Henthimy Pereira da Silva
+Henrique Prestes Maciel
+Douglas Ribeiro Maciel
+Maria do Socorro Freire Laranjeira
+Maria de Fátima Andrade da Silva
+Renaldo Andrade da Silva
+Aldaniza Barbosa da Fonseca
+Aberlado Barbosa Correa Filho
+Camila Fonseca de Sousa
+Marta Ferreira da Silva
+Angelita Ferreira da SIlva
+Marlene do Rosario da Rosa Pereira
+Leila Maria Povoa Bossoni
+Fabiana Macieski
+Marcos Antonio Alves Pontes
+Sônia da Silva Vilacio
+Samela Lorena Vilácio Marteninghi
+Suelen Vilacio Pereira
+Maria de Nazaré Lima
+Jane Silva de Carvalho
+Maria do Carmo da Silva Bulcão
+Maria do Carmo Vieira do Nascimento
+Fabiane da Silva Vasconcelos
+Maria Lizabete Menezes de Freitas
+Tânia Pereira da Silva
+Lelinha Ferreira
+Isabel Pereira da Silva
+Maria de Fátima Tavares da Silva
+Zurma Silva dos Santos
+Anazilda Tavares da Silva
+Vanneska Karine Lins Brandão
+Sheila Magalhães Oliveira
+Gleidson Morais da Silva
+Fabiana de Lima Batista
+Márcia Pereira da Cunha Cruz
+Karina Corrêa Gondim Abreu
+Angela Mieko Mada Mendonça
+Josinês Machado
+Nelci Rosilene Aparecida Carolino Cesco
+Andréssia Carneiro da Silva
+Ana Rita de Almeida Silva de Lima
+Maria Nailza de Lima
+Patrícia de Almeida Silva
+Isabel Izidoro Cabral Gonçalves
+Valdir Cabral Gonçalves
+Jaredes Maria Izidoro Cardoso
+Dorival Cardoso
+Vanessa Izidoro Cardoso
+Maria Izidoro Alves
+Olivia de Mello Bruno
+Elis Regina Sicheirolli
+Hielina Machado de Oliveira
+Leonardo Gabriel Anverze
+GERONILDA SEMIÃO A. DA SILVA
+VANILDA DE LIMA SILVA
+DIANA LAURA DA S. FRANÇA
+AIRIS BATISTA DE LIMA
+SOCORRO BATISTA DE LIMA
+TAINA DE LIMA MATOS
+MARIA BATISTA DOS SANTOS
+LUZINETE M. DA SILVA
+MARIA ROSA B. DOS SANTOS
+LIA NEGREIROS CARDOSO
+LILIAN AVANIL CARDOSO DIAS
+NEUZETE ROSA DOS SANTOS
+MARIA SINEIDE B. DOS SANTOS
+MARIA APARECIDA DA CONCEIÇÃO
+RAYANE DOS SANTOS
+SUZIANE DA SILVA PINTO
+SIMONE BATISTA DOS SANTOS
+CHARLES FELIPE PINTO DE MORAES
+KATY BARBOSA DOS SANTOS
+RENILDA DO CARMO SILVA
+TAMYRES OLIVEIRA S. SANTOS
+EDNEIDE MARIA DOS SANTOS
+MARIA DAS DORES DA SILVA ROSA
+MARIA TERESINHA BARROS
+MARIA DAS GRAÇAS LIRA SANTOS
+MARIA GORETE BATISTA DA SILVA
+ROSIANE BARBOSA DUARTE
+MIRCO BORGA
+MARY LUCIA DA SILVA RIBEIRO
+MARIA DO SOCORRO MARINHO DA SILVA
+MARIA ALDEMIRA DOS SANTOS FROES
+FERNANDA VILA MARTIM
+ROSA HELENA SEABRA MESQUITA
+ROSANA NUNES AGUIAR
+MARIA AUXILIADORA GALDINO SOARES
+IEDA BRUNA OLIVEIRA SOUZA
+Maria da Conceição Morais dos Santos
+Elisabete Frois de Souza
+ROSIMEIRE DE ASSIS CORREA
+MARIA LUCIA DOS SANTOS
+IRENIA SALES MELO DE JESUS
+CLEMILDA MORAES DOS SANTOS
+EDNA DOS SANTOS DA SILVA
+LUCIENE DOS SANTOS
+ELMARA DA SILVA SANTOS
+JOANA CÂNDIDA DOS SANTOS
+Darlene R. dos Santos
+Edileuza S. dos santos
+Marcia S.Santana
+Manoel J.Santos
+Manoel R. Pereira
+Lucilene V.Nascimento
+Rosalia R.Santos
+Josilene R. Santos
+Maria J.P. Conceição
+Beatriz Fernanda Lucindo
+Beatriz Gomes Ferreira Salmente
+Railda dos Santos
+Maria vanda dos Santos
+Valdirene Fonseca
+Adrielia P. Costa
+Berlita A. Barbosa
+Valdelice S. Freitas
+Eronaldo F.Santos
+Nadiele S. Sousa
+Lindaci V. Dos Santos
+Jeane Freitas De Brito
+Valdemir da E. Santos
+FLÁVIA RODRIGUES
+LUCINALVA LIMA DO NASCIMENTO
+SIMONE LOURENÇO DE OLIVEIRA
+MARIA HELENA GUERRA
+Guicelma Maria Trindade de Oliveira
+Rafaela Cristina Galoti da Costa Augusto
+Silvio Reginaldo Augusto Junior
+Ana Paula Franco Galoti
+Midiã Cristine Ventura dos Santos,
+Alessandro Francisco dos Santos,
+Margareth Rosa de Jesus Luiz
+Maria Rosa da Silva,
+Suelen Santos de Lima
+Abmael Joaquim dos Santos
+AVANI SALES DE SOUZA
+MARIA PATRICIA FELICIANO DE FRANÇA
+MARIA DE FÁTIMA MOTA BARBOSA
+IVANILDE AVELINO ALVES
+ADRIANA PEREIRA SALES
+MARIA EDIVANIA DA SILVA
+MARIA GORETTE LEITE GUIMARÃES
+MARIA JOSÉ PEREIRA
+ANA CRISTIANA BARBOSA FERREIRA
+SEBASTIANA DA SILVA SOUSA
+WILMA ROSEMERE NASCIMENTO NUNES
+IRENILDI AVELINO DE LIMA
+Silvana Rodrigues da Silva
+Adriana Batista de Souza
+Simone Pereira dos Santos
+Rosane Rodrigues Ferreira
+Jaqueline Pereira dos Santos
+Jaina Kelly Alves de Andrade
+Iraci de Oliveira Lima
+Taciana Melo de Sousa
+Silvanete Silva
+Charlene de Carvalho Silva
+Ivanete de Moura
+Maria Salete Maia de Oliveira
+Eliene Maia de Oliveira
+Maria Suely da Cruz Silva
+Raimunda Karoline de Lima Pessoa
+Raimunda Lucia Pessoa de Lima
+Maria Selma dos Santos Lima
+Maria Salete Pontes de Lima Neta
+Maria da Silva Santos
+Diana Paula da Silva Santos
+Maria Barbosa de Carvalho
+Antonio Francisco de Oliveira Rocha
+Francisco dos Santos Mendes
+José Sérgio da Silva Ribeiro
+Eliane Vieira Nunes
+Naiane Souza de Oliveira
+Zildene do Carmo Nogueira
+Zildilene do Carmo Nogueira
+Andrea Maria da Silva Pessoa
+Antonia Maria da Conceição
+Keila Silva dos Santos
+Maria do Desterro Barbosa de Morais
+Maria Rozimeire de Souza
+Maria Marcelia Pereira
+Maria Zilma do Nascimento Dias
+Paula Soledad Tolmo Escobar
+Nair Silva dos Santos
+SIMARA SAMPAIO LHOTA
+ZULMIRA FERREIRA SAMPAIO
+ELIETE MADURO DA CUNHA
+JUCIMAR MESQUITA
+CLEIDESMAR RIBEIRO GAMA
+MARIA IVONE DA SILVA DANTAS
+CATARINA DA SILVA SAMPAIO
+MARIA DO SOCORRO DE SOUZA GONÇALVES
+MARCIA TEIXEIRA DE LIMA
+Neurilene Cruz da Silva
+Raimunda Rodrigues Marques
+Luziania Cruz Barbosa
+Tatiane Pereira da Costa
+Cleociana Figueira da Silva
+Maria Lindalva da Silva Marcião
+Maria da Conceição da SIlva Araujo
+Raiza Araujo de Melo
+Maria Francisca Pedrosa dos Anjos
+Carlos da Silva Filho
+Cristiane Vieria Brandão
+Maria das Graças Vale de Sousa
+Sonia M. G. Teixeira
+Dionisia N. P. Nascimento
+Maria C. S. Sousa
+Airaquelita M. Barata
+Pedrinha S. Silva
+Maria S. S. Silva
+Suely C. S. Silva
+Daniele C. Vale
+ Maria I. Vale
+Maria C. N. Silva
+Ana Maria dos Santos Valente
+Eliete Sanches Marques
+Elisélia Sanches Marques
+Elizeth Marques de Souza
+Eziethe Sanches Marques
+Lisomar Ferreira da Cruz
+Luzia Gonçalves Moraes
+Mailze Benassuly de Freitas
+Maria Eliana Magno
+Maria de Jesus Ferreira Valente
+Marilene da Silva Lopes
+Silvia Marques de Sousa
+Salete da Fátima Moreno
+Mirian Gums Hardt
+Francisca Claudia Libardi
+Cleide maria da SIlva
+Cleide Marli da Silva
+Cleomair Zonta
+Ciria da Silva Santos
+Camila dos Santos de Jesus
+Celinalva Maria dos Santos Silva
+Ana Kelly dos Santos Silva
+Vanuzia dos Santos Silva
+Matilde Maria dos Santos
+Jailton Santos de Jesus
+Natalia da Silva Lima
+Jose Emiliano dos Santos
+Erinilde Mrinho de Souza
+Emiliano José dos Santos
+Joziel Borges dos Santos
+Paula Sousa Pinto de Oliveira
+Natalia Sousa Pinto Bastos
+Ana Lucia Romualdo
+Cristiane Fernandes Correia
+Sandra Regina Petrusinas
+Adriana Lima Batista
+Amanda Kelly da Silva
+Kelly Christina Cardoso da Silva
+Carla de Carvalho Silva Fernandes
+Ilma Mendes de Oliveira
+Lídia Marques da Silva
+Alessandra Marques Possebon
+Maria Valdenice Pires de Morais
+Andreza Alves de Morais
+Stephanie Heloisa Alves Santana
+Maria Valdeci de Morais
+Flávia Alves de Morais
+Jhuli Cristine Alves da Saliva
+Fernanda Gomes Feitosa Prado
+Vanessa de Azevedo Vaz
+Amanda Cristina Gomes Prado
+SANDRA SOARES DE CASTRO
+MICHELE CRISTINA BORTOLOTTI
+KATIA VIERA DE FREITAS RODOLPHO
+SONIA GONÇALVES CLARO DOS SANTOS
+Anerides Batista de Sousa
+Maria da Guia Oliveira de Carvalho
+Olga Maria de Carvalho Barbosa
+Luciana Oliveira de Carvalho
+Maria da Guia da Silva Trindade
+Maria José da Costa de Lima
+Lúcia Valéria de Carvalho
+Josélia Ferreira da Silva
+Maria das Graças Fernandes da Silva
+IVANA CANOVAS
+MARIA EDJANE DA SILVA OLIVEIRA
+Silvia Maria Rocha
+Makalu Waurá
+Makalu Waurá
+Puhama Waurá
+Wokepe Waurá
+Wataho Waurá
+Regina Waurá
+Waru Waurá
+Yanapuku Waurá
+Apulta Waurá
+Yatamalu Waurá
+Yaminalu Alapokumalu Waurá
+Mauka Waurá
+Ayuwelu Waurá
+Tsirihin Alini Waurá
+Yumuitxumalu Waurá
+Kayu Alice Waurá Kamayura
+VERONICA SENA DE FRANÇA
+Luciana Maria da Silva
+DANIELE DA SILVA ALMEIDA
+Yalupa Waurá
+Sesuaka Waurá
+Tainara Waurá
+Ulupato Waurá
+Kamayulalu Pulun Waurá
+Mapulu Waurá
+Ulussan Waurá
+Atanumalu Waurá
+Yamanua Waurá
+Tsutsu Katalakato Waurá
+Kuiai Waurá
+Apaipuwalu Waurá
+Autuyawalu Waurá
+Maitsa Yanine Waurá
+Denise de Souza Nascimento
+Josefa Feliz de Souza Nascimento
+Marilene Ferreira da Silva
+Maria do Carmo de Souza
+Raquel Peres Brum
+Eneida Souza da Silva
+Carmen Rosane Garcia Lafuente
+Juliana Azambuja
+Adriana Aparecida Rocha Corrêa
+Márcia Reis dos Santos
+Lúcia Batista da Silva Santos
+MARIA DE FÁTIMA MACEDO NASCIMENTO
+ADORÍVIA TAVARES DE OLIVEIRA
+Alapo Okanutapatai Waurá
+Fernanda P. de Araújo
+Yaminalu Alapokumalu Waurá
+Atapuwalu Waurá
+Takailu Waurá
+Kuripawaka Waurá
+Yamulu Waurá
+Katsiparu Waurá
+Unu Waurá
+Walakuwitsu Waurá
+Kayahulalu Waurá
+Kutalu Waurá
+Ukupiru Waurá
+Mapalu Waurá
+Rozania Maria Oliveira Coutinho
+ANA CLÁUDIA VIEIRA DOS SANTOS
+Lucia das Graças Candido da Silva Jesus
+Emilce Viana do Nascimento
+Cristiane Barreto Rodrigues
+Ana Neri da Penha Oliveira
+Raquel Barreto Rodrigues
+Carla Roberta Manhaes Bueno
+Jornete da Silva Ribeiro
+Michele Robeiro Nunes
+Janusa Nunes Monteiro
+Maria Paula Ribeiro dos Santos
+Raimunda Freira Santana
+Cleuza Aleixo Malves
+Geralda Aparecida Pereira Rosa
+Marlene Maria Mol
+Rosa Maria do Carmo Santos
+Jessica Stefanny M Rocha Silva
+Ariane Fernanda Schulz
+Marici Aparecida Batista dos Santos
+Marina Gardiano da Silva
+Diamantina Cruz
+Sebastiana Vagem Dinis
+Brunilde dos Santos Silva
+Alequissandra Gomes Xavier
+Alessandra Gomes Xavier
+Mikaele Oliveira Vieira
+Raynete Dias da Dilva
+Patrícia Trentini
+Ana Paula Ferreira Lima Oliveira
+Roseli Dora Arndt
+Franceli Graziela Mariano Jesus
+Denis teste
+daniele cavichio
+dsfasdfasdf
\ No newline at end of file