package kr.co.hanwha.hifive.adapter.model;

import kr.co.hanwha.hifive.enums.ViewHolderSearchType;

/**
 * Created by aaron on 23/10/2018
 */
public class SearchListViewHolderData {

    private int memberId;
    private String loginId;
    private String memberName;
    private String company;
    private String department;
    private String rankTitle;
    private String phoneMobile;
    private int taskId;
    private String description;
    private String dueTo;
    private int status;
    private int evaluation;
    private int achievement;
    private String finishedAt;
    private String closedAt;
    private int authorMemberId;
    private String authorName;
    private int trackId;
    private String trackName;
    private int projectId;
    private String projectName;
    private int roleCode;
    private String roleName;
    private ViewHolderSearchType type;
    private int intValue;
    private String serverTime;
    private boolean isLast;
    private boolean isFirst;

    private SearchListViewHolderData() {}

    public int getMemberId() {
        return memberId;
    }

    private void setMemberId(int memberId) {
        this.memberId = memberId;
    }

    public String getLoginId() {
        return loginId;
    }

    private void setLoginId(String loginId) {
        this.loginId = loginId;
    }

    public String getMemberName() {
        return memberName;
    }

    private void setMemberName(String memberName) {
        this.memberName = memberName;
    }

    public String getCompany() {
        return company;
    }

    private void setCompany(String company) {
        this.company = company;
    }

    public String getDepartment() {
        return department;
    }

    private void setDepartment(String department) {
        this.department = department;
    }

    public String getRankTitle() {
        return rankTitle;
    }

    private void setRankTitle(String rankTitle) {
        this.rankTitle = rankTitle;
    }

    public String getPhoneMobile() {
        return phoneMobile;
    }

    private void setPhoneMobile(String phoneMobile) {
        this.phoneMobile = phoneMobile;
    }

    public int getTaskId() {
        return taskId;
    }

    private void setTaskId(int taskId) {
        this.taskId = taskId;
    }

    public String getDescription() {
        return description;
    }

    private void setDescription(String description) {
        this.description = description;
    }

    public String getDueTo() {
        return dueTo;
    }

    private void setDueTo(String dueTo) {
        this.dueTo = dueTo;
    }

    public int getAuthorMemberId() {
        return authorMemberId;
    }

    private void setAuthorMemberId(int authorMemberId) {
        this.authorMemberId = authorMemberId;
    }

    public String getAuthorName() {
        return authorName;
    }

    private void setAuthorName(String authorName) {
        this.authorName = authorName;
    }

    public int getTrackId() {
        return trackId;
    }

    private void setTrackId(int trackId) {
        this.trackId = trackId;
    }

    public String getTrackName() {
        return trackName;
    }

    private void setTrackName(String trackName) {
        this.trackName = trackName;
    }

    public int getProjectId() {
        return projectId;
    }

    private void setProjectId(int projectId) {
        this.projectId = projectId;
    }

    public String getProjectName() {
        return projectName;
    }

    private void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public int getRoleCode() {
        return roleCode;
    }

    private void setRoleCode(int roleCode) {
        this.roleCode = roleCode;
    }

    public String getRoleName() {
        return roleName;
    }

    private void setRoleName(String roleName) {
        this.roleName = roleName;
    }

    public ViewHolderSearchType getType() {
        return type;
    }

    private void setType(ViewHolderSearchType type) {
        this.type = type;
    }

    public int getIntValue() {
        return intValue;
    }

    private void setIntValue(int intValue) {
        this.intValue = intValue;
    }

    public int getStatus() {
        return status;
    }

    private void setStatus(int status) {
        this.status = status;
    }

    public int getEvaluation() {
        return evaluation;
    }

    private void setEvaluation(int evaluation) {
        this.evaluation = evaluation;
    }

    public int getAchievement() {
        return achievement;
    }

    public void setAchievement(int achievement) {
        this.achievement = achievement;
    }

    public String getFinishedAt() {
        return finishedAt;
    }

    private void setFinishedAt(String finishedAt) {
        this.finishedAt = finishedAt;
    }

    public String getClosedAt() {
        return closedAt;
    }

    private void setClosedAt(String closedAt) {
        this.closedAt = closedAt;
    }

    public String getServerTime() {
        return serverTime;
    }

    private void setServerTime(String serverTime) {
        this.serverTime = serverTime;
    }

    public boolean isLast() {
        return isLast;
    }

    public void setLast(boolean last) {
        isLast = last;
    }

    public boolean isFirst() {
        return isFirst;
    }

    public void setFirst(boolean first) {
        isFirst = first;
    }

    public static class Builder {

        private SearchListViewHolderData mSearchListViewHolderData;

