java docs added
This commit is contained in:
@ -22,10 +22,6 @@
|
||||
*/
|
||||
package com.iluwatar.converter;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
public class App {
|
||||
/**
|
||||
* Program entry point
|
||||
@ -34,10 +30,10 @@ public class App {
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
Converter<UserDto, User> userConverter = new Converter<>(
|
||||
userDto -> new User(userDto.getName(), userDto.getSurname(), userDto.isActive()),
|
||||
user -> new UserDto(user.getName(), user.getSurname(), user.isActive()));
|
||||
userDto -> new User(userDto.getFirstName(), userDto.getLastName(), userDto.isActive()),
|
||||
user -> new UserDto(user.getFirstName(), user.getLastName(), user.isActive()));
|
||||
UserDto dtoUser = new UserDto("John", "Doe", true);
|
||||
User user = userConverter.convertFromDTO(dtoUser);
|
||||
User user = userConverter.convertFromDto(dtoUser);
|
||||
UserDto dtoUserCopy = userConverter.convertFromEntity(user);
|
||||
|
||||
}
|
||||
|
@ -29,55 +29,52 @@ import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @param <T>
|
||||
* @param <U>
|
||||
* @param <T> DTO representation's type
|
||||
* @param <U> Domain representation's type
|
||||
*/
|
||||
public class Converter<T, U> {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private final Function<T, U> fromDTO;
|
||||
/**
|
||||
*
|
||||
*/
|
||||
|
||||
private final Function<T, U> fromDto;
|
||||
private final Function<U, T> fromEntity;
|
||||
|
||||
/**
|
||||
* @param fromDTO
|
||||
* @param fromEntity
|
||||
* @param fromDto Function that converts given dto entity into the domain entity.
|
||||
* @param fromEntity Function that converts given domain entity into the dto entity.
|
||||
*/
|
||||
public Converter(final Function<T, U> fromDTO, final Function<U, T> fromEntity) {
|
||||
this.fromDTO = fromDTO;
|
||||
public Converter(final Function<T, U> fromDto, final Function<U, T> fromEntity) {
|
||||
this.fromDto = fromDto;
|
||||
this.fromEntity = fromEntity;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param arg
|
||||
* @return
|
||||
* @param arg DTO entity
|
||||
* @return The domain representation - the result of the converting function application on dto entity.
|
||||
*/
|
||||
public U convertFromDTO(final T arg) {
|
||||
return fromDTO.apply(arg);
|
||||
public U convertFromDto(final T arg) {
|
||||
return fromDto.apply(arg);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param arg
|
||||
* @return
|
||||
* @param arg domain entity
|
||||
* @return The DTO representation - the result of the converting function application on domain entity.
|
||||
*/
|
||||
public T convertFromEntity(final U arg) {
|
||||
return fromEntity.apply(arg);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param arg
|
||||
* @return
|
||||
* @param arg collection of DTO entities
|
||||
* @return List of domain representation of provided entities retrieved by
|
||||
* mapping each of them with the convertion function
|
||||
*/
|
||||
public List<U> createFromDTOs(final Collection<T> arg) {
|
||||
return arg.stream().map(this::convertFromDTO).collect(Collectors.toList());
|
||||
public List<U> createFromDtos(final Collection<T> arg) {
|
||||
return arg.stream().map(this::convertFromDto).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
/**
|
||||
* @param arg
|
||||
* @return
|
||||
* @param arg collection of domain entities
|
||||
* @return List of domain representation of provided entities retrieved by
|
||||
* mapping each of them with the convertion function
|
||||
*/
|
||||
public List<T> createFromEntities(final Collection<U> arg) {
|
||||
return arg.stream().map(this::convertFromEntity).collect(Collectors.toList());
|
||||
|
@ -23,40 +23,37 @@
|
||||
|
||||
package com.iluwatar.converter;
|
||||
|
||||
/**
|
||||
* Created by crossy on 2017-03-10.
|
||||
*/
|
||||
public class User {
|
||||
private String name;
|
||||
private String surname;
|
||||
private String firstName;
|
||||
private String lastName;
|
||||
private boolean isActive;
|
||||
|
||||
/**
|
||||
*
|
||||
* @param name
|
||||
* @param surname
|
||||
* @param isActive
|
||||
* @param firstName user's first name
|
||||
* @param lastName user's last name
|
||||
* @param isActive flag indicating whether the user is active
|
||||
*/
|
||||
public User(String name, String surname, boolean isActive) {
|
||||
this.name = name;
|
||||
this.surname = surname;
|
||||
public User(String firstName, String lastName, boolean isActive) {
|
||||
this.firstName = firstName;
|
||||
this.lastName = lastName;
|
||||
this.isActive = isActive;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
public String getFirstName() {
|
||||
return firstName;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
public void setFirstName(String firstName) {
|
||||
this.firstName = firstName;
|
||||
}
|
||||
|
||||
public String getSurname() {
|
||||
return surname;
|
||||
public String getLastName() {
|
||||
return lastName;
|
||||
}
|
||||
|
||||
public void setSurname(String surname) {
|
||||
this.surname = surname;
|
||||
public void setLastName(String lastName) {
|
||||
this.lastName = lastName;
|
||||
}
|
||||
|
||||
public boolean isActive() {
|
||||
|
@ -23,40 +23,38 @@
|
||||
|
||||
package com.iluwatar.converter;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
|
||||
public class UserDto {
|
||||
private String name;
|
||||
private String surname;
|
||||
private String firstName;
|
||||
private String lastName;
|
||||
private boolean isActive;
|
||||
|
||||
/**
|
||||
*
|
||||
* @param name
|
||||
* @param surname
|
||||
* @param isActive
|
||||
* @param firstName user's first name
|
||||
* @param lastName user's last name
|
||||
* @param isActive flag indicating whether the user is active
|
||||
*/
|
||||
public UserDto(String name, String surname, boolean isActive) {
|
||||
this.name = name;
|
||||
this.surname = surname;
|
||||
public UserDto(String firstName, String lastName, boolean isActive) {
|
||||
this.firstName = firstName;
|
||||
this.lastName = lastName;
|
||||
this.isActive = isActive;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
public String getFirstName() {
|
||||
return firstName;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
public void setFirstName(String firstName) {
|
||||
this.firstName = firstName;
|
||||
}
|
||||
|
||||
public String getSurname() {
|
||||
return surname;
|
||||
public String getLastName() {
|
||||
return lastName;
|
||||
}
|
||||
|
||||
public void setSurname(String surname) {
|
||||
this.surname = surname;
|
||||
public void setLastName(String lastName) {
|
||||
this.lastName = lastName;
|
||||
}
|
||||
|
||||
public boolean isActive() {
|
||||
|
Reference in New Issue
Block a user