java docs added

This commit is contained in:
Kamil Pietruszka
2017-03-10 20:59:24 +01:00
parent 8871f788d2
commit e8b634c33e
4 changed files with 58 additions and 70 deletions

View File

@ -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);
}

View File

@ -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());

View File

@ -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() {

View File

@ -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() {