gr.abiss.calipso.model.dto.UserDTO.java Source code

Java tutorial

Introduction

Here is the source code for gr.abiss.calipso.model.dto.UserDTO.java

Source

/**
 * calipso-hub-framework - A full stack, high level framework for lazy application hackers.
 * Copyright  2005 Manos Batsis (manosbatsis gmail)
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
package gr.abiss.calipso.model.dto;

import java.io.Serializable;

import javax.persistence.Column;

import org.apache.commons.lang3.builder.ToStringBuilder;

import gr.abiss.calipso.model.User;
import gr.abiss.calipso.model.User.Builder;
import io.swagger.annotations.ApiModel;

@ApiModel(value = "UserDTO", description = "UserDTO is a lightweight DTO version of User")
public class UserDTO implements Serializable {

    public static UserDTO fromUser(User user) {
        return new UserDTO(user.getId(), user.getFirstName(), user.getLastName(), user.getUsername(),
                user.getEmail(), user.getEmailHash(), user.getAvatarUrl());
    }

    private String id;

    private String firstName;

    private String lastName;

    private String username;

    private String email;

    private String emailHash;

    private String avatarUrl;

    public UserDTO() {
    }

    public UserDTO(String id, String firstName, String lastName, String username, String email, String emailHash,
            String avatarUrl) {
        super();
        this.id = id;
        this.firstName = firstName;
        this.lastName = lastName;
        this.username = username;
        this.email = email;
        this.emailHash = emailHash;
        this.avatarUrl = avatarUrl;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this).appendSuper(super.toString()).append("id", this.getUsername())
                .append("firstName", this.getUsername()).append("lastName", this.getUsername())
                .append("username", this.getUsername()).append("email", this.getUsername())
                .append("emailHash", this.getEmail()).append("avatarUrl", this.getAvatarUrl()).toString();
    }

    public User toUser() {
        return new User.Builder().id(this.id).firstName(this.firstName).lastName(this.lastName)
                .username(this.username).email(this.email).emailHash(this.emailHash).avatarUrl(this.avatarUrl)
                .build();
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getEmailHash() {
        return emailHash;
    }

    public void setEmailHash(String emailHash) {
        this.emailHash = emailHash;
    }

    public String getAvatarUrl() {
        return avatarUrl;
    }

    public void setAvatarUrl(String avatarUrl) {
        this.avatarUrl = avatarUrl;
    }

    public static class Builder {
        private String id;
        private String firstName;
        private String lastName;
        private String username;
        private String email;
        private String emailHash;
        private String avatarUrl;

        public Builder id(String id) {
            this.id = id;
            return this;
        }

        public Builder firstName(String firstName) {
            this.firstName = firstName;
            return this;
        }

        public Builder lastName(String lastName) {
            this.lastName = lastName;
            return this;
        }

        public Builder username(String username) {
            this.username = username;
            return this;
        }

        public Builder email(String email) {
            this.email = email;
            return this;
        }

        public Builder emailHash(String emailHash) {
            this.emailHash = emailHash;
            return this;
        }

        public Builder avatarUrl(String avatarUrl) {
            this.avatarUrl = avatarUrl;
            return this;
        }

        public UserDTO build() {
            return new UserDTO(this);
        }
    }

    private UserDTO(Builder builder) {
        this.id = builder.id;
        this.firstName = builder.firstName;
        this.lastName = builder.lastName;
        this.username = builder.username;
        this.email = builder.email;
        this.emailHash = builder.emailHash;
        this.avatarUrl = builder.avatarUrl;
    }
}