        private Builder() {}

        public Builder(ViewHolderSearchType type) {
            mSearchListViewHolderData = new SearchListViewHolderData();
            mSearchListViewHolderData.setType(type);
        }

        public SearchListViewHolderData.Builder setMemberId(int memberId) {
            this.mSearchListViewHolderData.setMemberId(memberId);
            return this;
        }

        public SearchListViewHolderData.Builder setLoginId(String loginId) {
            this.mSearchListViewHolderData.setLoginId(loginId);
            return this;
        }

        public SearchListViewHolderData.Builder setMemberName(String memberName) {
            this.mSearchListViewHolderData.setMemberName(memberName);
            return this;
        }

        public SearchListViewHolderData.Builder setCompany(String company) {
            this.mSearchListViewHolderData.setCompany(company);
            return this;
        }

        public SearchListViewHolderData.Builder setDepartment(String department) {
            this.mSearchListViewHolderData.setDepartment(department);
            return this;
        }

        public SearchListViewHolderData.Builder setRankTitle(String rankTitle) {
            this.mSearchListViewHolderData.setRankTitle(rankTitle);
            return this;
        }

        public SearchListViewHolderData.Builder setPhoneMobile(String phoneMobile) {
            this.mSearchListViewHolderData.setPhoneMobile(phoneMobile);
            return this;
        }

        public SearchListViewHolderData.Builder setTaskId(int taskId) {
            this.mSearchListViewHolderData.setTaskId(taskId);
            return this;
        }

        public SearchListViewHolderData.Builder setDescription(String description) {
            this.mSearchListViewHolderData.setDescription(description);
            return this;
        }

        public SearchListViewHolderData.Builder setDueTo(String dueTo) {
            this.mSearchListViewHolderData.setDueTo(dueTo);
            return this;
        }

        public SearchListViewHolderData.Builder setStatus(int status) {
            this.mSearchListViewHolderData.setStatus(status);
            return this;
        }

        public SearchListViewHolderData.Builder setEvaluation(int evaluation) {
            this.mSearchListViewHolderData.setEvaluation(evaluation);
            return this;
        }

        public SearchListViewHolderData.Builder setAchievement(int achievement) {
            this.mSearchListViewHolderData.setAchievement(achievement);
            return this;
        }

        public SearchListViewHolderData.Builder setFinishedAt(String finishedAt) {
            this.mSearchListViewHolderData.setFinishedAt(finishedAt);
            return this;
        }

        public SearchListViewHolderData.Builder setClosedAt(String closedAt) {
            this.mSearchListViewHolderData.setClosedAt(closedAt);
            return this;
        }

        public SearchListViewHolderData.Builder setAuthorMemberId(int authorMemberId) {
            this.mSearchListViewHolderData.setAuthorMemberId(authorMemberId);
            return this;
        }

        public SearchListViewHolderData.Builder setAuthorName(String authorName) {
            this.mSearchListViewHolderData.setAuthorName(authorName);
            return this;
        }

        public SearchListViewHolderData.Builder setTrackId(int trackId) {
            this.mSearchListViewHolderData.setTrackId(trackId);
            return this;
        }

        public SearchListViewHolderData.Builder setTrackName(String trackName) {
            this.mSearchListViewHolderData.setTrackName(trackName);
            return this;
        }

        public SearchListViewHolderData.Builder setProjectId(int projectId) {
            this.mSearchListViewHolderData.setProjectId(projectId);
            return this;
        }

        public SearchListViewHolderData.Builder setProjectName(String projectName) {
            this.mSearchListViewHolderData.setProjectName(projectName);
            return this;
        }

        public SearchListViewHolderData.Builder setRoleCode(int roleCode) {
            this.mSearchListViewHolderData.setRoleCode(roleCode);
            return this;
        }

        public SearchListViewHolderData.Builder setRoleName(String roleName) {
            this.mSearchListViewHolderData.setRoleName(roleName);
            return this;
        }

        public SearchListViewHolderData.Builder setIntValue(int intValue) {
            this.mSearchListViewHolderData.setIntValue(intValue);
            return this;
        }

        public SearchListViewHolderData.Builder setServerTime(String serverTime) {
            this.mSearchListViewHolderData.setServerTime(serverTime);
            return this;
        }

        public SearchListViewHolderData.Builder setLast(boolean last) {
            this.mSearchListViewHolderData.setLast(last);
            return this;
        }

        public SearchListViewHolderData.Builder setFirst(boolean first) {
            this.mSearchListViewHolderData.setFirst(first);
            return this;
        }

        public SearchListViewHolderData build() {
            return mSearchListViewHolderData;
        }
    }
}
