package vn.azteam.tpf.service.dto;

import java.io.Serializable;
import java.time.Instant;
import java.util.List;
import java.util.Objects;

/**
 * A DTO for the TBActivityType entity.
 */
public class DynamicActivityTypeDTO implements Serializable {

    private Long tbActivityTypeId;

    private String tbActivityTypeName;

    private String tbActivityTypeDescription;

    private List<DynamicActivityTypeChildDTO> tbObjectParameterList;

    private List<TBActivityExtendTypeDTO> formChildList;

    public Long getTbActivityTypeId() {
        return tbActivityTypeId;
    }

    public void setTbActivityTypeId(Long tbActivityTypeId) {
        this.tbActivityTypeId = tbActivityTypeId;
    }

    public List<DynamicActivityTypeChildDTO> getTbObjectParameterList() {
        return tbObjectParameterList;
    }

    public void setTbObjectParameterList(List<DynamicActivityTypeChildDTO> tbObjectParameterList) {
        this.tbObjectParameterList = tbObjectParameterList;
    }

    public List<TBActivityExtendTypeDTO> getFormChildList() {
        return formChildList;
    }

    public void setFormChildList(List<TBActivityExtendTypeDTO> formChildList) {
        this.formChildList = formChildList;
    }

    public String getTbActivityTypeName() {
        return tbActivityTypeName;
    }

    public void setTbActivityTypeName(String tbActivityTypeName) {
        this.tbActivityTypeName = tbActivityTypeName;
    }

    public String getTbActivityTypeDescription() {
        return tbActivityTypeDescription;
    }

    public void setTbActivityTypeDescription(String tbActivityTypeDescription) {
        this.tbActivityTypeDescription = tbActivityTypeDescription;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        DynamicActivityTypeDTO that = (DynamicActivityTypeDTO) o;
        return Objects.equals(getTbActivityTypeId(), that.getTbActivityTypeId()) &&
            Objects.equals(getTbObjectParameterList(), that.getTbObjectParameterList()) &&
            Objects.equals(getFormChildList(), that.getFormChildList());
    }

    @Override
    public int hashCode() {
        return Objects.hash(getTbActivityTypeId(), getTbObjectParameterList(), getFormChildList());
    }

    @Override
    public String toString() {
        return "DynamicActivityTypeDTO{" +
            "tbActivityTypeId=" + tbActivityTypeId +
            ", tbObjectParameterList=" + tbObjectParameterList +
            ", formChildList=" + formChildList +
            '}';
    }
}
