@Test
public void testBean2Bean() {
/**
* Internal class used in the back-end. This could be your @Entity class
*
* @author TURRETA.COM
*
*/
class PersonInternal {
public PersonInternal(String name) {
super();
this.name = name;
}
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "PersonInternal [name=" + name + "]";
}
}
/**
* External class used in the front-end. This could be whose instance you convert to JSON
*
* @author TURRETA.COM
*
*/
class PersonExternalAPI {
private String personName;
public PersonExternalAPI(String personName) {
super();
this.personName = personName;
}
public String getPersonName() {
return personName;
}
public void setPersonName(String personName) {
this.personName = personName;
}
@Override
public String toString() {
return "PersonExternalAPI [personName=" + personName + "]";
}
}
List<PersonExternalAPI> collected = Stream.of(new PersonInternal("Steve"), new PersonInternal("Owen")).map(pi -> {
return new PersonExternalAPI(pi.getName());
}).collect(Collectors.toList());
collected.forEach(System.out::println);
}